diff --git a/_src/admin/js/admin.js b/_src/admin/js/admin.js index ac7947e..59c87ab 100644 --- a/_src/admin/js/admin.js +++ b/_src/admin/js/admin.js @@ -85,7 +85,12 @@ APP.initPlugins = function() { $.datepicker.setDefaults($.datepicker.regional['ko']); - $('[data-toggle="datepicker"]').datepicker(); + $('[data-toggle="datepicker"]').each(function(){ + $(this).formatter({ + pattern : '{{9999}}-{{99}}-{{99}}', + persistent:true + }).datepicker(); + }); $("body").on("click", '[data-toggle="datepicker"]', function(){ if (!$(this).hasClass("hasDatepicker")) @@ -95,7 +100,6 @@ APP.initPlugins = function() { } }); - /* $('[data-toggle="formatter"]').each(function(){ if( $(this).data('pattern') ) { @@ -106,6 +110,7 @@ APP.initPlugins = function() { } }); + /* $.datetimepicker.setLocale('kr'); $('[data-toggle="datetimepicker"]').datetimepicker({ format:'Y-m-d H:i' diff --git a/_src/admin/scss/components/_form.scss b/_src/admin/scss/components/_form.scss index 853f902..ecc0ac8 100644 --- a/_src/admin/scss/components/_form.scss +++ b/_src/admin/scss/components/_form.scss @@ -9,7 +9,7 @@ color: #495057; background-color: #fff; background-clip: padding-box; - border: 1px solid #ced4da; + border: 1px solid #dcdcdc; border-radius: $input-btn-border-radius; box-shadow:none; @include transition(); @@ -61,6 +61,17 @@ } select.form-control { + background-image:url(../images/admin/frm-select-arrow.png); + background-position: 95% center; + background-repeat: no-repeat; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + + &::-ms-expand { + display:none; + } + &:focus::-ms-value { color: #495057; background-color: #fff; diff --git a/public_html/assets/css/admin.min.css b/public_html/assets/css/admin.min.css index ae30953..0e5e81c 100644 --- a/public_html/assets/css/admin.min.css +++ b/public_html/assets/css/admin.min.css @@ -1,2 +1,2 @@ -@charset "UTF-8";.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,.506);background:#fff;border-bottom:1px solid #bbb;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:8px;padding-left:0;padding-top:2px;position:absolute;z-index:9999;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.xdsoft_datetimepicker.xdsoft_rtl{padding:8px 0 8px 8px}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:0 0;border:none}.xdsoft_datetimepicker button{border:none!important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:0 0}.xdsoft_noselect::-moz-selection{background:0 0}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_monthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0 none;cursor:pointer;display:block;height:30px;opacity:.5;outline:medium none;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px;min-width:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev{float:none;margin-left:0;margin-right:14px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #ddd}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover,.xdsoft_datetimepicker .xdsoft_today_button:hover{opacity:1}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none!important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar th{height:25px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.2857142%;background:#f5f5f5;border:1px solid #ddd;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#f1f1f1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3af}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;cursor:default}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff!important;background:#ff8000!important;box-shadow:none!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover{background:#3af!important;box-shadow:#178fe5 0 1px 3px 0 inset!important;color:#fff!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit!important;background:inherit!important;box-shadow:inherit!important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc!important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee!important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa!important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc!important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar{left:0;right:auto}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000!important;background:#007fff!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555!important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333!important}.xdsoft_datetimepicker .xdsoft_save_selected{display:block;border:1px solid #ddd!important;margin-top:5px;width:100%;color:#454551;font-size:13px}.xdsoft_datetimepicker .blue-gradient-button{font-family:museo-sans,"Book Antiqua",sans-serif;font-size:12px;font-weight:300;color:#82878c;height:28px;position:relative;padding:4px 17px 4px 33px;border:1px solid #d7d8da;background:-moz-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(73%,#f4f8fa));background:-webkit-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-o-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-ms-linear-gradient(top,#fff 0,#f4f8fa 73%);background:linear-gradient(to bottom,#fff 0,#f4f8fa 73%)}.xdsoft_datetimepicker .blue-gradient-button:focus,.xdsoft_datetimepicker .blue-gradient-button:focus span,.xdsoft_datetimepicker .blue-gradient-button:hover,.xdsoft_datetimepicker .blue-gradient-button:hover span{color:#454551;background:-moz-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f8fa),color-stop(73%,#fff));background:-webkit-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-o-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-ms-linear-gradient(top,#f4f8fa 0,#fff 73%);background:linear-gradient(to bottom,#f4f8fa 0,#fff 73%)}@font-face{font-family:Gilroy;font-weight:300;src:url(../fonts/Gilroy-Light.eot);src:url(../fonts/Gilroy-Light.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Light.woff2) format("woff2"),url(../fonts/Gilroy-Light.woff) format("woff"),url(../fonts/Gilroy-Light.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:400;src:url(../fonts/Gilroy-Regular.eot);src:url(../fonts/Gilroy-Regular.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Regular.woff2) format("woff2"),url(../fonts/Gilroy-Regular.woff) format("woff"),url(../fonts/Gilroy-Regular.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:500;src:url(../fonts/Gilroy-Medium.eot);src:url(../fonts/Gilroy-Medium.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Medium.woff2) format("woff2"),url(../fonts/Gilroy-Medium.woff) format("woff"),url(../fonts/Gilroy-Medium.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:700;src:url(../fonts/Gilroy-Bold.eot);src:url(../fonts/Gilroy-Bold.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Bold.woff2) format("woff2"),url(../fonts/Gilroy-Bold.woff) format("woff"),url(../fonts/Gilroy-Bold.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:800;src:url(../fonts/Gilroy-ExtraBold.eot);src:url(../fonts/Gilroy-ExtraBold.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-ExtraBold.woff2) format("woff2"),url(../fonts/Gilroy-ExtraBold.woff) format("woff"),url(../fonts/Gilroy-ExtraBold.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:400;src:url(../fonts/NanumSquareR.eot);src:url(../fonts/NanumSquareR.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareR.woff) format("woff"),url(../fonts/NanumSquareR.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:700;src:url(../fonts/NanumSquareB.eot);src:url(../fonts/NanumSquareB.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareB.woff) format("woff"),url(../fonts/NanumSquareB.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:800;src:url(../fonts/NanumSquareEB.eot);src:url(../fonts/NanumSquareEB.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareEB.woff) format("woff"),url(../fonts/NanumSquareEB.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:300;src:url(../fonts/NanumSquareL.eot);src:url(../fonts/NanumSquareL.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareL.woff) format("woff"),url(../fonts/NanumSquareL.ttf) format("truetype")}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Gilroy,"Noto Sans KR",sans-serif;font-size:14px;font-weight:400;line-height:1.5em;color:#282828;text-align:left;background-color:#f4f8f9}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin:0;font-family:Gilroy,NanumSquare,"나눔스퀘어",sans-serif}p{margin:0}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin:0;font-style:normal;line-height:inherit}dl,ol,ul{margin:0}ol ol,ol ul,ul ol,ul ul{margin:0}dt{font-weight:400}dd{margin:0}blockquote{margin:0}dfn{font-style:italic}b,strong{font-weight:700}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#282828;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#5399ea;text-decoration:none}a:not([href]):not([tabindedx]){color:inherit;text-decoration:none}a:not([href]):not([tabindedx]):focus,a:not([href]):not([tabindedx]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindedx]):focus{outline:0}code,kbd,pre,samp{font-family:Gilroy,"Noto Sans KR",sans-serif;font-size:1em}pre{margin:0;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#282828;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin:0}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}@-webkit-keyframes SLIDE-UP{0%{opacity:0;-webkit-transform:translateY(30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-UP{0%{opacity:0;-moz-transform:translateY(30px) scale(1)}100%{opacity:1;-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-UP{0%{opacity:0;-webkit-transform:translateY(30px) scale(1);-moz-transform:translateY(30px) scale(1);-ms-transform:translateY(30px) scale(1);-o-transform:translateY(30px) scale(1);transform:translateY(30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-DOWN{0%{opacity:0;-webkit-transform:translateY(-30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-DOWN{0%{opacity:0;-moz-transform:translateY(-30px) scale(1)}100%{opacity:1;-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-DOWN{0%{opacity:0;-webkit-transform:translateY(-30px) scale(1);-moz-transform:translateY(-30px) scale(1);-ms-transform:translateY(-30px) scale(1);-o-transform:translateY(-30px) scale(1);transform:translateY(-30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-IN-LEFT{0%{-webkit-transform:translateX(-30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-IN-LEFT{0%{-moz-transform:translateX(-30px) scale(1)}100%{-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-IN-LEFT{0%{-webkit-transform:translateX(-30px) scale(1);-moz-transform:translateX(-30px) scale(1);-ms-transform:translateX(-30px) scale(1);-o-transform:translateX(-30px) scale(1);transform:translateX(-30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-IN-RIGHT{0%{-webkit-transform:translateX(30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-IN-RIGHT{0%{-moz-transform:translateX(30px) scale(1)}100%{-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-IN-RIGHT{0%{-webkit-transform:translateX(30px) scale(1);-moz-transform:translateX(30px) scale(1);-ms-transform:translateX(30px) scale(1);-o-transform:translateX(30px) scale(1);transform:translateX(30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}body{height:100vh}#header{position:relative;-webkit-display:flex;display:-ms-flex;display:flex;height:50px;background:#5399ea;background:-moz-linear-gradient(left,#5399ea 0,#5ec0cc 100%);background:-webkit-linear-gradient(left,#5399ea 0,#5ec0cc 100%);background:linear-gradient(to right,#5399ea 0,#5ec0cc 100%);padding:0 30px;z-index:101;align-items:center}#header .logo{display:block;color:#fff;font-size:19px}#header .top-navs{-ms-flex:1;-webkit-flex:1;flex:1}#header .btn-top-action{padding:14px;cursor:pointer;background:0 0;position:relative;color:#fff;border:0 none;outline:0!important;font-size:13px}#header .btn-top-action i{font-size:20px;vertical-align:middle}#header .btn-user{display:inline-block}#header .btn-user .btn-top-action:after{content:"\f107";font-family:'Font Awesome 5 Pro';position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#nav{position:relative;z-index:100;width:100%;height:59px;background-color:#fff;border-bottom:1px solid #e6e6e6;padding:0 30px}#nav .main-navigation{-webkit-display:flex;display:-ms-flex;display:flex;height:59px;padding:0;margin:0;list-style:none;flex-wrap:wrap}#nav .main-navigation>li{display:block;position:relative;margin-right:30px}#nav .main-navigation>li>a{-webkit-display:flex;display:-ms-flex;display:flex;height:59px;justify-content:center;align-items:center;color:#979797;font-size:0;font-weight:500;padding-left:0;padding-right:45px;position:relative;font-family:NanumSquare}#nav .main-navigation>li>a:after{content:"\f107";font-family:'Font Awesome 5 Pro';position:absolute;font-size:15px;right:15px;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#nav .main-navigation>li>a i,#nav .main-navigation>li>a span{font-size:15px}#nav .main-navigation>li>a i+span{margin-left:6px}#nav .main-navigation>li.active>a{color:#282828}#nav .main-navigation>li>ul{height:0;visibility:hidden;opacity:0;z-index:101;position:absolute;top:100%;left:0;width:130px;background:#fff;list-style:none;padding:0;margin:0;border:1px solid #767676}#nav .main-navigation>li>ul li{display:block}#nav .main-navigation>li>ul li a{display:block;padding:12px 15px;font-size:13px;color:#282828;cursor:pointer}#nav .main-navigation>li>ul li a:hover{background-color:#f4f8f9}#nav .main-navigation>li>ul li.active a{background-color:#f4f8f9;color:#5399ea}#nav .main-navigation>li:hover>a{color:#282828}#nav .main-navigation>li:hover>ul{height:auto;visibility:visible;opacity:1;-webkit-transition:visibility .3s,opacity .3s;-moz-transition:visibility .3s,opacity .3s;-ms-transition:visibility .3s,opacity .3s;-o-transition:visibility .3s,opacity .3s;transition:visibility .3s,opacity .3s}#contents{padding:30px;height:calc(100vh - 50px - 59px);overflow-y:auto}.page-header{margin-bottom:15px}.page-header .page-title{font-size:23px;font-weight:500;color:#282828}.page-header .page-title small{color:#767676;font-size:12px;margin-left:15px}.box{position:relative;padding:30px;background:#fff;border-radius:4px;border:1px solid #e6e6e6}.box .box-header{border-bottom:1px solid #e6e6e6;margin-bottom:15px;margin-top:-30px;position:relative;height:57px}.box .box-header:after{display:block;clear:both;content:""}.box .box-header .box-title{float:left;color:#5399ea;font-size:15px;font-weight:500;padding:18px 0}.box .box-header .box-title small{color:#767676;font-weight:400;font-size:13px}.box .box-header .box-action{float:right;-webkit-display:flex;display:-ms-flex;display:flex;height:57px;align-items:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;overflow:hidden}.admin-help-wrap{width:700px;margin:0 auto}.admin-help-wrap li>img{width:700px}.admin-help-wrap .point-color{color:#e60035}.H5{height:5px!important}.H10{height:10px!important}.H15{height:15px!important}.H20{height:20px!important}.H25{height:25px!important}.H30{height:30px!important}.H35{height:35px!important}.H40{height:40px!important}.H45{height:45px!important}.H50{height:50px!important}.H55{height:55px!important}.H60{height:60px!important}.H65{height:65px!important}.H70{height:70px!important}.H75{height:75px!important}.H80{height:80px!important}.H85{height:85px!important}.H90{height:90px!important}.H95{height:95px!important}.H100{height:100px!important}.H105{height:105px!important}.H110{height:110px!important}.H115{height:115px!important}.H120{height:120px!important}.H125{height:125px!important}.H130{height:130px!important}.H135{height:135px!important}.H140{height:140px!important}.H145{height:145px!important}.H150{height:150px!important}.H155{height:155px!important}.H160{height:160px!important}.H165{height:165px!important}.H170{height:170px!important}.H175{height:175px!important}.H180{height:180px!important}.H185{height:185px!important}.H190{height:190px!important}.H195{height:195px!important}.H200{height:200px!important}.H205{height:205px!important}.H210{height:210px!important}.H215{height:215px!important}.H220{height:220px!important}.H225{height:225px!important}.H230{height:230px!important}.H235{height:235px!important}.H240{height:240px!important}.H245{height:245px!important}.H250{height:250px!important}.H255{height:255px!important}.H260{height:260px!important}.H265{height:265px!important}.H270{height:270px!important}.H275{height:275px!important}.H280{height:280px!important}.H285{height:285px!important}.H290{height:290px!important}.H295{height:295px!important}.H300{height:300px!important}.H305{height:305px!important}.H310{height:310px!important}.H315{height:315px!important}.H320{height:320px!important}.H325{height:325px!important}.H330{height:330px!important}.H335{height:335px!important}.H340{height:340px!important}.H345{height:345px!important}.H350{height:350px!important}.H355{height:355px!important}.H360{height:360px!important}.H365{height:365px!important}.H370{height:370px!important}.H375{height:375px!important}.H380{height:380px!important}.H385{height:385px!important}.H390{height:390px!important}.H395{height:395px!important}.H400{height:400px!important}.H405{height:405px!important}.H410{height:410px!important}.H415{height:415px!important}.H420{height:420px!important}.H425{height:425px!important}.H430{height:430px!important}.H435{height:435px!important}.H440{height:440px!important}.H445{height:445px!important}.H450{height:450px!important}.H455{height:455px!important}.H460{height:460px!important}.H465{height:465px!important}.H470{height:470px!important}.H475{height:475px!important}.H480{height:480px!important}.H485{height:485px!important}.H490{height:490px!important}.H495{height:495px!important}.W5{width:5px!important}.W10{width:10px!important}.W15{width:15px!important}.W20{width:20px!important}.W25{width:25px!important}.W30{width:30px!important}.W35{width:35px!important}.W40{width:40px!important}.W45{width:45px!important}.W50{width:50px!important}.W55{width:55px!important}.W60{width:60px!important}.W65{width:65px!important}.W70{width:70px!important}.W75{width:75px!important}.W80{width:80px!important}.W85{width:85px!important}.W90{width:90px!important}.W95{width:95px!important}.W100{width:100px!important}.W105{width:105px!important}.W110{width:110px!important}.W115{width:115px!important}.W120{width:120px!important}.W125{width:125px!important}.W130{width:130px!important}.W135{width:135px!important}.W140{width:140px!important}.W145{width:145px!important}.W150{width:150px!important}.W155{width:155px!important}.W160{width:160px!important}.W165{width:165px!important}.W170{width:170px!important}.W175{width:175px!important}.W180{width:180px!important}.W185{width:185px!important}.W190{width:190px!important}.W195{width:195px!important}.W200{width:200px!important}.W205{width:205px!important}.W210{width:210px!important}.W215{width:215px!important}.W220{width:220px!important}.W225{width:225px!important}.W230{width:230px!important}.W235{width:235px!important}.W240{width:240px!important}.W245{width:245px!important}.W250{width:250px!important}.W255{width:255px!important}.W260{width:260px!important}.W265{width:265px!important}.W270{width:270px!important}.W275{width:275px!important}.W280{width:280px!important}.W285{width:285px!important}.W290{width:290px!important}.W295{width:295px!important}.W300{width:300px!important}.W305{width:305px!important}.W310{width:310px!important}.W315{width:315px!important}.W320{width:320px!important}.W325{width:325px!important}.W330{width:330px!important}.W335{width:335px!important}.W340{width:340px!important}.W345{width:345px!important}.W350{width:350px!important}.W355{width:355px!important}.W360{width:360px!important}.W365{width:365px!important}.W370{width:370px!important}.W375{width:375px!important}.W380{width:380px!important}.W385{width:385px!important}.W390{width:390px!important}.W395{width:395px!important}.W400{width:400px!important}.W405{width:405px!important}.W410{width:410px!important}.W415{width:415px!important}.W420{width:420px!important}.W425{width:425px!important}.W430{width:430px!important}.W435{width:435px!important}.W440{width:440px!important}.W445{width:445px!important}.W450{width:450px!important}.W455{width:455px!important}.W460{width:460px!important}.W465{width:465px!important}.W470{width:470px!important}.W475{width:475px!important}.W480{width:480px!important}.W485{width:485px!important}.W490{width:490px!important}.W495{width:495px!important}.M5{margin:5px}.MT5{margin-top:5px}.MR5{margin-right:5px}.MB5{margin-bottom:5px}.ML5{margin-left:5px}.PT5{padding-top:5px}.PR5{padding-right:5px}.PB5{padding-bottom:5px}.PL5{padding-left:5px}.P5{padding:5px}.M10{margin:10px}.MT10{margin-top:10px}.MR10{margin-right:10px}.MB10{margin-bottom:10px}.ML10{margin-left:10px}.PT10{padding-top:10px}.PR10{padding-right:10px}.PB10{padding-bottom:10px}.PL10{padding-left:10px}.P10{padding:10px}.M15{margin:15px}.MT15{margin-top:15px}.MR15{margin-right:15px}.MB15{margin-bottom:15px}.ML15{margin-left:15px}.PT15{padding-top:15px}.PR15{padding-right:15px}.PB15{padding-bottom:15px}.PL15{padding-left:15px}.P15{padding:15px}.M20{margin:20px}.MT20{margin-top:20px}.MR20{margin-right:20px}.MB20{margin-bottom:20px}.ML20{margin-left:20px}.PT20{padding-top:20px}.PR20{padding-right:20px}.PB20{padding-bottom:20px}.PL20{padding-left:20px}.P20{padding:20px}.M25{margin:25px}.MT25{margin-top:25px}.MR25{margin-right:25px}.MB25{margin-bottom:25px}.ML25{margin-left:25px}.PT25{padding-top:25px}.PR25{padding-right:25px}.PB25{padding-bottom:25px}.PL25{padding-left:25px}.P25{padding:25px}.M30{margin:30px}.MT30{margin-top:30px}.MR30{margin-right:30px}.MB30{margin-bottom:30px}.ML30{margin-left:30px}.PT30{padding-top:30px}.PR30{padding-right:30px}.PB30{padding-bottom:30px}.PL30{padding-left:30px}.P30{padding:30px}.M35{margin:35px}.MT35{margin-top:35px}.MR35{margin-right:35px}.MB35{margin-bottom:35px}.ML35{margin-left:35px}.PT35{padding-top:35px}.PR35{padding-right:35px}.PB35{padding-bottom:35px}.PL35{padding-left:35px}.P35{padding:35px}.M40{margin:40px}.MT40{margin-top:40px}.MR40{margin-right:40px}.MB40{margin-bottom:40px}.ML40{margin-left:40px}.PT40{padding-top:40px}.PR40{padding-right:40px}.PB40{padding-bottom:40px}.PL40{padding-left:40px}.P40{padding:40px}.M45{margin:45px}.MT45{margin-top:45px}.MR45{margin-right:45px}.MB45{margin-bottom:45px}.ML45{margin-left:45px}.PT45{padding-top:45px}.PR45{padding-right:45px}.PB45{padding-bottom:45px}.PL45{padding-left:45px}.P45{padding:45px}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-primary{color:#5399ea}.text-secondary{color:#404040}.text-success{color:#1ffd32}.text-info{color:#3498db}.text-warning{color:#ffb802}.text-danger{color:#e32815}.text-light{color:#f8f9fa}.text-dark{color:#343a40}.btn{display:inline-block;font-weight:400;color:#282828;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:7px 24px;font-size:15px;line-height:1.5em;border-radius:4px;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.btn:hover{color:#282828;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.4;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#f8f9fa;background-color:#5399ea;border-color:#5399ea}.btn-primary:hover{color:#f8f9fa;background-color:#3185e6;border-color:#267ee4}.btn-primary.disabled,.btn-primary:disabled{color:#f8f9fa;background-color:#5399ea;border-color:#5399ea}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#f8f9fa;background-color:#267ee4;border-color:#1c77e2}.btn-secondary{color:#f8f9fa;background-color:#404040;border-color:#404040}.btn-secondary:hover{color:#f8f9fa;background-color:#2d2d2d;border-color:#272727}.btn-secondary.disabled,.btn-secondary:disabled{color:#f8f9fa;background-color:#404040;border-color:#404040}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#f8f9fa;background-color:#272727;border-color:#202020}.btn-success{color:#343a40;background-color:#1ffd32;border-color:#1ffd32}.btn-success:hover{color:#f8f9fa;background-color:#02f417;border-color:#02e716}.btn-success.disabled,.btn-success:disabled{color:#343a40;background-color:#1ffd32;border-color:#1ffd32}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#f8f9fa;background-color:#02e716;border-color:#02da14}.btn-info{color:#f8f9fa;background-color:#3498db;border-color:#3498db}.btn-info:hover{color:#f8f9fa;background-color:#2384c6;border-color:#217dbb}.btn-info.disabled,.btn-info:disabled{color:#f8f9fa;background-color:#3498db;border-color:#3498db}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#f8f9fa;background-color:#217dbb;border-color:#1f76b0}.btn-warning{color:#343a40;background-color:#ffb802;border-color:#ffb802}.btn-warning:hover{color:#343a40;background-color:#db9d00;border-color:#ce9400}.btn-warning.disabled,.btn-warning:disabled{color:#343a40;background-color:#ffb802;border-color:#ffb802}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#f8f9fa;background-color:#ce9400;border-color:#c18b00}.btn-danger{color:#f8f9fa;background-color:#e32815;border-color:#e32815}.btn-danger:hover{color:#f8f9fa;background-color:#c02212;border-color:#b42011}.btn-danger.disabled,.btn-danger:disabled{color:#f8f9fa;background-color:#e32815;border-color:#e32815}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#f8f9fa;background-color:#b42011;border-color:#a91e10}.btn-light{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#343a40;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.disabled,.btn-light:disabled{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#343a40;background-color:#dae0e5;border-color:#d3d9df}.btn-dark{color:#f8f9fa;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#f8f9fa;background-color:#23272b;border-color:#1d2124}.btn-dark.disabled,.btn-dark:disabled{color:#f8f9fa;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#f8f9fa;background-color:#1d2124;border-color:#171a1d}.btn-link{padding:0}.btn-default{color:#343a40;background-color:#fff;border-color:#979797}.btn-default:hover{color:#343a40;background-color:#ececec;border-color:#7e7e7e}.btn-default.disabled,.btn-default:disabled{color:#343a40;background-color:#fff;border-color:#979797}.btn-default:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active,.show>.btn-default.dropdown-toggle{color:#343a40;background-color:#e6e6e6;border-color:#777}.btn-xs{padding:4px 12px;font-size:11px;line-height:1.5em;border-radius:2px}.btn-lg{padding:12px 25px;font-size:15px;line-height:1.5em;border-radius:6px}.btn-sm{padding:6.5px 17px;font-size:13px;line-height:1.5em;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:10px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn-group{display:inline-block;position:relative}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:0;margin:0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #767676;border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:12px 15px;font-size:13px;clear:both;font-weight:400;line-height:1.5em;color:#282828;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#5399ea;background-color:#f4f8f9}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#5399ea;text-decoration:none;outline:0;background-color:#f4f8f9}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.row{margin:0 -15px}.row:after{display:block;clear:both;content:""}.row:before{clear:both;content:''}.col-lg-1,.col-md-1,.col-sm-1,.col-xs-1{float:left;min-height:1px;width:8.33333%;padding:0 15px}.col-lg-2,.col-md-2,.col-sm-2,.col-xs-2{float:left;min-height:1px;width:16.66667%;padding:0 15px}.col-lg-3,.col-md-3,.col-sm-3,.col-xs-3{float:left;min-height:1px;width:25%;padding:0 15px}.col-lg-4,.col-md-4,.col-sm-4,.col-xs-4{float:left;min-height:1px;width:33.33333%;padding:0 15px}.col-lg-5,.col-md-5,.col-sm-5,.col-xs-5{float:left;min-height:1px;width:41.66667%;padding:0 15px}.col-lg-6,.col-md-6,.col-sm-6,.col-xs-6{float:left;min-height:1px;width:50%;padding:0 15px}.col-lg-7,.col-md-7,.col-sm-7,.col-xs-7{float:left;min-height:1px;width:58.33333%;padding:0 15px}.col-lg-8,.col-md-8,.col-sm-8,.col-xs-8{float:left;min-height:1px;width:66.66667%;padding:0 15px}.col-lg-9,.col-md-9,.col-sm-9,.col-xs-9{float:left;min-height:1px;width:75%;padding:0 15px}.col-lg-10,.col-md-10,.col-sm-10,.col-xs-10{float:left;min-height:1px;width:83.33333%;padding:0 15px}.col-lg-11,.col-md-11,.col-sm-11,.col-xs-11{float:left;min-height:1px;width:91.66667%;padding:0 15px}.col-lg-12,.col-md-12,.col-sm-12,.col-xs-12{float:left;min-height:1px;width:100%;padding:0 15px}[data-ax5grid]{margin:0;padding:0;position:relative;background:0 0;border:0}[data-ax5grid] table{border-collapse:collapse;border-spacing:0;border:0 none;width:100%;height:100%}[data-ax5grid] table thead tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#fafafa;border:0 none;color:#282828}[data-ax5grid] table thead tr th{box-sizing:border-box;overflow:hidden;position:relative;padding:10px;height:38px;text-align:center;border:1px solid #ddd;font-weight:400}[data-ax5grid] table tbody tr{border-bottom:0 none;background:0 0}[data-ax5grid] table tbody tr td{line-height:21px;padding:5px 10px;background-color:#fff;border:1px solid #ddd;font-weight:300}[data-ax5grid] table tbody tr td.empty{height:300px;vertical-align:middle;text-align:center}[data-ax5grid] table tfoot tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#f9f9f9;border:1px solid #ddd;color:#282828}[data-ax5grid] table tfoot tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:10px;border:1px solid #ddd;height:38px;text-align:center}[data-ax5grid] table tfoot tr td:last-child{border-right:0}[data-ax5grid] table tfoot tr:last-child td{border-bottom:0}.form-control{display:block;width:100%;height:38px;padding:7px 12px;font-size:15px;font-weight:400;line-height:1.5em;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:4px;box-shadow:none;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{border-color:#80bdff;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control.form-control-sm{height:34px;padding:6.5px 8.5px;font-size:13px;line-height:1.5em;border-radius:3px}.form-control.form-control-xs{height:26px;padding:4px 6px;font-size:11px;line-height:1.5em;border-radius:2px}.form-control.form-control-lg{height:48px;padding:12px 12.5px;font-size:15px;line-height:1.5em;border-radius:6px}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.bottom-actions{-webkit-display:flex;display:-ms-flex;display:flex;align-items:center}.bottom-actions .left,.bottom-actions .right{-webkit-flex:1;-ms-flex:1;flex:1}.bottom-actions .center{-webkit-flex:2;-ms-flex:2;flex:2}.bottom-actions .left{text-align:left}.bottom-actions .right{text-align:right}.w-check{position:relative;display:inline-block;align-items:center;vertical-align:middle}.w-check+.w-check{margin-left:15px}.w-check span{-webkit-display:flex;display:-ms-flex;display:flex;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;align-items:center;height:34px}.w-check span:before{content:"";-webkit-display:flex;display:-ms-flex;display:flex;font-family:"Font Awesome 5 Pro";width:18px;height:18px;border:1px solid #e9e9e9;align-items:center;justify-content:center;margin-right:5px}.w-check input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.w-check input[type=checkbox]:checked+span:before{content:"\f00c";border-color:#5399ea;color:#5399ea}.ax-button-group{display:table;width:100%;min-height:40px}.ax-button-group .left,.ax-button-group .right{display:table-cell;vertical-align:bottom;padding:0 5px 10px 5px}.ax-button-group .left h1,.ax-button-group .left h2,.ax-button-group .left h3,.ax-button-group .left h4,.ax-button-group .left h5,.ax-button-group .left h6,.ax-button-group .right h1,.ax-button-group .right h2,.ax-button-group .right h3,.ax-button-group .right h4,.ax-button-group .right h5,.ax-button-group .right h6{line-height:26px}.ax-button-group .left{text-align:left}.ax-button-group .right{text-align:right}.ax-button-group.ax-button-group-bottom .left,.ax-button-group.ax-button-group-bottom .right{padding:0;vertical-align:middle}.ax-button-group.ax-button-group-bottom.sm{min-height:30px}.ax-button-group.ax-button-group-bottom.sm .left,.ax-button-group.ax-button-group-bottom.sm .right{padding:0 5px 7px 5px}.ax-button-group.ax-button-group-bottom .pagination{margin:0}[data-ax-tbl]{font-size:.9em;background:#fff;border-top:1px solid #d8d8d8;border-right:1px solid #d8d8d8;border-left:1px solid #d8d8d8;position:relative}[data-ax-tbl] [data-ax-tr]{border-bottom:1px solid #d8d8d8;-webkit-display:flex;display:-ms-flex;display:flex}[data-ax-tbl] [data-ax-tr] [data-ax-td]{float:left;-webkit-display:flex;display:-ms-flex;display:flex;table-layout:fixed;width:300px;vertical-align:top;min-height:40px}[data-ax-tbl] [data-ax-tr] [data-ax-td].width-auto{width:auto}[data-ax-tbl] [data-ax-tr] [data-ax-td].width-100{width:100%}[data-ax-tbl] [data-ax-tr] [data-ax-td].right{margin-left:auto;text-align:right}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]{-webkit-display:flex;display:-ms-flex;display:flex;align-items:center;justify-content:center;width:100px;padding:7px;background-color:#fbfbfb;background-image:-webkit-linear-gradient(top,#fbfbfb,#f6f6f6);background-image:linear-gradient(to bottom,#fbfbfb,#f6f6f6);border-right:1px solid #d8d8d8;vertical-align:middle;text-align:center;color:#363636}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label],fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]{color:#c8c8c8}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label] a{color:#363636}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]:empty{background:#fff;border-right-color:transparent}[data-ax-tbl] [data-ax-tr] [data-ax-td]+[data-ax-td] [data-ax-td-label]{border-left:1px solid #d8d8d8}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap]{display:block;padding:7px 7px;-webkit-flex:1;-ms-flex:1;flex:1;color:#68717b;line-height:1em}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] a{color:#68717b}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] a:after{content:' '}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .btn,[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{vertical-align:middle}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{font-size:1em}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control.inline-block{display:inline-block;width:auto}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] textarea.form-control{resize:vertical}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control-static{padding:7px;min-height:0}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline,[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline{line-height:21px;padding:0;display:inline-block}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline input[type=checkbox],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline input[type=radio],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline input[type=checkbox],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline input[type=radio]{display:inline-block;position:static;margin:0 3px;vertical-align:middle}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline{margin-top:5px}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline+.radio-inline{margin-top:5px}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap],fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap]{color:#c8c8c8}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control,fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{background-color:#eee;opacity:1}.pagination{display:block;width:100%;text-align:center;list-style:none;margin:0;padding:0;font-size:0}.pagination li{display:inline-block;font-size:0;margin:0 3px}.pagination li a,.pagination li span{display:block;font-size:15px;color:#979797;padding:5px 10px;background-color:#f4f8f9;border-radius:2px;border:1px solid #979797}.pagination li.active a,.pagination li.active span{background-color:#5399ea;color:#fff;border-color:#5399ea}.pagination li.disabled a,.pagination li.disabled span{cursor:not-allowed;opacity:.4}.pagination li:hover:not(.disabled) a{background-color:#fff}/*! jQuery UI - v1.12.1 - 2017-07-23 http://jqueryui.com Includes: sortable.css, core.css, datepicker.css, theme.css To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:400;color:#454545}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#454545;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#ededed;font-weight:400;color:#2b2b2b}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{border:1px solid #003eff;background:#007fff;font-weight:400;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_555555_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_777620_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(images/ui-icons_777777_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:3px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}/*! Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) */.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scale(-1,1)}.fa-flip-vertical{transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-alarm-clock:before{content:"\f34e"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blanket:before{content:"\f498"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-heart:before{content:"\f499"}.fa-book-open:before{content:"\f518"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-alt:before{content:"\f49a"}.fa-box-check:before{content:"\f467"}.fa-box-fragile:before{content:"\f49b"}.fa-box-full:before{content:"\f49c"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-up:before{content:"\f49f"}.fa-box-usd:before{content:"\f4a0"}.fa-boxes:before{content:"\f468"}.fa-boxes-alt:before{content:"\f4a1"}.fa-boxing-glove:before{content:"\f438"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-browser:before{content:"\f37e"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-alt-check:before{content:"\f4a2"}.fa-comment-alt-dots:before{content:"\f4a3"}.fa-comment-alt-edit:before{content:"\f4a4"}.fa-comment-alt-exclamation:before{content:"\f4a5"}.fa-comment-alt-lines:before{content:"\f4a6"}.fa-comment-alt-minus:before{content:"\f4a7"}.fa-comment-alt-plus:before{content:"\f4a8"}.fa-comment-alt-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-alt-times:before{content:"\f4ab"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-edit:before{content:"\f4ae"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-times:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-alt:before{content:"\f4b6"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-wide:before{content:"\f326"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-container-storage:before{content:"\f4b7"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-times:before{content:"\f317"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-fragile:before{content:"\f4bb"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-heart:before{content:"\f4c3"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-usd:before{content:"\f4c5"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt:before{content:"\f4c6"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle:before{content:"\f4c7"}.fa-heart-square:before{content:"\f4c8"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-hexagon:before{content:"\f312"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-home:before{content:"\f015"}.fa-home-heart:before{content:"\f4c9"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-inventory:before{content:"\f480"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-lamp:before{content:"\f4ca"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-loveseat:before{content:"\f4cc"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-brush-alt:before{content:"\f5a9"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-pennant:before{content:"\f456"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-carry:before{content:"\f4cf"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-r-project:before{content:"\f4f7"}.fa-racquet:before{content:"\f45a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-scanner:before{content:"\f488"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scrubber:before{content:"\f2f8"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-shuttlecock:before{content:"\f45b"}.fa-sign:before{content:"\f4d9"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-plus:before{content:"\f5b9"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-spade:before{content:"\f2f4"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-couch:before{content:"\f4dd"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-ramp:before{content:"\f4e0"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f2e2"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-watch:before{content:"\f2e1"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:400;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'Font Awesome 5 Pro';font-weight:400}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:300;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:'Font Awesome 5 Pro';font-weight:300}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:900;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'Font Awesome 5 Pro';font-weight:900}@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands'}/*! Copyright (c) 2017. tom@axisj.com - github.com/thomasjang - www.axisj.com */[data-ax5grid]{box-sizing:border-box}[data-ax5grid] *,[data-ax5grid] :after,[data-ax5grid] :before{box-sizing:border-box}[data-ax5grid] [data-ax5grid-container=root]{margin:0;padding:0;position:relative;background:#fff;border:1px solid #ccc;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=hidden]{margin:0;padding:0;position:absolute;left:-100%;top:-100%;height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header]{user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);border:0 none;border-bottom:1px solid #ccc;color:#222}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel]{margin:0;padding:0;position:absolute;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:0 none;width:100%;height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr{border-bottom:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-0{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-1{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-2{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-3{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.hover{background:#e1eef8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-grouping-tr=true]{background:#ffffe7}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true]{background:#e3f1ff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=lineNumber],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox{cursor:not-allowed;background-color:#d7d7d7;background-image:-webkit-linear-gradient(top,#d7d7d7,#e6e6e6);background-image:linear-gradient(to bottom,#d7d7d7,#e6e6e6)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.merged{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:0;font-size:12px;border:0 none;cursor:pointer;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.hasBorder{border-right:1px solid #ccc;border-bottom:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.focused{box-shadow:inset 0 0 1px 1px #0581f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td:hover{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#eee);background-image:linear-gradient(to bottom,#eee,#eee)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{border-right:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-selected]{background:#b1d7fe;border-color:#ccc;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-focused]{box-shadow:inset 0 0 1px 1px #0581f2;background:#e3f1ff;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector]{cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] [data-ax5grid-cellHolder]{padding:5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector][data-ax5grid-selected=true] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder]{display:block;box-sizing:border-box;padding:3px 5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=left]{text-align:left}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=center]{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=right]{text-align:right}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-cellHolder=multiLine]{white-space:normal}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]{position:absolute;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]::-ms-clear{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select]{position:absolute;display:block;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select] .ax5select-display{height:100%;border-radius:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox][data-ax5grid-checked=true]:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-arrow]{display:inline-block;box-sizing:content-box;text-align:right;text-shadow:0 -1px #fff;padding:0 5px 0 0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]{cursor:pointer;text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]:hover{text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=group]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=item]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-header]{border-right:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-header] table tr td{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body]{border-right:1px solid #ccc;background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr{background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr td{text-align:center;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=left-header],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-left-body]{border-right:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-right-body]{border-bottom:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{border-top:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{background:#ffe7e2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] [data-ax5grid-panel-scroll]{position:absolute;left:0;top:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-resizer]{position:absolute;right:0;top:0;width:4px;height:100%;cursor:col-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-resizer]:hover{background:#f30;opacity:.5}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]{position:relative;width:10px;height:10px;display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]:before{top:0;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:3.6px solid transparent;border-right:3.6px solid transparent;border-bottom:4.09091px solid #000;background:0 0;opacity:.3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]:after{bottom:0;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:3.6px solid transparent;border-right:3.6px solid transparent;border-top:4.09091px solid #000;background:0 0;opacity:.3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=asc]:before{top:2px;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid #000;background:0 0;opacity:.8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=asc]:after{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=desc]:before{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=desc]:after{bottom:2px;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #000;background:0 0;opacity:.8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-filter]{position:absolute;left:0;top:0;width:10px;height:10px;cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-filter]:before{content:' ';width:0;height:0;display:inline-block;border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid #000;background:0 0;opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body]{margin:0;padding:0;position:relative;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel]{margin:0;padding:0;position:absolute;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:0 none;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr{border-bottom:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-0{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-1{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-2{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-3{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.hover{background:#e1eef8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-grouping-tr=true]{background:#ffffe7}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true]{background:#e3f1ff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=lineNumber],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox{cursor:not-allowed;background-color:#d7d7d7;background-image:-webkit-linear-gradient(top,#d7d7d7,#e6e6e6);background-image:linear-gradient(to bottom,#d7d7d7,#e6e6e6)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.merged{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:0;font-size:12px;border:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.hasBorder{border-right:1px solid #ccc;border-bottom:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.focused{box-shadow:inset 0 0 1px 1px #0581f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{border-right:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-selected]{background:#b1d7fe;border-color:#ccc;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-focused]{box-shadow:inset 0 0 1px 1px #0581f2;background:#e3f1ff;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector]{cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] [data-ax5grid-cellHolder]{padding:5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector][data-ax5grid-selected=true] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder]{display:block;box-sizing:border-box;padding:3px 5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=left]{text-align:left}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=center]{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=right]{text-align:right}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-cellHolder=multiLine]{white-space:normal}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]{position:absolute;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]::-ms-clear{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select]{position:absolute;display:block;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select] .ax5select-display{height:100%;border-radius:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox][data-ax5grid-checked=true]:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-arrow]{display:inline-block;box-sizing:content-box;text-align:right;text-shadow:0 -1px #fff;padding:0 5px 0 0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]{cursor:pointer;text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]:hover{text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=group]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=item]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-header]{border-right:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-header] table tr td{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body]{border-right:1px solid #ccc;background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr{background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr td{text-align:center;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=left-header],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-left-body]{border-right:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-right-body]{border-bottom:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{border-top:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{background:#ffe7e2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] [data-ax5grid-panel-scroll]{position:absolute;left:0;top:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page]{margin:0;padding:0;position:absolute;bottom:0;left:0;width:100%;overflow:hidden;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);border:0 none;border-top:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder]{margin:0;padding:0;display:table;width:100%;height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation]{margin:0;padding:0;display:table-cell;vertical-align:middle;text-align:left;padding-left:5px;font-size:12px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder]{display:table}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell-paging],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell]{display:table-cell;vertical-align:middle}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell-paging]{padding:0 5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]{box-sizing:border-box;min-width:20px;border-radius:5px;padding:1px;border:0 none;background:0 0;font-size:11px;color:#222;outline:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]:active,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move][data-ax5grid-page-selected=true]{background-color:#888;color:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]:hover{text-decoration:underline}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=status]{margin:0;padding:0;display:table-cell;text-align:right;vertical-align:middle;padding-right:10px;font-size:12px;color:#222}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller]{margin:0;padding:0;position:absolute;right:0;bottom:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical]{box-sizing:border-box;position:absolute;display:none;right:0;bottom:0;width:15px;height:100%;background:#f3f3f3;border-left:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical] [data-ax5grid-scroller=vertical-bar]{position:absolute;top:0;left:0;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;box-sizing:border-box;border:0 solid #fff;background:#ccc;cursor:ns-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical] [data-ax5grid-scroller=vertical-bar]:hover{border:0 solid #ccc;background:#bababa}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal]{box-sizing:border-box;position:absolute;display:none;right:0;bottom:0;height:15px;width:100%;background:#f3f3f3;border-top:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal] [data-ax5grid-scroller=horizontal-bar]{position:absolute;top:0;left:0;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;box-sizing:border-box;border:0 solid #fff;background:#ccc;cursor:ew-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal] [data-ax5grid-scroller=horizontal-bar]:hover{border:0 solid #ccc;background:#bababa}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=corner]{position:absolute;display:none;right:0;bottom:0;width:15px;height:15px;background:#eaedef;border-top:1px solid #ccc;border-left:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=horizontal]{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=horizontal].live{display:block;position:absolute;top:0;left:0;background:#f30;opacity:.5;height:100%;width:2px;cursor:col-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=vertical]{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=vertical].live{display:block;position:absolute;top:0;left:0;background:#f30;opacity:.5;height:2px;width:100%;cursor:row-resize}@-webkit-keyframes ax-mask{from{opacity:0}to{opacity:.6}}@-moz-keyframes ax-mask{from{opacity:0}to{opacity:.6}}@keyframes ax-mask{from{opacity:0}to{opacity:.6}}@-webkit-keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}@-moz-keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}@keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}.ax-masking{-webkit-filter:blur(3px);-webkit-transform:scale(.96);-moz-transform:scale(.96);-ms-transform:scale(.96);-o-transform:scale(.96);transform:scale(.96);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.ax-mask{box-sizing:border-box;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%}.ax-mask *,.ax-mask :after,.ax-mask :before{box-sizing:border-box}.ax-mask .ax-mask-bg{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;opacity:.6}.ax-mask .ax-mask-content{z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;display:table;vertical-align:middle;text-align:center;color:#fff;text-shadow:0 1px 0 #000}.ax-mask .ax-mask-content *{color:inherit}.ax-mask .ax-mask-content>div{display:table-cell;vertical-align:middle;text-align:center}.ax-mask.fade-out{-webkit-animation:ax-mask-fade-out .25s;-moz-animation:ax-mask-fade-out .25s;animation:ax-mask-fade-out .25s;opacity:0}@-webkit-keyframes ax-modal{0%{opacity:0;-webkit-transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1)}}@-moz-keyframes ax-modal{0%{opacity:0;-moz-transform:scale(.8)}100%{opacity:1;-moz-transform:scale(1)}}@keyframes ax-modal{0%{opacity:0;-webkit-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ax-modal-destroy{100%{opacity:0;-webkit-transform:translateY(20%)}0%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes ax-modal-destroy{100%{opacity:0;-moz-transform:translateY(20%)}0%{opacity:1;-moz-transform:translateY(0)}}@keyframes ax-modal-destroy{100%{opacity:0;-webkit-transform:translateY(20%);-moz-transform:translateY(20%);-ms-transform:translateY(20%);-o-transform:translateY(20%);transform:translateY(20%)}0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes ax-modal-fullscreen{0%{-webkit-transform:translateY(20%)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes ax-modal-fullscreen{0%{-moz-transform:translateY(20%)}100%{-moz-transform:translateY(0)}}@keyframes ax-modal-fullscreen{0%{-webkit-transform:translateY(20%);-moz-transform:translateY(20%);-ms-transform:translateY(20%);-o-transform:translateY(20%);transform:translateY(20%)}100%{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes ax-modal-fullscreen-destroy{0%{-webkit-transform:translateY(0)}100%{-webkit-transform:translateY(100%)}}@-moz-keyframes ax-modal-fullscreen-destroy{0%{-moz-transform:translateY(0)}100%{-moz-transform:translateY(100%)}}@keyframes ax-modal-fullscreen-destroy{0%{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);-o-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@-moz-keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}@-moz-keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}.ax5modal{-webkit-animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);box-sizing:border-box;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 0 5px 0 rgba(0,0,0,.6);z-index:2000;position:fixed;left:0;top:0;box-sizing:content-box}.ax5modal *{box-sizing:border-box}.ax5modal :after,.ax5modal :before{box-sizing:border-box}.ax5modal *,.ax5modal :after,.ax5modal :before{box-sizing:border-box}.ax5modal .ax-modal-header{user-select:none;font-weight:600;padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;cursor:move}.ax5modal .ax-modal-header .ax-modal-header-addon{position:absolute;right:0;top:0;padding:10px 10px}.ax5modal .ax-modal-header .ax-modal-header-addon [data-modal-header-btn]{border:0;padding:0 2px;background:0 0;display:inline-block;text-align:center;cursor:pointer;outline:0}.ax5modal .ax-modal-body{border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:0;text-align:center;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;position:relative;overflow:hidden}.ax5modal .ax-modal-body iframe{border:0 none}.ax5modal .ax-modal-body .fadeIn{-webkit-animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal .ax-modal-body .fadeOut{-webkit-animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal .ax-modal-header{color:#222;background:#f5f5f5}.ax5modal .ax-modal-header .ax-modal-header-addon a{color:#222;outline:0}.ax5modal.destroy{-webkit-animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal.fullscreen{border:0 none;border-radius:0;box-shadow:none;-webkit-animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal.fullscreen.destroy{-webkit-animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards;-moz-animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards;animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards}.ax5modal.draged .ax-modal-header{opacity:.5}.ax5modal.draged .ax-modal-body{opacity:.5}.ax5modal [data-ax5modal-resizer]{position:absolute;display:block}.ax5modal [data-ax5modal-resizer]:before{position:absolute;content:' ';display:block;width:auto;height:auto;left:auto;top:auto;right:auto;bottom:auto}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top]{left:0;top:0;width:100%;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top]:before{width:100%;height:8px;left:0;top:-4px;cursor:row-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom]{left:0;bottom:0;width:100%;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom]:before{width:100%;height:8px;left:0;top:-4px;cursor:row-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=left]{left:0;top:0;width:0;height:100%}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=left]:before{width:8px;height:100%;left:-4px;top:0;cursor:col-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=right]{right:0;top:0;width:0;height:100%}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=right]:before{width:8px;height:100%;left:-4px;top:0;cursor:col-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-left]{left:0;top:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-left]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nwse-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-right]{right:0;top:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-right]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nesw-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-left]{left:0;bottom:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-left]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nesw-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-right]{right:0;bottom:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-right]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nwse-resize}.ax5modal-resizer-background{position:fixed;left:0;top:0;width:100%;height:100%;background:0 0;z-index:2000;cursor:move}.ax5modal-resizer{position:absolute;left:0;top:0;z-index:2001;cursor:move;box-sizing:border-box;background-color:#ccc;border:1px solid red;opacity:.3;border-radius:4px;box-shadow:0 0 5px 0 rgba(0,0,0,.6)}@-webkit-keyframes ax-toast-bottom{from{-webkit-transform:translateY(-100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes ax-toast-bottom{from{-moz-transform:translateY(-100px) scale(.7)}to{-moz-transform:translateY(0) scale(1)}}@keyframes ax-toast-bottom{from{-webkit-transform:translateY(-100px) scale(.7);-moz-transform:translateY(-100px) scale(.7);-ms-transform:translateY(-100px) scale(.7);-o-transform:translateY(-100px) scale(.7);transform:translateY(-100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes ax-toast-top{from{-webkit-transform:translateY(100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes ax-toast-top{from{-moz-transform:translateY(100px) scale(.7)}to{-moz-transform:translateY(0) scale(1)}}@keyframes ax-toast-top{from{-webkit-transform:translateY(100px) scale(.7);-moz-transform:translateY(100px) scale(.7);-ms-transform:translateY(100px) scale(.7);-o-transform:translateY(100px) scale(.7);transform:translateY(100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes ax-toast-removed-bottom{from{-webkit-transform:translateY(0);opacity:1}to{-webkit-transform:translateY(10px) scale(.7);opacity:0}}@-moz-keyframes ax-toast-removed-bottom{from{-moz-transform:translateY(0);opacity:1}to{-moz-transform:translateY(10px) scale(.7);opacity:0}}@keyframes ax-toast-removed-bottom{from{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(10px) scale(.7);-moz-transform:translateY(10px) scale(.7);-ms-transform:translateY(10px) scale(.7);-o-transform:translateY(10px) scale(.7);transform:translateY(10px) scale(.7);opacity:0}}@-webkit-keyframes ax-toast-removed-top{from{-webkit-transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-10px) scale(.7);opacity:0}}@-moz-keyframes ax-toast-removed-top{from{-moz-transform:translateY(0);opacity:1}to{-moz-transform:translateY(-10px) scale(.7);opacity:0}}@keyframes ax-toast-removed-top{from{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-10px) scale(.7);-moz-transform:translateY(-10px) scale(.7);-ms-transform:translateY(-10px) scale(.7);-o-transform:translateY(-10px) scale(.7);transform:translateY(-10px) scale(.7);opacity:0}}@-webkit-keyframes ax-toast-destroy{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(1.5);opacity:0}}@-moz-keyframes ax-toast-destroy{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(1.5);opacity:0}}@keyframes ax-toast-destroy{from{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(1.5);-moz-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);opacity:0}}.ax5-ui-toast-container{z-index:2000;position:fixed;width:auto;padding:10px;box-sizing:border-box}.ax5-ui-toast-container *,.ax5-ui-toast-container :after,.ax5-ui-toast-container :before{box-sizing:border-box}.ax5-ui-toast-container .ax5-ui-toast{box-sizing:border-box;border:1px solid gray;opacity:.9;border-radius:8px;box-shadow:0 0 5px 0 rgba(0,0,0,.175);position:relative;margin:5px 0 5px 0;display:table;padding:6px;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#fff;color:#282828}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-icon{display:table-cell;padding:6px;text-align:left;font-size:24px;width:24px;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-body{display:table-cell;padding:6px;text-align:left;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-buttons{display:table-cell;padding:6px;text-align:right;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-buttons button:not(:last-child){margin-right:3px}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-close{display:table-cell;padding:6px;text-align:right;vertical-align:top;text-decoration:none;cursor:pointer}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-icon{color:#282828}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-close{color:#282828}.ax5-ui-toast-container .ax5-ui-toast.primary{background:#fff;color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.primary .ax-toast-icon{color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.primary .ax-toast-close{color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.success{background:#fff;color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.success .ax-toast-icon{color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.success .ax-toast-close{color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.info{background:#fff;color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.info .ax-toast-icon{color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.info .ax-toast-close{color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.warning{background:#ffb802;color:#fff}.ax5-ui-toast-container .ax5-ui-toast.warning .ax-toast-icon{color:#ffb802}.ax5-ui-toast-container .ax5-ui-toast.warning .ax-toast-close{color:#fff}.ax5-ui-toast-container .ax5-ui-toast.danger{background:#ffb802;color:#fff}.ax5-ui-toast-container .ax5-ui-toast.danger .ax-toast-icon{color:#e32815}.ax5-ui-toast-container .ax5-ui-toast.danger .ax-toast-close{color:#fff}.ax5-ui-toast-container.bottom-left{left:0;bottom:0}.ax5-ui-toast-container.bottom-left .ax5-ui-toast{-webkit-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.bottom-left .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-bottom .3s ease forwards;-moz-animation:ax-toast-removed-bottom .3s ease forwards;animation:ax-toast-removed-bottom .3s ease forwards}.ax5-ui-toast-container.bottom-left .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.bottom-right{right:0;bottom:0}.ax5-ui-toast-container.bottom-right .ax5-ui-toast{-webkit-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.bottom-right .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-bottom .3s ease forwards;-moz-animation:ax-toast-removed-bottom .3s ease forwards;animation:ax-toast-removed-bottom .3s ease forwards}.ax5-ui-toast-container.bottom-right .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.top-left{left:0;top:0}.ax5-ui-toast-container.top-left .ax5-ui-toast{-webkit-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.top-left .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-top .3s ease forwards;-moz-animation:ax-toast-removed-top .3s ease forwards;animation:ax-toast-removed-top .3s ease forwards}.ax5-ui-toast-container.top-left .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.top-right{right:0;top:0}.ax5-ui-toast-container.top-right .ax5-ui-toast{-webkit-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.top-right .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-top .3s ease forwards;-moz-animation:ax-toast-removed-top .3s ease forwards;animation:ax-toast-removed-top .3s ease forwards}.ax5-ui-toast-container.top-right .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ui-datepicker{padding:0;font-family:inherit}.ui-datepicker .ui-icon{background-image:none}.ui-datepicker.ui-widget.ui-widget-content{border:0 none;box-shadow:0 0 10px rgba(0,0,0,.4)}.ui-datepicker th{font-weight:400}.ui-datepicker td{padding:0;text-align:center}.ui-datepicker td .ui-state-default{background-color:transparent;border:0 none;text-align:center}.ui-datepicker td .ui-state-default:hover{background-color:#5399ea;color:#fff}.ui-datepicker td .ui-state-highlight{color:#5399ea}.ui-datepicker td .ui-state-active{background-color:#5399ea;color:#fff}.ui-datepicker .ui-widget-header{background-color:#5399ea;color:#fff;border:0 none;border-bottom-left-radius:0;border-bottom-right-radius:0}.ui-datepicker .ui-datepicker-header{padding:0;height:30px;-webkit-display:flex;display:-ms-flex;display:flex;align-items:center}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{text-align:center;width:30px;height:30px;top:0;-webkit-display:flex;display:-ms-flex;display:flex;align-items:center;justify-content:center;border-radius:0}.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-next.ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-prev.ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover{background-color:#3185e6;color:#fff;border:0 none;cursor:pointer}.ui-datepicker .ui-datepicker-prev{left:0}.ui-datepicker .ui-datepicker-next{right:0}.ui-datepicker .ui-datepicker-title{width:100%}.ui-datepicker .ui-datepicker-title select{vertical-align:middle;background:0 0;border:0 none;color:#fff;height:30px;line-height:30px;outline:0 none!important;text-align:center;margin:0;font-family:inherit}.ui-datepicker .ui-datepicker-title select option{color:#333}#login-form{width:100%;height:100%;display:flex;background:url(../images/admin/login-bg.jpg);justify-content:center;align-items:center}#login-form .login-logo{font-size:32px;font-weight:900;color:#fff;-webkit-animation:SLIDE-UP .6s linear forwards;-o-animation:SLIDE-UP .6s linear forwards;animation:SLIDE-UP .6s linear forwards;margin-bottom:20px;text-align:center}#login-form .login-notice{color:#ccc;font-size:12px;text-align:center;letter-spacing:-.04em;margin-top:10px}#login-form .login-panel{-webkit-animation:SLIDE-DOWN .6s linear forwards;-o-animation:SLIDE-DOWN .6s linear forwards;animation:SLIDE-DOWN .6s linear forwards;border:1px solid #788694;width:320px;box-shadow:0 0 10px #000;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.5);margin:0 auto}#login-form .login-panel .login-heading{padding:10px 15px;border-top-right-radius:2px;border-top-left-radius:2px;color:#ccc;border-bottom:1px solid #788694;font-size:.9em;background:rgba(255,255,255,.1);text-align:center}#login-form .login-panel .login-body{padding:20px 20px;color:#eee;text-align:left}#login-form .login-panel .form-control{background:0 0;text-align:center;color:#fff;border:#ccc 1px solid}#login-form .login-panel .btn{background:#000;color:#fff;border:1px solid #ccc;padding:10px} +@charset "UTF-8";.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,.506);background:#fff;border-bottom:1px solid #bbb;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:8px;padding-left:0;padding-top:2px;position:absolute;z-index:9999;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.xdsoft_datetimepicker.xdsoft_rtl{padding:8px 0 8px 8px}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:0 0;border:none}.xdsoft_datetimepicker button{border:none!important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:0 0}.xdsoft_noselect::-moz-selection{background:0 0}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_monthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0 none;cursor:pointer;display:block;height:30px;opacity:.5;outline:medium none;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px;min-width:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev{float:none;margin-left:0;margin-right:14px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #ddd}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover,.xdsoft_datetimepicker .xdsoft_today_button:hover{opacity:1}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none!important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar th{height:25px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.2857142%;background:#f5f5f5;border:1px solid #ddd;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#f1f1f1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3af}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;cursor:default}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff!important;background:#ff8000!important;box-shadow:none!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover{background:#3af!important;box-shadow:#178fe5 0 1px 3px 0 inset!important;color:#fff!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit!important;background:inherit!important;box-shadow:inherit!important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc!important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee!important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa!important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc!important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar{left:0;right:auto}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000!important;background:#007fff!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555!important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333!important}.xdsoft_datetimepicker .xdsoft_save_selected{display:block;border:1px solid #ddd!important;margin-top:5px;width:100%;color:#454551;font-size:13px}.xdsoft_datetimepicker .blue-gradient-button{font-family:museo-sans,"Book Antiqua",sans-serif;font-size:12px;font-weight:300;color:#82878c;height:28px;position:relative;padding:4px 17px 4px 33px;border:1px solid #d7d8da;background:-moz-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(73%,#f4f8fa));background:-webkit-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-o-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-ms-linear-gradient(top,#fff 0,#f4f8fa 73%);background:linear-gradient(to bottom,#fff 0,#f4f8fa 73%)}.xdsoft_datetimepicker .blue-gradient-button:focus,.xdsoft_datetimepicker .blue-gradient-button:focus span,.xdsoft_datetimepicker .blue-gradient-button:hover,.xdsoft_datetimepicker .blue-gradient-button:hover span{color:#454551;background:-moz-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f8fa),color-stop(73%,#fff));background:-webkit-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-o-linear-gradient(top,#f4f8fa 0,#fff 73%);background:-ms-linear-gradient(top,#f4f8fa 0,#fff 73%);background:linear-gradient(to bottom,#f4f8fa 0,#fff 73%)}@font-face{font-family:Gilroy;font-weight:300;src:url(../fonts/Gilroy-Light.eot);src:url(../fonts/Gilroy-Light.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Light.woff2) format("woff2"),url(../fonts/Gilroy-Light.woff) format("woff"),url(../fonts/Gilroy-Light.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:400;src:url(../fonts/Gilroy-Regular.eot);src:url(../fonts/Gilroy-Regular.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Regular.woff2) format("woff2"),url(../fonts/Gilroy-Regular.woff) format("woff"),url(../fonts/Gilroy-Regular.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:500;src:url(../fonts/Gilroy-Medium.eot);src:url(../fonts/Gilroy-Medium.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Medium.woff2) format("woff2"),url(../fonts/Gilroy-Medium.woff) format("woff"),url(../fonts/Gilroy-Medium.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:700;src:url(../fonts/Gilroy-Bold.eot);src:url(../fonts/Gilroy-Bold.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-Bold.woff2) format("woff2"),url(../fonts/Gilroy-Bold.woff) format("woff"),url(../fonts/Gilroy-Bold.ttf) format("truetype")}@font-face{font-family:Gilroy;font-weight:800;src:url(../fonts/Gilroy-ExtraBold.eot);src:url(../fonts/Gilroy-ExtraBold.eot?#iefix) format("embedded-opentype"),url(../fonts/Gilroy-ExtraBold.woff2) format("woff2"),url(../fonts/Gilroy-ExtraBold.woff) format("woff"),url(../fonts/Gilroy-ExtraBold.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:400;src:url(../fonts/NanumSquareR.eot);src:url(../fonts/NanumSquareR.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareR.woff) format("woff"),url(../fonts/NanumSquareR.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:700;src:url(../fonts/NanumSquareB.eot);src:url(../fonts/NanumSquareB.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareB.woff) format("woff"),url(../fonts/NanumSquareB.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:800;src:url(../fonts/NanumSquareEB.eot);src:url(../fonts/NanumSquareEB.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareEB.woff) format("woff"),url(../fonts/NanumSquareEB.ttf) format("truetype")}@font-face{font-family:NanumSquare;font-weight:300;src:url(../fonts/NanumSquareL.eot);src:url(../fonts/NanumSquareL.eot?#iefix) format("embedded-opentype"),url(../fonts/NanumSquareL.woff) format("woff"),url(../fonts/NanumSquareL.ttf) format("truetype")}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Gilroy,"Noto Sans KR",sans-serif;font-size:14px;font-weight:400;line-height:1.5em;color:#282828;text-align:left;background-color:#f4f8f9}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin:0;font-family:Gilroy,NanumSquare,"나눔스퀘어",sans-serif}p{margin:0}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin:0;font-style:normal;line-height:inherit}dl,ol,ul{margin:0}ol ol,ol ul,ul ol,ul ul{margin:0}dt{font-weight:400}dd{margin:0}blockquote{margin:0}dfn{font-style:italic}b,strong{font-weight:700}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#282828;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#5399ea;text-decoration:none}a:not([href]):not([tabindedx]){color:inherit;text-decoration:none}a:not([href]):not([tabindedx]):focus,a:not([href]):not([tabindedx]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindedx]):focus{outline:0}code,kbd,pre,samp{font-family:Gilroy,"Noto Sans KR",sans-serif;font-size:1em}pre{margin:0;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#282828;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin:0}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin:0;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}@-webkit-keyframes SLIDE-UP{0%{opacity:0;-webkit-transform:translateY(30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-UP{0%{opacity:0;-moz-transform:translateY(30px) scale(1)}100%{opacity:1;-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-UP{0%{opacity:0;-webkit-transform:translateY(30px) scale(1);-moz-transform:translateY(30px) scale(1);-ms-transform:translateY(30px) scale(1);-o-transform:translateY(30px) scale(1);transform:translateY(30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-DOWN{0%{opacity:0;-webkit-transform:translateY(-30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-DOWN{0%{opacity:0;-moz-transform:translateY(-30px) scale(1)}100%{opacity:1;-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-DOWN{0%{opacity:0;-webkit-transform:translateY(-30px) scale(1);-moz-transform:translateY(-30px) scale(1);-ms-transform:translateY(-30px) scale(1);-o-transform:translateY(-30px) scale(1);transform:translateY(-30px) scale(1)}100%{opacity:1;-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-IN-LEFT{0%{-webkit-transform:translateX(-30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-IN-LEFT{0%{-moz-transform:translateX(-30px) scale(1)}100%{-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-IN-LEFT{0%{-webkit-transform:translateX(-30px) scale(1);-moz-transform:translateX(-30px) scale(1);-ms-transform:translateX(-30px) scale(1);-o-transform:translateX(-30px) scale(1);transform:translateX(-30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes SLIDE-IN-RIGHT{0%{-webkit-transform:translateX(30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes SLIDE-IN-RIGHT{0%{-moz-transform:translateX(30px) scale(1)}100%{-moz-transform:translateY(0) scale(1)}}@keyframes SLIDE-IN-RIGHT{0%{-webkit-transform:translateX(30px) scale(1);-moz-transform:translateX(30px) scale(1);-ms-transform:translateX(30px) scale(1);-o-transform:translateX(30px) scale(1);transform:translateX(30px) scale(1)}100%{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}body{height:100vh}#header{position:relative;-webkit-display:flex;display:-ms-flex;display:flex;height:50px;background:#5399ea;background:-moz-linear-gradient(left,#5399ea 0,#5ec0cc 100%);background:-webkit-linear-gradient(left,#5399ea 0,#5ec0cc 100%);background:linear-gradient(to right,#5399ea 0,#5ec0cc 100%);padding:0 30px;z-index:101;align-items:center}#header .logo{display:block;color:#fff;font-size:19px}#header .top-navs{-ms-flex:1;-webkit-flex:1;flex:1}#header .btn-top-action{padding:14px;cursor:pointer;background:0 0;position:relative;color:#fff;border:0 none;outline:0!important;font-size:13px}#header .btn-top-action i{font-size:20px;vertical-align:middle}#header .btn-user{display:inline-block}#header .btn-user .btn-top-action:after{content:"\f107";font-family:'Font Awesome 5 Pro';position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#nav{position:relative;z-index:100;width:100%;height:59px;background-color:#fff;border-bottom:1px solid #e6e6e6;padding:0 30px}#nav .main-navigation{-webkit-display:flex;display:-ms-flex;display:flex;height:59px;padding:0;margin:0;list-style:none;flex-wrap:wrap}#nav .main-navigation>li{display:block;position:relative;margin-right:30px}#nav .main-navigation>li>a{-webkit-display:flex;display:-ms-flex;display:flex;height:59px;justify-content:center;align-items:center;color:#979797;font-size:0;font-weight:500;padding-left:0;padding-right:45px;position:relative;font-family:NanumSquare}#nav .main-navigation>li>a:after{content:"\f107";font-family:'Font Awesome 5 Pro';position:absolute;font-size:15px;right:15px;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#nav .main-navigation>li>a i,#nav .main-navigation>li>a span{font-size:15px}#nav .main-navigation>li>a i+span{margin-left:6px}#nav .main-navigation>li.active>a{color:#282828}#nav .main-navigation>li>ul{height:0;visibility:hidden;opacity:0;z-index:101;position:absolute;top:100%;left:0;width:130px;background:#fff;list-style:none;padding:0;margin:0;border:1px solid #767676}#nav .main-navigation>li>ul li{display:block}#nav .main-navigation>li>ul li a{display:block;padding:12px 15px;font-size:13px;color:#282828;cursor:pointer}#nav .main-navigation>li>ul li a:hover{background-color:#f4f8f9}#nav .main-navigation>li>ul li.active a{background-color:#f4f8f9;color:#5399ea}#nav .main-navigation>li:hover>a{color:#282828}#nav .main-navigation>li:hover>ul{height:auto;visibility:visible;opacity:1;-webkit-transition:visibility .3s,opacity .3s;-moz-transition:visibility .3s,opacity .3s;-ms-transition:visibility .3s,opacity .3s;-o-transition:visibility .3s,opacity .3s;transition:visibility .3s,opacity .3s}#contents{padding:30px;height:calc(100vh - 50px - 59px);overflow-y:auto}.page-header{margin-bottom:15px}.page-header .page-title{font-size:23px;font-weight:500;color:#282828}.page-header .page-title small{color:#767676;font-size:12px;margin-left:15px}.box{position:relative;padding:30px;background:#fff;border-radius:4px;border:1px solid #e6e6e6}.box .box-header{border-bottom:1px solid #e6e6e6;margin-bottom:15px;margin-top:-30px;position:relative;height:57px}.box .box-header:after{display:block;clear:both;content:""}.box .box-header .box-title{float:left;color:#5399ea;font-size:15px;font-weight:500;padding:18px 0}.box .box-header .box-title small{color:#767676;font-weight:400;font-size:13px}.box .box-header .box-action{float:right;-webkit-display:flex;display:-ms-flex;display:flex;height:57px;align-items:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;overflow:hidden}.admin-help-wrap{width:700px;margin:0 auto}.admin-help-wrap li>img{width:700px}.admin-help-wrap .point-color{color:#e60035}.H5{height:5px!important}.H10{height:10px!important}.H15{height:15px!important}.H20{height:20px!important}.H25{height:25px!important}.H30{height:30px!important}.H35{height:35px!important}.H40{height:40px!important}.H45{height:45px!important}.H50{height:50px!important}.H55{height:55px!important}.H60{height:60px!important}.H65{height:65px!important}.H70{height:70px!important}.H75{height:75px!important}.H80{height:80px!important}.H85{height:85px!important}.H90{height:90px!important}.H95{height:95px!important}.H100{height:100px!important}.H105{height:105px!important}.H110{height:110px!important}.H115{height:115px!important}.H120{height:120px!important}.H125{height:125px!important}.H130{height:130px!important}.H135{height:135px!important}.H140{height:140px!important}.H145{height:145px!important}.H150{height:150px!important}.H155{height:155px!important}.H160{height:160px!important}.H165{height:165px!important}.H170{height:170px!important}.H175{height:175px!important}.H180{height:180px!important}.H185{height:185px!important}.H190{height:190px!important}.H195{height:195px!important}.H200{height:200px!important}.H205{height:205px!important}.H210{height:210px!important}.H215{height:215px!important}.H220{height:220px!important}.H225{height:225px!important}.H230{height:230px!important}.H235{height:235px!important}.H240{height:240px!important}.H245{height:245px!important}.H250{height:250px!important}.H255{height:255px!important}.H260{height:260px!important}.H265{height:265px!important}.H270{height:270px!important}.H275{height:275px!important}.H280{height:280px!important}.H285{height:285px!important}.H290{height:290px!important}.H295{height:295px!important}.H300{height:300px!important}.H305{height:305px!important}.H310{height:310px!important}.H315{height:315px!important}.H320{height:320px!important}.H325{height:325px!important}.H330{height:330px!important}.H335{height:335px!important}.H340{height:340px!important}.H345{height:345px!important}.H350{height:350px!important}.H355{height:355px!important}.H360{height:360px!important}.H365{height:365px!important}.H370{height:370px!important}.H375{height:375px!important}.H380{height:380px!important}.H385{height:385px!important}.H390{height:390px!important}.H395{height:395px!important}.H400{height:400px!important}.H405{height:405px!important}.H410{height:410px!important}.H415{height:415px!important}.H420{height:420px!important}.H425{height:425px!important}.H430{height:430px!important}.H435{height:435px!important}.H440{height:440px!important}.H445{height:445px!important}.H450{height:450px!important}.H455{height:455px!important}.H460{height:460px!important}.H465{height:465px!important}.H470{height:470px!important}.H475{height:475px!important}.H480{height:480px!important}.H485{height:485px!important}.H490{height:490px!important}.H495{height:495px!important}.W5{width:5px!important}.W10{width:10px!important}.W15{width:15px!important}.W20{width:20px!important}.W25{width:25px!important}.W30{width:30px!important}.W35{width:35px!important}.W40{width:40px!important}.W45{width:45px!important}.W50{width:50px!important}.W55{width:55px!important}.W60{width:60px!important}.W65{width:65px!important}.W70{width:70px!important}.W75{width:75px!important}.W80{width:80px!important}.W85{width:85px!important}.W90{width:90px!important}.W95{width:95px!important}.W100{width:100px!important}.W105{width:105px!important}.W110{width:110px!important}.W115{width:115px!important}.W120{width:120px!important}.W125{width:125px!important}.W130{width:130px!important}.W135{width:135px!important}.W140{width:140px!important}.W145{width:145px!important}.W150{width:150px!important}.W155{width:155px!important}.W160{width:160px!important}.W165{width:165px!important}.W170{width:170px!important}.W175{width:175px!important}.W180{width:180px!important}.W185{width:185px!important}.W190{width:190px!important}.W195{width:195px!important}.W200{width:200px!important}.W205{width:205px!important}.W210{width:210px!important}.W215{width:215px!important}.W220{width:220px!important}.W225{width:225px!important}.W230{width:230px!important}.W235{width:235px!important}.W240{width:240px!important}.W245{width:245px!important}.W250{width:250px!important}.W255{width:255px!important}.W260{width:260px!important}.W265{width:265px!important}.W270{width:270px!important}.W275{width:275px!important}.W280{width:280px!important}.W285{width:285px!important}.W290{width:290px!important}.W295{width:295px!important}.W300{width:300px!important}.W305{width:305px!important}.W310{width:310px!important}.W315{width:315px!important}.W320{width:320px!important}.W325{width:325px!important}.W330{width:330px!important}.W335{width:335px!important}.W340{width:340px!important}.W345{width:345px!important}.W350{width:350px!important}.W355{width:355px!important}.W360{width:360px!important}.W365{width:365px!important}.W370{width:370px!important}.W375{width:375px!important}.W380{width:380px!important}.W385{width:385px!important}.W390{width:390px!important}.W395{width:395px!important}.W400{width:400px!important}.W405{width:405px!important}.W410{width:410px!important}.W415{width:415px!important}.W420{width:420px!important}.W425{width:425px!important}.W430{width:430px!important}.W435{width:435px!important}.W440{width:440px!important}.W445{width:445px!important}.W450{width:450px!important}.W455{width:455px!important}.W460{width:460px!important}.W465{width:465px!important}.W470{width:470px!important}.W475{width:475px!important}.W480{width:480px!important}.W485{width:485px!important}.W490{width:490px!important}.W495{width:495px!important}.M5{margin:5px}.MT5{margin-top:5px}.MR5{margin-right:5px}.MB5{margin-bottom:5px}.ML5{margin-left:5px}.PT5{padding-top:5px}.PR5{padding-right:5px}.PB5{padding-bottom:5px}.PL5{padding-left:5px}.P5{padding:5px}.M10{margin:10px}.MT10{margin-top:10px}.MR10{margin-right:10px}.MB10{margin-bottom:10px}.ML10{margin-left:10px}.PT10{padding-top:10px}.PR10{padding-right:10px}.PB10{padding-bottom:10px}.PL10{padding-left:10px}.P10{padding:10px}.M15{margin:15px}.MT15{margin-top:15px}.MR15{margin-right:15px}.MB15{margin-bottom:15px}.ML15{margin-left:15px}.PT15{padding-top:15px}.PR15{padding-right:15px}.PB15{padding-bottom:15px}.PL15{padding-left:15px}.P15{padding:15px}.M20{margin:20px}.MT20{margin-top:20px}.MR20{margin-right:20px}.MB20{margin-bottom:20px}.ML20{margin-left:20px}.PT20{padding-top:20px}.PR20{padding-right:20px}.PB20{padding-bottom:20px}.PL20{padding-left:20px}.P20{padding:20px}.M25{margin:25px}.MT25{margin-top:25px}.MR25{margin-right:25px}.MB25{margin-bottom:25px}.ML25{margin-left:25px}.PT25{padding-top:25px}.PR25{padding-right:25px}.PB25{padding-bottom:25px}.PL25{padding-left:25px}.P25{padding:25px}.M30{margin:30px}.MT30{margin-top:30px}.MR30{margin-right:30px}.MB30{margin-bottom:30px}.ML30{margin-left:30px}.PT30{padding-top:30px}.PR30{padding-right:30px}.PB30{padding-bottom:30px}.PL30{padding-left:30px}.P30{padding:30px}.M35{margin:35px}.MT35{margin-top:35px}.MR35{margin-right:35px}.MB35{margin-bottom:35px}.ML35{margin-left:35px}.PT35{padding-top:35px}.PR35{padding-right:35px}.PB35{padding-bottom:35px}.PL35{padding-left:35px}.P35{padding:35px}.M40{margin:40px}.MT40{margin-top:40px}.MR40{margin-right:40px}.MB40{margin-bottom:40px}.ML40{margin-left:40px}.PT40{padding-top:40px}.PR40{padding-right:40px}.PB40{padding-bottom:40px}.PL40{padding-left:40px}.P40{padding:40px}.M45{margin:45px}.MT45{margin-top:45px}.MR45{margin-right:45px}.MB45{margin-bottom:45px}.ML45{margin-left:45px}.PT45{padding-top:45px}.PR45{padding-right:45px}.PB45{padding-bottom:45px}.PL45{padding-left:45px}.P45{padding:45px}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-primary{color:#5399ea}.text-secondary{color:#404040}.text-success{color:#1ffd32}.text-info{color:#3498db}.text-warning{color:#ffb802}.text-danger{color:#e32815}.text-light{color:#f8f9fa}.text-dark{color:#343a40}.btn{display:inline-block;font-weight:400;color:#282828;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:7px 24px;font-size:15px;line-height:1.5em;border-radius:4px;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.btn:hover{color:#282828;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.4;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#f8f9fa;background-color:#5399ea;border-color:#5399ea}.btn-primary:hover{color:#f8f9fa;background-color:#3185e6;border-color:#267ee4}.btn-primary.disabled,.btn-primary:disabled{color:#f8f9fa;background-color:#5399ea;border-color:#5399ea}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#f8f9fa;background-color:#267ee4;border-color:#1c77e2}.btn-secondary{color:#f8f9fa;background-color:#404040;border-color:#404040}.btn-secondary:hover{color:#f8f9fa;background-color:#2d2d2d;border-color:#272727}.btn-secondary.disabled,.btn-secondary:disabled{color:#f8f9fa;background-color:#404040;border-color:#404040}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#f8f9fa;background-color:#272727;border-color:#202020}.btn-success{color:#343a40;background-color:#1ffd32;border-color:#1ffd32}.btn-success:hover{color:#f8f9fa;background-color:#02f417;border-color:#02e716}.btn-success.disabled,.btn-success:disabled{color:#343a40;background-color:#1ffd32;border-color:#1ffd32}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#f8f9fa;background-color:#02e716;border-color:#02da14}.btn-info{color:#f8f9fa;background-color:#3498db;border-color:#3498db}.btn-info:hover{color:#f8f9fa;background-color:#2384c6;border-color:#217dbb}.btn-info.disabled,.btn-info:disabled{color:#f8f9fa;background-color:#3498db;border-color:#3498db}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#f8f9fa;background-color:#217dbb;border-color:#1f76b0}.btn-warning{color:#343a40;background-color:#ffb802;border-color:#ffb802}.btn-warning:hover{color:#343a40;background-color:#db9d00;border-color:#ce9400}.btn-warning.disabled,.btn-warning:disabled{color:#343a40;background-color:#ffb802;border-color:#ffb802}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#f8f9fa;background-color:#ce9400;border-color:#c18b00}.btn-danger{color:#f8f9fa;background-color:#e32815;border-color:#e32815}.btn-danger:hover{color:#f8f9fa;background-color:#c02212;border-color:#b42011}.btn-danger.disabled,.btn-danger:disabled{color:#f8f9fa;background-color:#e32815;border-color:#e32815}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#f8f9fa;background-color:#b42011;border-color:#a91e10}.btn-light{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#343a40;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.disabled,.btn-light:disabled{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#343a40;background-color:#dae0e5;border-color:#d3d9df}.btn-dark{color:#f8f9fa;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#f8f9fa;background-color:#23272b;border-color:#1d2124}.btn-dark.disabled,.btn-dark:disabled{color:#f8f9fa;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#f8f9fa;background-color:#1d2124;border-color:#171a1d}.btn-link{padding:0}.btn-default{color:#343a40;background-color:#fff;border-color:#979797}.btn-default:hover{color:#343a40;background-color:#ececec;border-color:#7e7e7e}.btn-default.disabled,.btn-default:disabled{color:#343a40;background-color:#fff;border-color:#979797}.btn-default:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active,.show>.btn-default.dropdown-toggle{color:#343a40;background-color:#e6e6e6;border-color:#777}.btn-xs{padding:4px 12px;font-size:11px;line-height:1.5em;border-radius:2px}.btn-lg{padding:12px 25px;font-size:15px;line-height:1.5em;border-radius:6px}.btn-sm{padding:6.5px 17px;font-size:13px;line-height:1.5em;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:10px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn-group{display:inline-block;position:relative}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:0;margin:0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #767676;border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:12px 15px;font-size:13px;clear:both;font-weight:400;line-height:1.5em;color:#282828;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#5399ea;background-color:#f4f8f9}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#5399ea;text-decoration:none;outline:0;background-color:#f4f8f9}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.row{margin:0 -15px}.row:after{display:block;clear:both;content:""}.row:before{clear:both;content:''}.col-lg-1,.col-md-1,.col-sm-1,.col-xs-1{float:left;min-height:1px;width:8.33333%;padding:0 15px}.col-lg-2,.col-md-2,.col-sm-2,.col-xs-2{float:left;min-height:1px;width:16.66667%;padding:0 15px}.col-lg-3,.col-md-3,.col-sm-3,.col-xs-3{float:left;min-height:1px;width:25%;padding:0 15px}.col-lg-4,.col-md-4,.col-sm-4,.col-xs-4{float:left;min-height:1px;width:33.33333%;padding:0 15px}.col-lg-5,.col-md-5,.col-sm-5,.col-xs-5{float:left;min-height:1px;width:41.66667%;padding:0 15px}.col-lg-6,.col-md-6,.col-sm-6,.col-xs-6{float:left;min-height:1px;width:50%;padding:0 15px}.col-lg-7,.col-md-7,.col-sm-7,.col-xs-7{float:left;min-height:1px;width:58.33333%;padding:0 15px}.col-lg-8,.col-md-8,.col-sm-8,.col-xs-8{float:left;min-height:1px;width:66.66667%;padding:0 15px}.col-lg-9,.col-md-9,.col-sm-9,.col-xs-9{float:left;min-height:1px;width:75%;padding:0 15px}.col-lg-10,.col-md-10,.col-sm-10,.col-xs-10{float:left;min-height:1px;width:83.33333%;padding:0 15px}.col-lg-11,.col-md-11,.col-sm-11,.col-xs-11{float:left;min-height:1px;width:91.66667%;padding:0 15px}.col-lg-12,.col-md-12,.col-sm-12,.col-xs-12{float:left;min-height:1px;width:100%;padding:0 15px}[data-ax5grid]{margin:0;padding:0;position:relative;background:0 0;border:0}[data-ax5grid] table{border-collapse:collapse;border-spacing:0;border:0 none;width:100%;height:100%}[data-ax5grid] table thead tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#fafafa;border:0 none;color:#282828}[data-ax5grid] table thead tr th{box-sizing:border-box;overflow:hidden;position:relative;padding:10px;height:38px;text-align:center;border:1px solid #ddd;font-weight:400}[data-ax5grid] table tbody tr{border-bottom:0 none;background:0 0}[data-ax5grid] table tbody tr td{line-height:21px;padding:5px 10px;background-color:#fff;border:1px solid #ddd;font-weight:300}[data-ax5grid] table tbody tr td.empty{height:300px;vertical-align:middle;text-align:center}[data-ax5grid] table tfoot tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#f9f9f9;border:1px solid #ddd;color:#282828}[data-ax5grid] table tfoot tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:10px;border:1px solid #ddd;height:38px;text-align:center}[data-ax5grid] table tfoot tr td:last-child{border-right:0}[data-ax5grid] table tfoot tr:last-child td{border-bottom:0}.form-control{display:block;width:100%;height:38px;padding:7px 12px;font-size:15px;font-weight:400;line-height:1.5em;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #dcdcdc;border-radius:4px;box-shadow:none;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{border-color:#80bdff;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control.form-control-sm{height:34px;padding:6.5px 8.5px;font-size:13px;line-height:1.5em;border-radius:3px}.form-control.form-control-xs{height:26px;padding:4px 6px;font-size:11px;line-height:1.5em;border-radius:2px}.form-control.form-control-lg{height:48px;padding:12px 12.5px;font-size:15px;line-height:1.5em;border-radius:6px}select.form-control{background-image:url(../images/admin/frm-select-arrow.png);background-position:95% center;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control::-ms-expand{display:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.bottom-actions{-webkit-display:flex;display:-ms-flex;display:flex;align-items:center}.bottom-actions .left,.bottom-actions .right{-webkit-flex:1;-ms-flex:1;flex:1}.bottom-actions .center{-webkit-flex:2;-ms-flex:2;flex:2}.bottom-actions .left{text-align:left}.bottom-actions .right{text-align:right}.w-check{position:relative;display:inline-block;align-items:center;vertical-align:middle}.w-check+.w-check{margin-left:15px}.w-check span{-webkit-display:flex;display:-ms-flex;display:flex;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;align-items:center;height:34px}.w-check span:before{content:"";-webkit-display:flex;display:-ms-flex;display:flex;font-family:"Font Awesome 5 Pro";width:18px;height:18px;border:1px solid #e9e9e9;align-items:center;justify-content:center;margin-right:5px}.w-check input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.w-check input[type=checkbox]:checked+span:before{content:"\f00c";border-color:#5399ea;color:#5399ea}.ax-button-group{display:table;width:100%;min-height:40px}.ax-button-group .left,.ax-button-group .right{display:table-cell;vertical-align:bottom;padding:0 5px 10px 5px}.ax-button-group .left h1,.ax-button-group .left h2,.ax-button-group .left h3,.ax-button-group .left h4,.ax-button-group .left h5,.ax-button-group .left h6,.ax-button-group .right h1,.ax-button-group .right h2,.ax-button-group .right h3,.ax-button-group .right h4,.ax-button-group .right h5,.ax-button-group .right h6{line-height:26px}.ax-button-group .left{text-align:left}.ax-button-group .right{text-align:right}.ax-button-group.ax-button-group-bottom .left,.ax-button-group.ax-button-group-bottom .right{padding:0;vertical-align:middle}.ax-button-group.ax-button-group-bottom.sm{min-height:30px}.ax-button-group.ax-button-group-bottom.sm .left,.ax-button-group.ax-button-group-bottom.sm .right{padding:0 5px 7px 5px}.ax-button-group.ax-button-group-bottom .pagination{margin:0}[data-ax-tbl]{font-size:.9em;background:#fff;border-top:1px solid #d8d8d8;border-right:1px solid #d8d8d8;border-left:1px solid #d8d8d8;position:relative}[data-ax-tbl] [data-ax-tr]{border-bottom:1px solid #d8d8d8;-webkit-display:flex;display:-ms-flex;display:flex}[data-ax-tbl] [data-ax-tr] [data-ax-td]{float:left;-webkit-display:flex;display:-ms-flex;display:flex;table-layout:fixed;width:300px;vertical-align:top;min-height:40px}[data-ax-tbl] [data-ax-tr] [data-ax-td].width-auto{width:auto}[data-ax-tbl] [data-ax-tr] [data-ax-td].width-100{width:100%}[data-ax-tbl] [data-ax-tr] [data-ax-td].right{margin-left:auto;text-align:right}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]{-webkit-display:flex;display:-ms-flex;display:flex;align-items:center;justify-content:center;width:100px;padding:7px;background-color:#fbfbfb;background-image:-webkit-linear-gradient(top,#fbfbfb,#f6f6f6);background-image:linear-gradient(to bottom,#fbfbfb,#f6f6f6);border-right:1px solid #d8d8d8;vertical-align:middle;text-align:center;color:#363636}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label],fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]{color:#c8c8c8}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label] a{color:#363636}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-label]:empty{background:#fff;border-right-color:transparent}[data-ax-tbl] [data-ax-tr] [data-ax-td]+[data-ax-td] [data-ax-td-label]{border-left:1px solid #d8d8d8}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap]{display:block;padding:7px 7px;-webkit-flex:1;-ms-flex:1;flex:1;color:#68717b;line-height:1em}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] a{color:#68717b}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] a:after{content:' '}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .btn,[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{vertical-align:middle}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{font-size:1em}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control.inline-block{display:inline-block;width:auto}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] textarea.form-control{resize:vertical}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control-static{padding:7px;min-height:0}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline,[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline{line-height:21px;padding:0;display:inline-block}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline input[type=checkbox],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .checkbox-inline input[type=radio],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline input[type=checkbox],[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline input[type=radio]{display:inline-block;position:static;margin:0 3px;vertical-align:middle}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline{margin-top:5px}[data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .radio-inline+.radio-inline{margin-top:5px}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap],fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap]{color:#c8c8c8}fieldset[disabled] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control,fieldset[readonly] [data-ax-tbl] [data-ax-tr] [data-ax-td] [data-ax-td-wrap] .form-control{background-color:#eee;opacity:1}.pagination{display:block;width:100%;text-align:center;list-style:none;margin:0;padding:0;font-size:0}.pagination li{display:inline-block;font-size:0;margin:0 3px}.pagination li a,.pagination li span{display:block;font-size:15px;color:#979797;padding:5px 10px;background-color:#f4f8f9;border-radius:2px;border:1px solid #979797}.pagination li.active a,.pagination li.active span{background-color:#5399ea;color:#fff;border-color:#5399ea}.pagination li.disabled a,.pagination li.disabled span{cursor:not-allowed;opacity:.4}.pagination li:hover:not(.disabled) a{background-color:#fff}/*! jQuery UI - v1.12.1 - 2017-07-23 http://jqueryui.com Includes: sortable.css, core.css, datepicker.css, theme.css To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:400;color:#454545}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#454545;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #ccc;background:#ededed;font-weight:400;color:#2b2b2b}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{border:1px solid #003eff;background:#007fff;font-weight:400;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_555555_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_777620_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(images/ui-icons_777777_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:3px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}/*! Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) */.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scale(-1,1)}.fa-flip-vertical{transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-alarm-clock:before{content:"\f34e"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blanket:before{content:"\f498"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-heart:before{content:"\f499"}.fa-book-open:before{content:"\f518"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-alt:before{content:"\f49a"}.fa-box-check:before{content:"\f467"}.fa-box-fragile:before{content:"\f49b"}.fa-box-full:before{content:"\f49c"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-up:before{content:"\f49f"}.fa-box-usd:before{content:"\f4a0"}.fa-boxes:before{content:"\f468"}.fa-boxes-alt:before{content:"\f4a1"}.fa-boxing-glove:before{content:"\f438"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-browser:before{content:"\f37e"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-alt-check:before{content:"\f4a2"}.fa-comment-alt-dots:before{content:"\f4a3"}.fa-comment-alt-edit:before{content:"\f4a4"}.fa-comment-alt-exclamation:before{content:"\f4a5"}.fa-comment-alt-lines:before{content:"\f4a6"}.fa-comment-alt-minus:before{content:"\f4a7"}.fa-comment-alt-plus:before{content:"\f4a8"}.fa-comment-alt-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-alt-times:before{content:"\f4ab"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-edit:before{content:"\f4ae"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-times:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-alt:before{content:"\f4b6"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-wide:before{content:"\f326"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-container-storage:before{content:"\f4b7"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-times:before{content:"\f317"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-fragile:before{content:"\f4bb"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-heart:before{content:"\f4c3"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-usd:before{content:"\f4c5"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt:before{content:"\f4c6"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle:before{content:"\f4c7"}.fa-heart-square:before{content:"\f4c8"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-hexagon:before{content:"\f312"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-home:before{content:"\f015"}.fa-home-heart:before{content:"\f4c9"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-inventory:before{content:"\f480"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-lamp:before{content:"\f4ca"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-loveseat:before{content:"\f4cc"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-brush-alt:before{content:"\f5a9"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-pennant:before{content:"\f456"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-carry:before{content:"\f4cf"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-r-project:before{content:"\f4f7"}.fa-racquet:before{content:"\f45a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-scanner:before{content:"\f488"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scrubber:before{content:"\f2f8"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-shuttlecock:before{content:"\f45b"}.fa-sign:before{content:"\f4d9"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-plus:before{content:"\f5b9"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-spade:before{content:"\f2f4"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-couch:before{content:"\f4dd"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-ramp:before{content:"\f4e0"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f2e2"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-watch:before{content:"\f2e1"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:400;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'Font Awesome 5 Pro';font-weight:400}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:300;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:'Font Awesome 5 Pro';font-weight:300}@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:900;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'Font Awesome 5 Pro';font-weight:900}@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands'}/*! Copyright (c) 2017. tom@axisj.com - github.com/thomasjang - www.axisj.com */[data-ax5grid]{box-sizing:border-box}[data-ax5grid] *,[data-ax5grid] :after,[data-ax5grid] :before{box-sizing:border-box}[data-ax5grid] [data-ax5grid-container=root]{margin:0;padding:0;position:relative;background:#fff;border:1px solid #ccc;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=hidden]{margin:0;padding:0;position:absolute;left:-100%;top:-100%;height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header]{user-select:none;margin:0;padding:0;position:relative;overflow:hidden;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);border:0 none;border-bottom:1px solid #ccc;color:#222}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel]{margin:0;padding:0;position:absolute;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:0 none;width:100%;height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr{border-bottom:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-0{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-1{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-2{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.tr-3{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr.hover{background:#e1eef8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-grouping-tr=true]{background:#ffffe7}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true]{background:#e3f1ff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=lineNumber],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox{cursor:not-allowed;background-color:#d7d7d7;background-image:-webkit-linear-gradient(top,#d7d7d7,#e6e6e6);background-image:linear-gradient(to bottom,#d7d7d7,#e6e6e6)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.merged{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:0;font-size:12px;border:0 none;cursor:pointer;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.hasBorder{border-right:1px solid #ccc;border-bottom:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td.focused{box-shadow:inset 0 0 1px 1px #0581f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td:hover{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#eee);background-image:linear-gradient(to bottom,#eee,#eee)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{border-right:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-selected]{background:#b1d7fe;border-color:#ccc;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-focused]{box-shadow:inset 0 0 1px 1px #0581f2;background:#e3f1ff;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector]{cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] [data-ax5grid-cellHolder]{padding:5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector][data-ax5grid-selected=true] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder]{display:block;box-sizing:border-box;padding:3px 5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=left]{text-align:left}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=center]{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=right]{text-align:right}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-cellHolder=multiLine]{white-space:normal}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]{position:absolute;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]::-ms-clear{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select]{position:absolute;display:block;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select] .ax5select-display{height:100%;border-radius:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox][data-ax5grid-checked=true]:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-arrow]{display:inline-block;box-sizing:content-box;text-align:right;text-shadow:0 -1px #fff;padding:0 5px 0 0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]{cursor:pointer;text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]:hover{text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=group]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=item]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-header]{border-right:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-header] table tr td{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body]{border-right:1px solid #ccc;background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr{background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr td{text-align:center;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=left-header],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-left-body]{border-right:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=top-right-body]{border-bottom:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{border-top:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{background:#ffe7e2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-panel] [data-ax5grid-panel-scroll]{position:absolute;left:0;top:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-resizer]{position:absolute;right:0;top:0;width:4px;height:100%;cursor:col-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-resizer]:hover{background:#f30;opacity:.5}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]{position:relative;width:10px;height:10px;display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]:before{top:0;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:3.6px solid transparent;border-right:3.6px solid transparent;border-bottom:4.09091px solid #000;background:0 0;opacity:.3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort]:after{bottom:0;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:3.6px solid transparent;border-right:3.6px solid transparent;border-top:4.09091px solid #000;background:0 0;opacity:.3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=asc]:before{top:2px;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid #000;background:0 0;opacity:.8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=asc]:after{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=desc]:before{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-sort][data-ax5grid-column-sort-order=desc]:after{bottom:2px;left:0;position:absolute;content:' ';width:0;height:0;display:inline-block;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #000;background:0 0;opacity:.8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-filter]{position:absolute;left:0;top:0;width:10px;height:10px;cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=header] [data-ax5grid-column-filter]:before{content:' ';width:0;height:0;display:inline-block;border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid #000;background:0 0;opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body]{margin:0;padding:0;position:relative;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel]{margin:0;padding:0;position:absolute;overflow:hidden}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:0 none;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr{border-bottom:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-0{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-1{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-2{background:#f3f3f3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.tr-3{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr.hover{background:#e1eef8}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-grouping-tr=true]{background:#ffffe7}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true]{background:#e3f1ff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=lineNumber],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector]{box-shadow:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-selected=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox{cursor:not-allowed;background-color:#d7d7d7;background-image:-webkit-linear-gradient(top,#d7d7d7,#e6e6e6);background-image:linear-gradient(to bottom,#d7d7d7,#e6e6e6)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr[data-ax5grid-disable-selection=true] td[data-ax5grid-column-attr=rowSelector] .checkBox:after{opacity:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.merged{background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td{box-sizing:border-box;overflow:hidden;position:relative;padding:0;font-size:12px;border:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.hasBorder{border-right:1px solid #ccc;border-bottom:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td.focused{box-shadow:inset 0 0 1px 1px #0581f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-row=null]{border-right:0 none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-selected]{background:#b1d7fe;border-color:#ccc;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-focused]{box-shadow:inset 0 0 1px 1px #0581f2;background:#e3f1ff;color:#000}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector]{cursor:pointer}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] [data-ax5grid-cellHolder]{padding:5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%;width:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector] .checkBox:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td[data-ax5grid-column-attr=rowSelector][data-ax5grid-selected=true] .checkBox:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder]{display:block;box-sizing:border-box;padding:3px 5px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=left]{text-align:left}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=center]{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-text-align=right]{text-align:right}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder][data-ax5grid-cellHolder=multiLine]{white-space:normal}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]{position:absolute;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor]::-ms-clear{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select]{position:absolute;display:block;left:0;top:0;width:100%;height:100%;border:0 none;background:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5select] .ax5select-display{height:100%;border-radius:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]{display:inline-block;position:relative;border:1px solid #ccc;border-radius:3px;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox]:after{content:'';width:60%;height:40%;position:absolute;top:20%;right:20%;border:.2em solid #5399ea;border-top:none;border-right:none;background:0 0;opacity:0;-webkit-transform:rotate(-50deg);-moz-transform:rotate(-50deg);-ms-transform:rotate(-50deg);-o-transform:rotate(-50deg);transform:rotate(-50deg)}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-editor=checkbox][data-ax5grid-checked=true]:after{opacity:1}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-arrow]{display:inline-block;box-sizing:content-box;text-align:right;text-shadow:0 -1px #fff;padding:0 5px 0 0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]{cursor:pointer;text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] a[data-ax5grid-tnode-arrow]:hover{text-decoration:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=group]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] table tr td [data-ax5grid-cellHolder] [data-ax5grid-tnode-item=item]{display:inline-block}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-header]{border-right:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-header] table tr td{text-align:center}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body]{border-right:1px solid #ccc;background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr{background:#f2f2f2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body] table tr td,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body] table tr td{text-align:center;box-shadow:inset 1px 1px 0 0 #fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=left-header],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-left-body]{border-right:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=top-right-body]{border-bottom:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{border-top:1px solid #b3b3b3}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-aside-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-left-body],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel][data-ax5grid-panel=bottom-right-body]{background:#ffe7e2}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=body] [data-ax5grid-panel] [data-ax5grid-panel-scroll]{position:absolute;left:0;top:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page]{margin:0;padding:0;position:absolute;bottom:0;left:0;width:100%;overflow:hidden;background-color:#fff;background-image:-webkit-linear-gradient(top,#fff,#f0f0f0);background-image:linear-gradient(to bottom,#fff,#f0f0f0);border:0 none;border-top:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder]{margin:0;padding:0;display:table;width:100%;height:100%}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation]{margin:0;padding:0;display:table-cell;vertical-align:middle;text-align:left;padding-left:5px;font-size:12px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder]{display:table}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell-paging],[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell]{display:table-cell;vertical-align:middle}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-navigation=cell-paging]{padding:0 5px}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]{box-sizing:border-box;min-width:20px;border-radius:5px;padding:1px;border:0 none;background:0 0;font-size:11px;color:#222;outline:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]:active,[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move][data-ax5grid-page-selected=true]{background-color:#888;color:#fff}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=navigation] [data-ax5grid-page-navigation=holder] [data-ax5grid-page-move]:hover{text-decoration:underline}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=page] [data-ax5grid-page=holder] [data-ax5grid-page=status]{margin:0;padding:0;display:table-cell;text-align:right;vertical-align:middle;padding-right:10px;font-size:12px;color:#222}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller]{margin:0;padding:0;position:absolute;right:0;bottom:0}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical]{box-sizing:border-box;position:absolute;display:none;right:0;bottom:0;width:15px;height:100%;background:#f3f3f3;border-left:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical] [data-ax5grid-scroller=vertical-bar]{position:absolute;top:0;left:0;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;box-sizing:border-box;border:0 solid #fff;background:#ccc;cursor:ns-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=vertical] [data-ax5grid-scroller=vertical-bar]:hover{border:0 solid #ccc;background:#bababa}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal]{box-sizing:border-box;position:absolute;display:none;right:0;bottom:0;height:15px;width:100%;background:#f3f3f3;border-top:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal] [data-ax5grid-scroller=horizontal-bar]{position:absolute;top:0;left:0;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;box-sizing:border-box;border:0 solid #fff;background:#ccc;cursor:ew-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=horizontal] [data-ax5grid-scroller=horizontal-bar]:hover{border:0 solid #ccc;background:#bababa}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-container=scroller] [data-ax5grid-scroller=corner]{position:absolute;display:none;right:0;bottom:0;width:15px;height:15px;background:#eaedef;border-top:1px solid #ccc;border-left:1px solid #ccc}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=horizontal]{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=horizontal].live{display:block;position:absolute;top:0;left:0;background:#f30;opacity:.5;height:100%;width:2px;cursor:col-resize}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=vertical]{display:none}[data-ax5grid] [data-ax5grid-container=root] [data-ax5grid-resizer=vertical].live{display:block;position:absolute;top:0;left:0;background:#f30;opacity:.5;height:2px;width:100%;cursor:row-resize}@-webkit-keyframes ax-mask{from{opacity:0}to{opacity:.6}}@-moz-keyframes ax-mask{from{opacity:0}to{opacity:.6}}@keyframes ax-mask{from{opacity:0}to{opacity:.6}}@-webkit-keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}@-moz-keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}@keyframes ax-mask-fade-out{from{opacity:.6}to{opacity:0}}.ax-masking{-webkit-filter:blur(3px);-webkit-transform:scale(.96);-moz-transform:scale(.96);-ms-transform:scale(.96);-o-transform:scale(.96);transform:scale(.96);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.ax-mask{box-sizing:border-box;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%}.ax-mask *,.ax-mask :after,.ax-mask :before{box-sizing:border-box}.ax-mask .ax-mask-bg{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;opacity:.6}.ax-mask .ax-mask-content{z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;display:table;vertical-align:middle;text-align:center;color:#fff;text-shadow:0 1px 0 #000}.ax-mask .ax-mask-content *{color:inherit}.ax-mask .ax-mask-content>div{display:table-cell;vertical-align:middle;text-align:center}.ax-mask.fade-out{-webkit-animation:ax-mask-fade-out .25s;-moz-animation:ax-mask-fade-out .25s;animation:ax-mask-fade-out .25s;opacity:0}@-webkit-keyframes ax-modal{0%{opacity:0;-webkit-transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1)}}@-moz-keyframes ax-modal{0%{opacity:0;-moz-transform:scale(.8)}100%{opacity:1;-moz-transform:scale(1)}}@keyframes ax-modal{0%{opacity:0;-webkit-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ax-modal-destroy{100%{opacity:0;-webkit-transform:translateY(20%)}0%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes ax-modal-destroy{100%{opacity:0;-moz-transform:translateY(20%)}0%{opacity:1;-moz-transform:translateY(0)}}@keyframes ax-modal-destroy{100%{opacity:0;-webkit-transform:translateY(20%);-moz-transform:translateY(20%);-ms-transform:translateY(20%);-o-transform:translateY(20%);transform:translateY(20%)}0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes ax-modal-fullscreen{0%{-webkit-transform:translateY(20%)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes ax-modal-fullscreen{0%{-moz-transform:translateY(20%)}100%{-moz-transform:translateY(0)}}@keyframes ax-modal-fullscreen{0%{-webkit-transform:translateY(20%);-moz-transform:translateY(20%);-ms-transform:translateY(20%);-o-transform:translateY(20%);transform:translateY(20%)}100%{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes ax-modal-fullscreen-destroy{0%{-webkit-transform:translateY(0)}100%{-webkit-transform:translateY(100%)}}@-moz-keyframes ax-modal-fullscreen-destroy{0%{-moz-transform:translateY(0)}100%{-moz-transform:translateY(100%)}}@keyframes ax-modal-fullscreen-destroy{0%{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}100%{-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);-o-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@-moz-keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes ax-modal-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}@-moz-keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes ax-modal-fade-out{0%{opacity:1}100%{opacity:0}}.ax5modal{-webkit-animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal .3s cubic-bezier(.175,.885,.32,1.275) forwards;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);box-sizing:border-box;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 0 5px 0 rgba(0,0,0,.6);z-index:2000;position:fixed;left:0;top:0;box-sizing:content-box}.ax5modal *{box-sizing:border-box}.ax5modal :after,.ax5modal :before{box-sizing:border-box}.ax5modal *,.ax5modal :after,.ax5modal :before{box-sizing:border-box}.ax5modal .ax-modal-header{user-select:none;font-weight:600;padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;cursor:move}.ax5modal .ax-modal-header .ax-modal-header-addon{position:absolute;right:0;top:0;padding:10px 10px}.ax5modal .ax-modal-header .ax-modal-header-addon [data-modal-header-btn]{border:0;padding:0 2px;background:0 0;display:inline-block;text-align:center;cursor:pointer;outline:0}.ax5modal .ax-modal-body{border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:0;text-align:center;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;position:relative;overflow:hidden}.ax5modal .ax-modal-body iframe{border:0 none}.ax5modal .ax-modal-body .fadeIn{-webkit-animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fade-in .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal .ax-modal-body .fadeOut{-webkit-animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fade-out .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal .ax-modal-header{color:#222;background:#f5f5f5}.ax5modal .ax-modal-header .ax-modal-header-addon a{color:#222;outline:0}.ax5modal.destroy{-webkit-animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-destroy .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal.fullscreen{border:0 none;border-radius:0;box-shadow:none;-webkit-animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards;-moz-animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation:ax-modal-fullscreen .3s cubic-bezier(.175,.885,.32,1.275) forwards}.ax5modal.fullscreen.destroy{-webkit-animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards;-moz-animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards;animation:ax-modal-fullscreen-destroy .3s cubic-bezier(.19,1,.22,1) forwards}.ax5modal.draged .ax-modal-header{opacity:.5}.ax5modal.draged .ax-modal-body{opacity:.5}.ax5modal [data-ax5modal-resizer]{position:absolute;display:block}.ax5modal [data-ax5modal-resizer]:before{position:absolute;content:' ';display:block;width:auto;height:auto;left:auto;top:auto;right:auto;bottom:auto}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top]{left:0;top:0;width:100%;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top]:before{width:100%;height:8px;left:0;top:-4px;cursor:row-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom]{left:0;bottom:0;width:100%;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom]:before{width:100%;height:8px;left:0;top:-4px;cursor:row-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=left]{left:0;top:0;width:0;height:100%}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=left]:before{width:8px;height:100%;left:-4px;top:0;cursor:col-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=right]{right:0;top:0;width:0;height:100%}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=right]:before{width:8px;height:100%;left:-4px;top:0;cursor:col-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-left]{left:0;top:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-left]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nwse-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-right]{right:0;top:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=top-right]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nesw-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-left]{left:0;bottom:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-left]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nesw-resize}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-right]{right:0;bottom:0;width:0;height:0}.ax5modal [data-ax5modal-resizer][data-ax5modal-resizer=bottom-right]:before{width:8px;height:8px;left:-4px;top:-4px;cursor:nwse-resize}.ax5modal-resizer-background{position:fixed;left:0;top:0;width:100%;height:100%;background:0 0;z-index:2000;cursor:move}.ax5modal-resizer{position:absolute;left:0;top:0;z-index:2001;cursor:move;box-sizing:border-box;background-color:#ccc;border:1px solid red;opacity:.3;border-radius:4px;box-shadow:0 0 5px 0 rgba(0,0,0,.6)}@-webkit-keyframes ax-toast-bottom{from{-webkit-transform:translateY(-100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes ax-toast-bottom{from{-moz-transform:translateY(-100px) scale(.7)}to{-moz-transform:translateY(0) scale(1)}}@keyframes ax-toast-bottom{from{-webkit-transform:translateY(-100px) scale(.7);-moz-transform:translateY(-100px) scale(.7);-ms-transform:translateY(-100px) scale(.7);-o-transform:translateY(-100px) scale(.7);transform:translateY(-100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes ax-toast-top{from{-webkit-transform:translateY(100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1)}}@-moz-keyframes ax-toast-top{from{-moz-transform:translateY(100px) scale(.7)}to{-moz-transform:translateY(0) scale(1)}}@keyframes ax-toast-top{from{-webkit-transform:translateY(100px) scale(.7);-moz-transform:translateY(100px) scale(.7);-ms-transform:translateY(100px) scale(.7);-o-transform:translateY(100px) scale(.7);transform:translateY(100px) scale(.7)}to{-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes ax-toast-removed-bottom{from{-webkit-transform:translateY(0);opacity:1}to{-webkit-transform:translateY(10px) scale(.7);opacity:0}}@-moz-keyframes ax-toast-removed-bottom{from{-moz-transform:translateY(0);opacity:1}to{-moz-transform:translateY(10px) scale(.7);opacity:0}}@keyframes ax-toast-removed-bottom{from{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(10px) scale(.7);-moz-transform:translateY(10px) scale(.7);-ms-transform:translateY(10px) scale(.7);-o-transform:translateY(10px) scale(.7);transform:translateY(10px) scale(.7);opacity:0}}@-webkit-keyframes ax-toast-removed-top{from{-webkit-transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-10px) scale(.7);opacity:0}}@-moz-keyframes ax-toast-removed-top{from{-moz-transform:translateY(0);opacity:1}to{-moz-transform:translateY(-10px) scale(.7);opacity:0}}@keyframes ax-toast-removed-top{from{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-10px) scale(.7);-moz-transform:translateY(-10px) scale(.7);-ms-transform:translateY(-10px) scale(.7);-o-transform:translateY(-10px) scale(.7);transform:translateY(-10px) scale(.7);opacity:0}}@-webkit-keyframes ax-toast-destroy{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(1.5);opacity:0}}@-moz-keyframes ax-toast-destroy{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(1.5);opacity:0}}@keyframes ax-toast-destroy{from{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(1.5);-moz-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);opacity:0}}.ax5-ui-toast-container{z-index:2000;position:fixed;width:auto;padding:10px;box-sizing:border-box}.ax5-ui-toast-container *,.ax5-ui-toast-container :after,.ax5-ui-toast-container :before{box-sizing:border-box}.ax5-ui-toast-container .ax5-ui-toast{box-sizing:border-box;border:1px solid gray;opacity:.9;border-radius:8px;box-shadow:0 0 5px 0 rgba(0,0,0,.175);position:relative;margin:5px 0 5px 0;display:table;padding:6px;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#fff;color:#282828}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-icon{display:table-cell;padding:6px;text-align:left;font-size:24px;width:24px;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-body{display:table-cell;padding:6px;text-align:left;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-buttons{display:table-cell;padding:6px;text-align:right;vertical-align:middle}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-buttons button:not(:last-child){margin-right:3px}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-close{display:table-cell;padding:6px;text-align:right;vertical-align:top;text-decoration:none;cursor:pointer}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-icon{color:#282828}.ax5-ui-toast-container .ax5-ui-toast .ax-toast-close{color:#282828}.ax5-ui-toast-container .ax5-ui-toast.primary{background:#fff;color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.primary .ax-toast-icon{color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.primary .ax-toast-close{color:#5399ea}.ax5-ui-toast-container .ax5-ui-toast.success{background:#fff;color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.success .ax-toast-icon{color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.success .ax-toast-close{color:#1ffd32}.ax5-ui-toast-container .ax5-ui-toast.info{background:#fff;color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.info .ax-toast-icon{color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.info .ax-toast-close{color:#3498db}.ax5-ui-toast-container .ax5-ui-toast.warning{background:#ffb802;color:#fff}.ax5-ui-toast-container .ax5-ui-toast.warning .ax-toast-icon{color:#ffb802}.ax5-ui-toast-container .ax5-ui-toast.warning .ax-toast-close{color:#fff}.ax5-ui-toast-container .ax5-ui-toast.danger{background:#ffb802;color:#fff}.ax5-ui-toast-container .ax5-ui-toast.danger .ax-toast-icon{color:#e32815}.ax5-ui-toast-container .ax5-ui-toast.danger .ax-toast-close{color:#fff}.ax5-ui-toast-container.bottom-left{left:0;bottom:0}.ax5-ui-toast-container.bottom-left .ax5-ui-toast{-webkit-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.bottom-left .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-bottom .3s ease forwards;-moz-animation:ax-toast-removed-bottom .3s ease forwards;animation:ax-toast-removed-bottom .3s ease forwards}.ax5-ui-toast-container.bottom-left .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.bottom-right{right:0;bottom:0}.ax5-ui-toast-container.bottom-right .ax5-ui-toast{-webkit-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-top .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.bottom-right .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-bottom .3s ease forwards;-moz-animation:ax-toast-removed-bottom .3s ease forwards;animation:ax-toast-removed-bottom .3s ease forwards}.ax5-ui-toast-container.bottom-right .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.top-left{left:0;top:0}.ax5-ui-toast-container.top-left .ax5-ui-toast{-webkit-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.top-left .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-top .3s ease forwards;-moz-animation:ax-toast-removed-top .3s ease forwards;animation:ax-toast-removed-top .3s ease forwards}.ax5-ui-toast-container.top-left .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ax5-ui-toast-container.top-right{right:0;top:0}.ax5-ui-toast-container.top-right .ax5-ui-toast{-webkit-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);-moz-animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1);animation:ax-toast-bottom .3s cubic-bezier(.86,0,.07,1)}.ax5-ui-toast-container.top-right .ax5-ui-toast.removed{-webkit-animation:ax-toast-removed-top .3s ease forwards;-moz-animation:ax-toast-removed-top .3s ease forwards;animation:ax-toast-removed-top .3s ease forwards}.ax5-ui-toast-container.top-right .ax5-ui-toast.destroy{-webkit-animation:ax-toast-destroy .3s ease forwards;-moz-animation:ax-toast-destroy .3s ease forwards;animation:ax-toast-destroy .3s ease forwards}.ui-datepicker{padding:0;font-family:inherit}.ui-datepicker .ui-icon{background-image:none}.ui-datepicker.ui-widget.ui-widget-content{border:0 none;box-shadow:0 0 10px rgba(0,0,0,.4)}.ui-datepicker th{font-weight:400}.ui-datepicker td{padding:0;text-align:center}.ui-datepicker td .ui-state-default{background-color:transparent;border:0 none;text-align:center}.ui-datepicker td .ui-state-default:hover{background-color:#5399ea;color:#fff}.ui-datepicker td .ui-state-highlight{color:#5399ea}.ui-datepicker td .ui-state-active{background-color:#5399ea;color:#fff}.ui-datepicker .ui-widget-header{background-color:#5399ea;color:#fff;border:0 none;border-bottom-left-radius:0;border-bottom-right-radius:0}.ui-datepicker .ui-datepicker-header{padding:0;height:30px;-webkit-display:flex;display:-ms-flex;display:flex;align-items:center}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{text-align:center;width:30px;height:30px;top:0;-webkit-display:flex;display:-ms-flex;display:flex;align-items:center;justify-content:center;border-radius:0}.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-next.ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-prev.ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover{background-color:#3185e6;color:#fff;border:0 none;cursor:pointer}.ui-datepicker .ui-datepicker-prev{left:0}.ui-datepicker .ui-datepicker-next{right:0}.ui-datepicker .ui-datepicker-title{width:100%}.ui-datepicker .ui-datepicker-title select{vertical-align:middle;background:0 0;border:0 none;color:#fff;height:30px;line-height:30px;outline:0 none!important;text-align:center;margin:0;font-family:inherit}.ui-datepicker .ui-datepicker-title select option{color:#333}#login-form{width:100%;height:100%;display:flex;background:url(../images/admin/login-bg.jpg);justify-content:center;align-items:center}#login-form .login-logo{font-size:32px;font-weight:900;color:#fff;-webkit-animation:SLIDE-UP .6s linear forwards;-o-animation:SLIDE-UP .6s linear forwards;animation:SLIDE-UP .6s linear forwards;margin-bottom:20px;text-align:center}#login-form .login-notice{color:#ccc;font-size:12px;text-align:center;letter-spacing:-.04em;margin-top:10px}#login-form .login-panel{-webkit-animation:SLIDE-DOWN .6s linear forwards;-o-animation:SLIDE-DOWN .6s linear forwards;animation:SLIDE-DOWN .6s linear forwards;border:1px solid #788694;width:320px;box-shadow:0 0 10px #000;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.5);margin:0 auto}#login-form .login-panel .login-heading{padding:10px 15px;border-top-right-radius:2px;border-top-left-radius:2px;color:#ccc;border-bottom:1px solid #788694;font-size:.9em;background:rgba(255,255,255,.1);text-align:center}#login-form .login-panel .login-body{padding:20px 20px;color:#eee;text-align:left}#login-form .login-panel .form-control{background:0 0;text-align:center;color:#fff;border:#ccc 1px solid}#login-form .login-panel .btn{background:#000;color:#fff;border:1px solid #ccc;padding:10px} /*# sourceMappingURL=admin.min.css.map */ diff --git a/public_html/assets/css/admin.min.css.map b/public_html/assets/css/admin.min.css.map index 6242125..c5fb133 100644 --- a/public_html/assets/css/admin.min.css.map +++ b/public_html/assets/css/admin.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["admin.scss","boot/_fonts.scss","admin.min.css","boot/_reset.scss","common/_animation.scss","common/_layout.scss","common/_utility.scss","_variables.scss","boot/_mixins.scss","components/_buttons.scss","boot/_function.scss","components/_dropdown.scss","components/_grid.scss","components/_form.scss","components/_pagination.scss","plugins/_jquery_ui.scss","plugins/fontawesome5/fontawesome.scss","plugins/fontawesome5/_core.scss","plugins/fontawesome5/_larger.scss","plugins/fontawesome5/_fixed-width.scss","plugins/fontawesome5/_list.scss","plugins/fontawesome5/_variables.scss","plugins/fontawesome5/_bordered-pulled.scss","plugins/fontawesome5/_animated.scss","plugins/fontawesome5/_rotated-flipped.scss","plugins/fontawesome5/_mixins.scss","plugins/fontawesome5/_stacked.scss","plugins/fontawesome5/_icons.scss","plugins/fontawesome5/_screen-reader.scss","plugins/fontawesome5/fa-regular.scss","plugins/fontawesome5/fa-light.scss","plugins/fontawesome5/fa-solid.scss","plugins/fontawesome5/fa-brands.scss","plugins/ax5ui/_mixin.scss","plugins/ax5ui/_ax5grid.scss","plugins/ax5ui/_bourbon_support.scss","plugins/ax5ui/_ax5mask.scss","plugins/ax5ui/_ax5modal.scss","plugins/ax5ui/_ax5toast.scss","plugins/_plugins_custom.scss","pages/_login.scss"],"names":[],"mappings":"iBA4BA,uBC5BA,WACE,EAAA,IAAA,KAAW,KAAE,iBCEd,WAAY,KDOb,cACE,IAAA,MAAa,KCNd,YAAa,IAAI,MAAM,KDexB,aACE,IAAA,MAAW,KCdZ,WAAY,IAAI,MAAM,KDuBvB,MAAA,KCrBC,YAAa,gBAAgB,CAAE,SAAS,CAAE,KAAK,CAAE,WDgClD,QAAU,IC9BT,aAAc,EDwCf,YACE,ICvCD,SAAU,SD8CX,QAAU,KC5CT,gBAAiB,WDoDlB,WACE,WCnDD,QAAS,KAEV,kCCnBA,QAAA,IAAA,EAAA,IAAA,IASA,8BDeC,SAAU,SCJT,KAAA,EDMD,IAAK,ECDN,MAAO,KDGN,OAAQ,MCCT,WACQ,IDAP,OAAQ,KAIT,8BCgBA,OAAQ,eDZR,iBCqBA,sBACI,KDpBH,oBAAqB,KC2BtB,mBAEE,KD3BD,iBAAkB,KC+BnB,gBAGE,KDhCD,eAAgB,KCoCjB,YAEA,KDlCA,4BAA8B,WAAY,IC2C1C,iCAEC,WAAA,IAED,qCD3CC,QAAS,aC+CV,SACE,OD9CD,WAAY,KCsDb,yBDlDC,gBAAiB,WCsDlB,WAEE,WDtDD,QAAS,EC4DV,OAAM,EDxDN,0CAA2C,0CC4D1C,QACM,KDzDP,iDAAkD,iDCwDjD,QAWO,MD/DR,0CCoDC,MAWO,MD7DP,MAAO,KC8ER,YAEG,IAMH,qDDlFC,MAAO,MCyFR,aACQ,IDxFP,YAAa,ECgGd,2DD5FC,MAAO,MCqGR,0CDjGC,MAAO,KCyGR,MACE,KDxGD,WAAY,OC4Gb,YACE,ID3GD,WAAY,EAEb,qDC6GA,MAAM,MD3GL,aAAc,ICoHf,YACM,EDjHN,oECgIA,WACA,ID/HC,cAAe,IC0IhB,2CDtIC,SAAU,SC8IX,WAAW,OD1IX,uCAEA,oCCqJA,oCAKA,4CDxJC,iBAAkB,o5DC2KnB,uCDvKC,QAAS,GC2KV,oBAAe,MAAA,MDzKd,QAAS,aC8KV,MAAM,ID5KL,OAAQ,KCiLT,eAAe,OD7Kf,oCCyLA,MAAO,KDvLN,oBAAqB,MAAM,EAE5B,4CC8LA,MAAQ,KD5LP,oBAAqB,MAAM,ECgM5B,YACE,ID7LF,oCACC,MEnIK,MFoIL,oBElIoB,EAAE,EFqIvB,oCACA,oCACA,4CACC,iBAAkB,YEzHnB,kBAAU,UF2HT,OExHG,EAAA,KFyHH,OExHG,QFyHH,QExHG,MFyHH,OExHG,KFyHH,QExHG,GF0HH,QEtHG,OAAA,KFuHH,SEtHG,OFuHH,QEtHG,EFuHH,SEtHG,SFuHH,YEtHY,KFuHZ,YAAa,OEnHd,MAAA,KFqHC,UElHG,EAQJ,uDF6GA,uDAEC,ME5GG,KF6GH,oBE1Ge,MAAA,MF2Gf,OE1GG,KF2GH,MAAO,KEvGR,QAAU,MFyGT,YEtGG,KFuGH,WEtGG,IFyGJ,kEADA,kEAEC,MErGK,KFsGL,YEpGG,EFqGH,aEpGG,KFuGJ,uDACC,oBAAqB,MAAM,EEjG5B,cAAA,IFmGC,WE9FG,EFiGJ,2DACC,OAAQ,MErFT,SAAA,OFuFC,cEpFG,IAAgB,MAAA,KFuFpB,mEACC,WElFG,QFmFH,WElFG,IAAA,MAAgB,KFmFnB,MElFG,KFmFH,UElFG,KFmFH,WElFY,OFmFZ,gBAAiB,SE/ElB,OAAA,QFiFC,oBE5EG,EF6EH,OAAQ,KEzET,YAAA,KASA,+EFqEC,iBElEiB,EFsElB,0CACA,0CAFA,kDAGC,QEhEG,ECnJJ,qCHwNC,QAAS,OGlNV,SACE,SHmND,QAAS,KGpNV,OAaE,EHyMD,QAAS,IAAI,IGtNd,UAmBE,KHqMD,YAAa,KGxNd,YA0BE,IHgMD,iBAAkB,KG1NnB,MA0BE,KHkMD,MAAO,MG5NR,WA0CE,OHoLD,OAAQ,QG/JT,gDHmKC,gBAAiB,UGnKlB,6CHuKC,QAAS,EGvKV,oDH2KC,OAAQ,IAAI,MAAM,KG3KnB,SASE,SHoKD,MAAO,EG7KR,IASE,KHsKD,QAAS,IG/KV,QASE,KHwKD,WAAY,KGjLb,WASE,MH0KD,WAAY,OGnLb,uEAoF6B,MACjB,KHkGZ,sEAAyE,MAAO,IGvLhF,6EHyLC,MAAO,KGzLR,WASE,QHoLF,uEG7LA,QASE,IAAA,KAAA,IAAgB,IHsLjB,gBAAiB,eG9DlB,sFHkEC,WAAY,KGlEb,WAGE,QAAA,EAAA,IACE,IAAA,EAAA,MHgEH,MAAO,KGpER,YAGE,IHqEF,qCGxDA,MAOE,MHmDD,WAAY,MG1Db,wCH8DC,MAAO,KG9DR,oCHkEC,MAAO,K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,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBAIV,IACE,MAAO,cADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBAIT,IACE,OAAO,IAET,KACE,WAAW,IAEb,KACE,aAAa,IAEf,KACE,cAAc,IAEhB,KACE,YAAY,IAEd,KACE,YAAY,IAEd,KACE,cAAc,IAEhB,KACE,eAAe,IAEjB,KACE,aAAa,IAEf,IACE,QAAQ,IA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KAIZ,aACE,WAAW,iBAGb,WACE,WAAW,eAGb,YACE,WAAW,gBAKX,cACE,MC5Da,QD2Df,gBACE,MC3De,QD0DjB,cACE,MC1Da,QDyDf,WACE,MCzDU,QDwDZ,cACE,MCxDa,QDuDf,aACE,MCvDY,QDsDd,YACE,MCtDW,QDqDb,WACE,MCrDU,QEbd,KACE,QAAS,aACT,YAAa,IACb,MFYY,QEXZ,WAAY,OACZ,eAAgB,OAChB,YAAa,KACb,iBAAkB,YAClB,OAAQ,IAAA,MAAA,YDiCR,QDJsB,IACA,KCItB,UDHsB,KCItB,YDhBkB,MCiBlB,cDHyB,ICvBzB,mBAFqC,IAAb,IDcL,KCXnB,gBAHqC,IAAb,IDcL,KCVnB,eAJqC,IAAb,IDcL,KCTnB,cALqC,IAAb,IDcL,KCRnB,WANqC,IAAb,IDcL,KE9BrB,WAaI,MFEU,QEDV,gBAAiB,KAdrB,WAAA,WAmBI,QAAS,EACT,WAAW,KApBf,cAAA,cAyBI,QAAS,GACT,WAAW,KA1Bf,mCA8BI,OAAQ,QAYZ,eACA,wBACE,eAAgB,KAIhB,aDAA,MEtCU,QFuCV,iBD3Ce,QC4Cf,aD5Ce,QC8Cf,mBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,MExDQ,QFyDR,iBD7Da,QC8Db,aD9Da,QE0Cf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,eDAA,MEtCU,QFuCV,iBD1CiB,QC2CjB,aD3CiB,QC6CjB,qBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,wBChBA,wBDkBE,MExDQ,QFyDR,iBD5De,QC6Df,aD7De,QEyCjB,oDDuBA,oDAEA,qCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,aDAA,MExCU,QFyCV,iBDzCe,QC0Cf,aD1Ce,QC4Cf,mBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,ME1DQ,QF2DR,iBD3Da,QC4Db,aD5Da,QEwCf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,UDAA,MEtCU,QFuCV,iBDxCY,QCyCZ,aDzCY,QC2CZ,gBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,mBChBA,mBDkBE,MExDQ,QFyDR,iBD1DU,QC2DV,aD3DU,QEuCZ,+CDuBA,+CAEA,gCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,aDAA,MExCU,QFyCV,iBDvCe,QCwCf,aDxCe,QC0Cf,mBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,ME1DQ,QF2DR,iBDzDa,QC0Db,aD1Da,QEsCf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,YDAA,MEtCU,QFuCV,iBDtCc,QCuCd,aDvCc,QCyCd,kBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,qBChBA,qBDkBE,MExDQ,QFyDR,iBDxDY,QCyDZ,aDzDY,QEqCd,iDDuBA,iDAEA,kCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,WDAA,MExCU,QFyCV,iBDrCa,QCsCb,aDtCa,QCwCb,iBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,oBChBA,oBDkBE,ME1DQ,QF2DR,iBDvDW,QCwDX,aDxDW,QEoCb,gDDuBA,gDAEA,iCACE,MElEQ,QFmER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,UDAA,MEtCU,QFuCV,iBDpCY,QCqCZ,aDrCY,QCuCZ,gBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,mBChBA,mBDkBE,MExDQ,QFyDR,iBDtDU,QCuDV,aDvDU,QEmCZ,+CDuBA,+CAEA,gCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCM7L,UACE,QAAQ,EAGV,aDTE,MExCU,QFyCV,iBCSwB,KDRxB,aCQ8B,QDN9B,mBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBCPF,sBDSI,ME1DQ,QF2DR,iBCTsB,KDUtB,aCV4B,QADhC,kDDcE,kDAEA,mCACE,MElEQ,QFmER,iBA5B+I,QA6B/I,aA7ByL,KCc7L,QDpBE,QDE4B,IACA,KCF5B,UDG4B,KCF5B,YDhBkB,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A,qBAAA,oBAMI,OAAQ,KEjBZ,UACE,QAAS,aACT,OAAQ,IACR,YAAa,IACb,SAAU,SACV,eAAgB,OAChB,MAAO,IAGT,aACA,aACE,KAAM,EACN,SAAU,SACV,WAAY,OACZ,MAAO,KAGT,aACE,YAAa,QAGf,aACE,UAAW,IAGb,YACE,MLrB4B,KML9B,iBAAkC,QNUxB,QMTV,2BAA4C,QNSlC,QMRV,oBAAqC,QNQ3B,QMPV,wBAAyC,QNO/B,QMNV,wBAAyC,QNM/B,QMLV,kBAAmC,QNKzB,QMJV,eAAgC,QNItB,QMHV,oBAAqC,QNG3B,QMFV,0BAA2C,QNEjC,QMDV,uBAAwC,QNC9B,QMAV,mBAAoC,QNA1B,QMCV,wBAAyC,QND/B,QMEV,yBAA0C,QNFhC,QMGV,sBAAuC,QNH7B,QMIV,uBAAwC,QNJ9B,QMKV,qBAAsC,QNL5B,QMMV,kBAAmC,QNNzB,QMOV,sBAAuC,QNP7B,QMQV,qBAAsC,QNR5B,QMSV,+CAAgE,QNTtD,QMUV,kBAAmC,QNVzB,QMWV,kBAAmC,QNXzB,QMYV,mBAAoC,QNZ1B,QMaV,qBAAsC,QNb5B,QMcV,6BAA8C,QNdpC,QMeV,6BAA8C,QNfpC,QMgBV,8BAA+C,QNhBrC,QMiBV,2BAA4C,QNjBlC,QMkBV,sBAAuC,QNlB7B,QMmBV,sBAAuC,QNnB7B,QMoBV,uBAAwC,QNpB9B,QMqBV,oBAAqC,QNrB3B,QMsBV,iBAAkC,QNtBxB,QMuBV,yBAA0C,QNvBhC,QMwBV,mBAAoC,QNxB1B,QMyBV,qBAAsC,QNzB5B,QM0BV,yBAA0C,QN1BhC,QM2BV,iBAAkC,QN3BxB,QM4BV,iBAAkC,QN5BxB,QM6BV,qBAAsC,QN7B5B,QM8BV,mBAAoC,QN9B1B,QM+BV,mBAAoC,QN/B1B,QMgCV,iCAAkD,QNhCxC,QMiCV,iCAAkD,QNjCxC,QMkCV,kCAAmD,QNlCzC,QMmCV,+BAAgD,QNnCtC,QMoCV,0BAA2C,QNpCjC,QMqCV,iCAAkD,QNrCxC,QMsCV,+BAAgD,QNtCtC,QMuCV,gCAAiD,QNvCvC,QMwCV,8BAA+C,QNxCrC,QMyCV,0BAA2C,QNzCjC,QM0CV,2BAA4C,QN1ClC,QM2CV,iCAAkD,QN3CxC,QM4CV,iCAAkD,QN5CxC,QM6CV,kCAAmD,QN7CzC,QM8CV,+BAAgD,QN9CtC,QM+CV,+BAAgD,QN/CtC,QMgDV,6BAA8C,QNhDpC,QMiDV,8BAA+C,QNjDrC,QMkDV,4BAA6C,QNlDnC,QMmDV,wBAAyC,QNnD/B,QMoDV,6BAA8C,QNpDpC,QMqDV,6BAA8C,QNrDpC,QMsDV,8BAA+C,QNtDrC,QMuDV,2BAA4C,QNvDlC,QMwDV,sBAAuC,QNxD7B,QMyDV,6BAA8C,QNzDpC,QM0DV,2BAA4C,QN1DlC,QM2DV,4BAA6C,QN3DnC,QM4DV,0BAA2C,QN5DjC,QM6DV,sBAAuC,QN7D7B,QM8DV,uBAAwC,QN9D9B,QM+DV,6BAA8C,QN/DpC,QMgEV,6BAA8C,QNhEpC,QMiEV,8BAA+C,QNjErC,QMkEV,2BAA4C,QNlElC,QMmEV,2BAA4C,QNnElC,QMoEV,yBAA0C,QNpEhC,QMqEV,0BAA2C,QNrEjC,QMsEV,wBAAyC,QNtE/B,QMuEV,oBAAqC,QNvE3B,QMwEV,kBAAmC,QNxEzB,QMyEV,sBAAuC,QNzE7B,QM0EV,wBAAyC,QN1E/B,QM2EV,wBAAyC,QN3E/B,QM4EV,oBAAqC,QN5E3B,QM6EV,oBAAqC,QN7E3B,QM8EV,uCAAwD,QN9E9C,QM+EV,oBAAqC,QN/E3B,QMgFV,sBAAuC,QNhF7B,QMiFV,cAA+B,QNjFrB,QMkFV,iBAAkC,QNlFxB,QMmFV,mBAAoC,QNnF1B,QMoFV,6BAA8C,QNpFpC,QMqFV,wBAAyC,QNrF/B,QMsFV,mBAAoC,QNtF1B,QMuFV,kBAAmC,QNvFzB,QMwFV,iBAAkC,QNxFxB,QMyFV,eAAgC,QNzFtB,QM0FV,qBAAsC,QN1F5B,QM2FV,oBAAqC,QN3F3B,QM4FV,iBAAkC,QN5FxB,QM6FV,uBAAwC,QN7F9B,QM8FV,yBAA0C,QN9FhC,QM+FV,8BAA+C,QN/FrC,QMgGV,+BAAgD,QNhGtC,QMiGV,eAAgC,QNjGtB,QMkGV,oBAAqC,QNlG3B,QMmGV,oBAAqC,QNnG3B,QMoGV,mBAAoC,QNpG1B,QMqGV,uBAAwC,QNrG9B,QMsGV,wBAAyC,QNtG/B,QMuGV,wBAAyC,QNvG/B,QMwGV,gBAAiC,QNxGvB,QMyGV,oBAAqC,QNzG3B,QM0GV,yBAA0C,QN1GhC,QM2GV,2BAA4C,QN3GlC,QM4GV,2BAA4C,QN5GlC,QM6GV,gBAAiC,QN7GvB,QM8GV,wBAAyC,QN9G/B,QM+GV,yBAA0C,QN/GhC,QMgHV,wBAAyC,QNhH/B,QMiHV,wBAAyC,QNjH/B,QMkHV,2BAA4C,QNlHlC,QMmHV,yBAA0C,QNnHhC,QMoHV,kCAAmD,QNpHzC,QMqHV,eAAgC,QNrHtB,QMsHV,gBAAiC,QNtHvB,QMuHV,mBAAoC,QNvH1B,QMwHV,0BAA2C,QNxHjC,QMyHV,gBAAiC,QNzHvB,QM0HV,sBAAuC,QN1H7B,QM2HV,wBAAyC,QN3H/B,QM4HV,mBAAoC,QN5H1B,QM6HV,qBAAsC,QN7H5B,QM8HV,sBAAuC,QN9H7B,QM+HV,yBAA0C,QN/HhC,QMgIV,qBAAsC,QNhI5B,QMiIV,mBAAoC,QNjI1B,QMkIV,gBAAiC,QNlIvB,QMmIV,qBAAsC,QNnI5B,QMoIV,sBAAuC,QNpI7B,QMqIV,mBAAoC,QNrI1B,QMsIV,mBAAoC,QNtI1B,QMuIV,iBAAkC,QNvIxB,QMwIV,mBAAoC,QNxI1B,QMyIV,qBAAsC,QNzI5B,QM0IV,qBAAsC,QN1I5B,QM2IV,uBAAwC,QN3I9B,QM4IV,gBAAiC,QN5IvB,QM6IV,gBAAiC,QN7IvB,QM8IV,gBAAiC,QN9IvB,QM+IV,gBAAiC,QN/IvB,QMgJV,gBAAiC,QNhJvB,QMiJV,sBAAuC,QNjJ7B,QMkJV,qBAAsC,QNlJ5B,QMmJV,oBAAqC,QNnJ3B,QMoJV,wBAAyC,QNpJ/B,QMqJV,wBAAyC,QNrJ/B,QMsJV,eAAgC,QNtJtB,QMuJV,mBAAoC,QNvJ1B,QMwJV,qBAAsC,QNxJ5B,QMyJV,uBAAwC,QNzJ9B,QM0JV,oBAAqC,QN1J3B,QM2JV,qBAAsC,QN3J5B,QM4JV,oBAAqC,QN5J3B,QM6JV,kBAAmC,QN7JzB,QM8JV,mBAAoC,QN9J1B,QM+JV,iBAAkC,QN/JxB,QMgKV,qBAAsC,QNhK5B,QMiKV,wBAAyC,QNjK/B,QMkKV,mBAAoC,QNlK1B,QMmKV,qBAAsC,QNnK5B,QMoKV,6BAA8C,QNpKpC,QMqKV,2BAA4C,QNrKlC,QMsKV,iBAAkC,QNtKxB,QMuKV,mBAAoC,QNvK1B,QMwKV,iBAAkC,QNxKxB,QMyKV,eAAgC,QNzKtB,QM0KV,eAAgC,QN1KtB,QM2KV,oBAAqC,QN3K3B,QM4KV,oBAAqC,QN5K3B,QM6KV,oBAAqC,QN7K3B,QM8KV,gBAAiC,QN9KvB,QM+KV,4BAA6C,QN/KnC,QMgLV,eAAgC,QNhLtB,QMiLV,mBAAoC,QNjL1B,QMkLV,sBAAuC,QNlL7B,QMmLV,sBAAuC,QNnL7B,QMoLV,oBAAqC,QNpL3B,QMqLV,wBAAyC,QNrL/B,QMsLV,0BAA2C,QNtLjC,QMuLV,yBAA0C,QNvLhC,QMwLV,gCAAiD,QNxLvC,QMyLV,0BAA2C,QNzLjC,QM0LV,yBAA0C,QN1LhC,QM2LV,0BAA2C,QN3LjC,QM4LV,kBAAmC,QN5LzB,QM6LV,sBAAuC,QN7L7B,QM8LV,wBAAyC,QN9L/B,QM+LV,oBAAqC,QN/L3B,QMgMV,oBAAqC,QNhM3B,QMiMV,eAAgC,QNjMtB,QMkMV,6BAA8C,QNlMpC,QMmMV,6BAA8C,QNnMpC,QMoMV,8BAA+C,QNpMrC,QMqMV,2BAA4C,QNrMlC,QMsMV,sBAAuC,QNtM7B,QMuMV,sBAAuC,QNvM7B,QMwMV,uBAAwC,QNxM9B,QMyMV,6BAA8C,QNzMpC,QM0MV,6BAA8C,QN1MpC,QM2MV,8BAA+C,QN3MrC,QM4MV,2BAA4C,QN5MlC,QM6MV,oBAAqC,QN7M3B,QM8MV,2BAA4C,QN9MlC,QM+MV,qBAAsC,QN/M5B,QMgNV,yBAA0C,QNhNhC,QMiNV,mBAAoC,QNjN1B,QMkNV,wBAAyC,QNlN/B,QMmNV,0BAA2C,QNnNjC,QMoNV,uBAAwC,QNpN9B,QMqNV,kBAAmC,QNrNzB,QMsNV,yBAA0C,QNtNhC,QMuNV,qBAAsC,QNvN5B,QMwNV,qBAAsC,QNxN5B,QMyNV,mBAAoC,QNzN1B,QM0NV,sBAAuC,QN1N7B,QM2NV,uBAAwC,QN3N9B,QM4NV,sBAAuC,QN5N7B,QM6NV,8BAA+C,QN7NrC,QM8NV,sBAAuC,QN9N7B,QM+NV,qBAAsC,QN/N5B,QMgOV,sBAAuC,QNhO7B,QMiOV,qBAAsC,QNjO5B,QMkOV,iBAAkC,QNlOxB,QMmOV,wBAAyC,QNnO/B,QMoOV,wBAAyC,QNpO/B,QMqOV,wBAAyC,QNrO/B,QMsOV,iBAAkC,QNtOxB,QMuOV,wBAAyC,QNvO/B,QMwOV,4BAA6C,QNxOnC,QMyOV,uBAAwC,QNzO9B,QM0OV,uBAAwC,QN1O9B,QM2OV,2BAA4C,QN3OlC,QM4OV,sBAAuC,QN5O7B,QM6OV,0BAA2C,QN7OjC,QM8OV,wBAAyC,QN9O/B,QM+OV,4BAA6C,QN/OnC,QMgPV,sBAAuC,QNhP7B,QMiPV,0BAA2C,QNjPjC,QMkPV,uBAAwC,QNlP9B,QMmPV,2BAA4C,QNnPlC,QMoPV,sBAAuC,QNpP7B,QMqPV,0BAA2C,QNrPjC,QMsPV,+BAAgD,QNtPtC,QMuPV,+BAAgD,QNvPtC,QMwPV,gCAAiD,QNxPvC,QMyPV,6BAA8C,QNzPpC,QM0PV,+BAAgD,QN1PtC,QM2PV,+BAAgD,QN3PtC,QM4PV,gCAAiD,QN5PvC,QM6PV,6BAA8C,QN7PpC,QM8PV,wBAAyC,QN9P/B,QM+PV,wBAAyC,QN/P/B,QMgQV,yBAA0C,QNhQhC,QMiQV,+BAAgD,QNjQtC,QMkQV,+BAAgD,QNlQtC,QMmQV,gCAAiD,QNnQvC,QMoQV,6BAA8C,QNpQpC,QMqQV,sBAAuC,QNrQ7B,QMsQV,iBAAkC,QNtQxB,QMuQV,kBAAmC,QNvQzB,QMwQV,kBAAmC,QNxQzB,QMyQV,kBAAmC,QNzQzB,QM0QV,wBAAyC,QN1Q/B,QM2QV,qBAAsC,QN3Q5B,QM4QV,2BAA4C,QN5QlC,QM6QV,0BAA2C,QN7QjC,QM8QV,iBAAkC,QN9QxB,QM+QV,iBAAkC,QN/QxB,QMgRV,6BAA8C,QNhRpC,QMiRV,iBAAkC,QNjRxB,QMkRV,0BAA2C,QNlRjC,QMmRV,8BAA+C,QNnRrC,QMoRV,wBAAyC,QNpR/B,QMqRV,4BAA6C,QNrRnC,QMsRV,sBAAuC,QNtR7B,QMuRV,sBAAuC,QNvR7B,QMwRV,wBAAyC,QNxR/B,QMyRV,gBAAiC,QNzRvB,QM0RV,oBAAqC,QN1R3B,QM2RV,gBAAiC,QN3RvB,QM4RV,uBAAwC,QN5R9B,QM6RV,uBAAwC,QN7R9B,QM8RV,sBAAuC,QN9R7B,QM+RV,mBAAoC,QN/R1B,QMgSV,oBAAqC,QNhS3B,QMiSV,kBAAmC,QNjSzB,QMkSV,eAAgC,QNlStB,QMmSV,gBAAiC,QNnSvB,QMoSV,iBAAkC,QNpSxB,QMqSV,mBAAoC,QNrS1B,QMsSV,mBAAoC,QNtS1B,QMuSV,uBAAwC,QNvS9B,QMwSV,6BAA8C,QNxSpC,QMySV,4BAA6C,QNzSnC,QM0SV,4BAA6C,QN1SnC,QM2SV,mCAAoD,QN3S1C,QM4SV,6BAA8C,QN5SpC,QM6SV,6BAA8C,QN7SpC,QM8SV,4BAA6C,QN9SnC,QM+SV,6BAA8C,QN/SpC,QMgTV,6BAA8C,QNhTpC,QMiTV,6BAA8C,QNjTpC,QMkTV,yBAA0C,QNlThC,QMmTV,wBAAyC,QNnT/B,QMoTV,wBAAyC,QNpT/B,QMqTV,+BAAgD,QNrTtC,QMsTV,yBAA0C,QNtThC,QMuTV,yBAA0C,QNvThC,QMwTV,wBAAyC,QNxT/B,QMyTV,yBAA0C,QNzThC,QM0TV,yBAA0C,QN1ThC,QM2TV,yBAA0C,QN3ThC,QM4TV,oBAAqC,QN5T3B,QM6TV,wBAAyC,QN7T/B,QM8TV,wBAAyC,QN9T/B,QM+TV,mBAAoC,QN/T1B,QMgUV,oBAAqC,QNhU3B,QMiUV,wBAAyC,QNjU/B,QMkUV,yBAA0C,QNlUhC,QMmUV,0BAA2C,QNnUjC,QMoUV,0BAA2C,QNpUjC,QMqUV,6BAA8C,QNrUpC,QMsUV,kBAAmC,QNtUzB,QMuUV,yBAA0C,QNvUhC,QMwUV,6BAA8C,QNxUpC,QMyUV,kBAAmC,QNzUzB,QM0UV,uBAAwC,QN1U9B,QM2UV,gBAAiC,QN3UvB,QM4UV,qBAAsC,QN5U5B,QM6UV,iBAAkC,QN7UxB,QM8UV,kBAAmC,QN9UzB,QM+UV,4BAA6C,QN/UnC,QMgVV,+BAAgD,QNhVtC,QMiVV,+BAAgD,QNjVtC,QMkVV,kCAAmD,QNlVzC,QMmVV,kCAAmD,QNnVzC,QMoVV,+BAAgD,QNpVtC,QMqVV,+BAAgD,QNrVtC,QMsVV,mCAAoD,QNtV1C,QMuVV,kCAAmD,QNvVzC,QMwVV,+BAAgD,QNxVtC,QMyVV,qCAAsD,QNzV5C,QM0VV,0CAA2D,QN1VjD,QM2VV,kCAAmD,QN3VzC,QM4VV,iCAAkD,QN5VxC,QM6VV,uBAAwC,QN7V9B,QM8VV,6BAA8C,QN9VpC,QM+VV,6BAA8C,QN/VpC,QMgWV,mBAAoC,QNhW1B,QMiWV,gBAAiC,QNjWvB,QMkWV,oBAAqC,QNlW3B,QMmWV,sBAAuC,QNnW7B,QMoWV,gBAAiC,QNpWvB,QMqWV,iBAAkC,QNrWxB,QMsWV,gBAAiC,QNtWvB,QMuWV,oBAAqC,QNvW3B,QMwWV,gBAAiC,QNxWvB,QMyWV,iBAAkC,QNzWxB,QM0WV,mBAAoC,QN1W1B,QM2WV,eAAgC,QN3WtB,QM4WV,sBAAuC,QN5W7B,QM6WV,mBAAoC,QN7W1B,QM8WV,oBAAqC,QN9W3B,QM+WV,oBAAqC,QN/W3B,QMgXV,gBAAiC,QNhXvB,QMiXV,qBAAsC,QNjX5B,QMkXV,qBAAsC,QNlX5B,QMmXV,mBAAoC,QNnX1B,QMoXV,mBAAoC,QNpX1B,QMqXV,uBAAwC,QNrX9B,QMsXV,sBAAuC,QNtX7B,QMuXV,qBAAsC,QNvX5B,QMwXV,mBAAoC,QNxX1B,QMyXV,gBAAiC,QNzXvB,QM0XV,qBAAsC,QN1X5B,QM2XV,qBAAsC,QN3X5B,QM4XV,oBAAqC,QN5X3B,QM6XV,oBAAqC,QN7X3B,QM8XV,sBAAuC,QN9X7B,QM+XV,oBAAqC,QN/X3B,QMgYV,gBAAiC,QNhYvB,QMiYV,yBAA0C,QNjYhC,QMkYV,8BAA+C,QNlYrC,QMmYV,mBAAoC,QNnY1B,QMoYV,qBAAsC,QNpY5B,QMqYV,kBAAmC,QNrYzB,QMsYV,iBAAkC,QNtYxB,QMuYV,eAAgC,QNvYtB,QMwYV,kBAAmC,QNxYzB,QMyYV,kBAAmC,QNzYzB,QM0YV,uBAAwC,QN1Y9B,QM2YV,iBAAkC,QN3YxB,QM4YV,uBAAwC,QN5Y9B,QM6YV,yBAA0C,QN7YhC,QM8YV,6BAA8C,QN9YpC,QM+YV,+BAAgD,QN/YtC,QMgZV,kBAAmC,QNhZzB,QMiZV,uBAAwC,QNjZ9B,QMkZV,qBAAsC,QNlZ5B,QMmZV,sBAAuC,QNnZ7B,QMoZV,gBAAiC,QNpZvB,QMqZV,oBAAqC,QNrZ3B,QMsZV,yBAA0C,QNtZhC,QMuZV,4BAA6C,QNvZnC,QMwZV,oBAAqC,QNxZ3B,QMyZV,2BAA4C,QNzZlC,QM0ZV,mBAAoC,QN1Z1B,QM2ZV,gBAAiC,QN3ZvB,QM4ZV,yBAA0C,QN5ZhC,QM6ZV,kBAAmC,QN7ZzB,QM8ZV,oBAAqC,QN9Z3B,QM+ZV,kBAAmC,QN/ZzB,QMgaV,sBAAuC,QNha7B,QMiaV,gBAAiC,QNjavB,QMkaV,gBAAiC,QNlavB,QMmaV,gBAAiC,QNnavB,QMoaV,iBAAkC,QNpaxB,QMqaV,qBAAsC,QNra5B,QMsaV,sBAAuC,QNta7B,QMuaV,0BAA2C,QNvajC,QMwaV,sBAAuC,QNxa7B,QMyaV,0BAA2C,QNzajC,QM0aV,iBAAkC,QN1axB,QM2aV,kBAAmC,QN3azB,QM4aV,oBAAqC,QN5a3B,QM6aV,yBAA0C,QN7ahC,QM8aV,2BAA4C,QN9alC,QM+aV,kBAAmC,QN/azB,QMgbV,kBAAmC,QNhbzB,QMibV,kBAAmC,QNjbzB,QMkbV,kBAAmC,QNlbzB,QMmbV,oBAAqC,QNnb3B,QMobV,gBAAiC,QNpbvB,QMqbV,qBAAsC,QNrb5B,QMsbV,oBAAqC,QNtb3B,QMubV,wBAAyC,QNvb/B,QMwbV,uBAAwC,QNxb9B,QMybV,8BAA+C,QNzbrC,QM0bV,8BAA+C,QN1brC,QM2bV,gCAAiD,QN3bvC,QM4bV,kBAAmC,QN5bzB,QM6bV,sBAAuC,QN7b7B,QM8bV,yBAA0C,QN9bhC,QM+bV,6BAA8C,QN/bpC,QMgcV,uBAAwC,QNhc9B,QMicV,wBAAyC,QNjc/B,QMkcV,yBAA0C,QNlchC,QMmcV,6BAA8C,QNncpC,QMocV,gCAAiD,QNpcvC,QMqcV,oCAAqD,QNrc3C,QMscV,eAAgC,QNtctB,QMucV,uBAAwC,QNvc9B,QMwcV,qBAAsC,QNxc5B,QMycV,oBAAqC,QNzc3B,QM0cV,sBAAuC,QN1c7B,QM2cV,8BAA+C,QN3crC,QM4cV,2BAA4C,QN5clC,QM6cV,yBAA0C,QN7chC,QM8cV,wBAAyC,QN9c/B,QM+cV,eAAgC,QN/ctB,QMgdV,mBAAoC,QNhd1B,QMidV,uBAAwC,QNjd9B,QMkdV,kBAAmC,QNldzB,QMmdV,wBAAyC,QNnd/B,QModV,uBAAwC,QNpd9B,QMqdV,gBAAiC,QNrdvB,QMsdV,oBAAqC,QNtd3B,QMudV,wBAAyC,QNvd/B,QMwdV,sBAAuC,QNxd7B,QMydV,sBAAuC,QNzd7B,QM0dV,qBAAsC,QN1d5B,QM2dV,yBAA0C,QN3dhC,QM4dV,yBAA0C,QN5dhC,QM6dV,qBAAsC,QN7d5B,QM8dV,sBAAuC,QN9d7B,QM+dV,4BAA6C,QN/dnC,QMgeV,uBAAwC,QNhe9B,QMieV,sBAAuC,QNje7B,QMkeV,uBAAwC,QNle9B,QMmeV,wBAAyC,QNne/B,QMoeV,+BAAgD,QNpetC,QMqeV,wBAAyC,QNre/B,QMseV,4BAA6C,QNtenC,QMueV,sBAAuC,QNve7B,QMweV,oBAAqC,QNxe3B,QMyeV,qBAAsC,QNze5B,QM0eV,2BAA4C,QN1elC,QM2eV,6BAA8C,QN3epC,QM4eV,0BAA2C,QN5ejC,QM6eV,sBAAuC,QN7e7B,QM8eV,uBAAwC,QN9e9B,QM+eV,sBAAuC,QN/e7B,QMgfV,qBAAsC,QNhf5B,QMifV,gBAAiC,QNjfvB,QMkfV,qBAAsC,QNlf5B,QMmfV,gBAAiC,QNnfvB,QMofV,oBAAqC,QNpf3B,QMqfV,kBAAmC,QNrfzB,QMsfV,uBAAwC,QNtf9B,QMufV,gBAAiC,QNvfvB,QMwfV,6BAA8C,QNxfpC,QMyfV,mBAAoC,QNzf1B,QM0fV,qBAAsC,QN1f5B,QM2fV,uBAAwC,QN3f9B,QM4fV,2BAA4C,QN5flC,QM6fV,sBAAuC,QN7f7B,QM8fV,gBAAiC,QN9fvB,QM+fV,gBAAiC,QN/fvB,QMggBV,0BAA2C,QNhgBjC,QMigBV,iBAAkC,QNjgBxB,QMkgBV,kBAAmC,QNlgBzB,QMmgBV,qBAAsC,QNngB5B,QMogBV,mBAAoC,QNpgB1B,QMqgBV,eAAgC,QNrgBtB,QMsgBV,kBAAmC,QNtgBzB,QMugBV,uBAAwC,QNvgB9B,QMwgBV,gBAAiC,QNxgBvB,QMygBV,wBAAyC,QNzgB/B,QM0gBV,4BAA6C,QN1gBnC,QM2gBV,6BAA8C,QN3gBpC,QM4gBV,kCAAmD,QN5gBzC,QM6gBV,qBAAsC,QN7gB5B,QM8gBV,wBAAyC,QN9gB/B,QM+gBV,yBAA0C,QN/gBhC,QMghBV,2BAA4C,QNhhBlC,QMihBV,oBAAqC,QNjhB3B,QMkhBV,wBAAyC,QNlhB/B,QMmhBV,4BAA6C,QNnhBnC,QMohBV,oBAAqC,QNphB3B,QMqhBV,mBAAoC,QNrhB1B,QMshBV,sBAAuC,QNthB7B,QMuhBV,mBAAoC,QNvhB1B,QMwhBV,0BAA2C,QNxhBjC,QMyhBV,mBAAoC,QNzhB1B,QM0hBV,gBAAiC,QN1hBvB,QM2hBV,iBAAkC,QN3hBxB,QM4hBV,sBAAuC,QN5hB7B,QM6hBV,mBAAoC,QN7hB1B,QM8hBV,kBAAmC,QN9hBzB,QM+hBV,6BAA8C,QN/hBpC,QMgiBV,2BAA4C,QNhiBlC,QMiiBV,mBAAoC,QNjiB1B,QMkiBV,oBAAqC,QNliB3B,QMmiBV,iBAAkC,QNniBxB,QMoiBV,eAAgC,QNpiBtB,QMqiBV,sBAAuC,QNriB7B,QMsiBV,sBAAuC,QNtiB7B,QMuiBV,cAA+B,QNviBrB,QMwiBV,qBAAsC,QNxiB5B,QMyiBV,gBAAiC,QNziBvB,QM0iBV,eAAgC,QN1iBtB,QM2iBV,sBAAuC,QN3iB7B,QM4iBV,kBAAmC,QN5iBzB,QM6iBV,sBAAuC,QN7iB7B,QM8iBV,yBAA0C,QN9iBhC,QM+iBV,qBAAsC,QN/iB5B,QMgjBV,kBAAmC,QNhjBzB,QMijBV,kBAAmC,QNjjBzB,QMkjBV,yBAA0C,QNljBhC,QMmjBV,6BAA8C,QNnjBpC,QMojBV,mBAAoC,QNpjB1B,QMqjBV,iBAAkC,QNrjBxB,QMsjBV,mBAAoC,QNtjB1B,QMujBV,iBAAkC,QNvjBxB,QMwjBV,wBAAyC,QNxjB/B,QMyjBV,0BAA2C,QNzjBjC,QM0jBV,sBAAuC,QN1jB7B,QM2jBV,kBAAmC,QN3jBzB,QM4jBV,qBAAsC,QN5jB5B,QM6jBV,qBAAsC,QN7jB5B,QM8jBV,qBAAsC,QN9jB5B,QM+jBV,uBAAwC,QN/jB9B,QMgkBV,kBAAmC,QNhkBzB,QMikBV,wBAAyC,QNjkB/B,QMkkBV,uBAAwC,QNlkB9B,QMmkBV,uBAAwC,QNnkB9B,QMokBV,yBAA0C,QNpkBhC,QMqkBV,8BAA+C,QNrkBrC,QMskBV,yBAA0C,QNtkBhC,QMukBV,0BAA2C,QNvkBjC,QMwkBV,oBAAqC,QNxkB3B,QMykBV,gBAAiC,QNzkBvB,QM0kBV,wBAAyC,QN1kB/B,QM2kBV,8BAA+C,QN3kBrC,QM4kBV,mBAAoC,QN5kB1B,QM6kBV,gBAAiC,QN7kBvB,QM8kBV,oBAAqC,QN9kB3B,QM+kBV,qBAAsC,QN/kB5B,QMglBV,2BAA4C,QNhlBlC,QMilBV,uBAAwC,QNjlB9B,QMklBV,uBAAwC,QNllB9B,QMmlBV,6BAA8C,QNnlBpC,QMolBV,sBAAuC,QNplB7B,QMqlBV,sBAAuC,QNrlB7B,QMslBV,uBAAwC,QNtlB9B,QMulBV,8BAA+C,QNvlBrC,QMwlBV,4BAA6C,QNxlBnC,QMylBV,qBAAsC,QNzlB5B,QM0lBV,2BAA4C,QN1lBlC,QM2lBV,yBAA0C,QN3lBhC,QM4lBV,oBAAqC,QN5lB3B,QM6lBV,iBAAkC,QN7lBxB,QM8lBV,gBAAiC,QN9lBvB,QM+lBV,oBAAqC,QN/lB3B,QMgmBV,cAA+B,QNhmBrB,QMimBV,cAA+B,QNjmBrB,QMkmBV,cAA+B,QNlmBrB,QMmmBV,uBAAwC,QNnmB9B,QMomBV,8BAA+C,QNpmBrC,QMqmBV,sBAAuC,QNrmB7B,QMsmBV,wBAAyC,QNtmB/B,QMumBV,4BAA6C,QNvmBnC,QMwmBV,8BAA+C,QNxmBrC,QMymBV,iCAAkD,QNzmBxC,QM0mBV,4BAA6C,QN1mBnC,QM2mBV,8BAA+C,QN3mBrC,QM4mBV,uBAAwC,QN5mB9B,QM6mBV,sBAAuC,QN7mB7B,QM8mBV,sBAAuC,QN9mB7B,QM+mBV,2BAA4C,QN/mBlC,QMgnBV,2BAA4C,QNhnBlC,QMinBV,4BAA6C,QNjnBnC,QMknBV,yBAA0C,QNlnBhC,QMmnBV,wBAAyC,QNnnB/B,QMonBV,0BAA2C,QNpnBjC,QMqnBV,qBAAsC,QNrnB5B,QMsnBV,yBAA0C,QNtnBhC,QMunBV,sBAAuC,QNvnB7B,QMwnBV,iBAAkC,QNxnBxB,QMynBV,uBAAwC,QNznB9B,QM0nBV,yBAA0C,QN1nBhC,QM2nBV,qBAAsC,QN3nB5B,QM4nBV,qBAAsC,QN5nB5B,QM6nBV,yBAA0C,QN7nBhC,QM8nBV,mBAAoC,QN9nB1B,QM+nBV,eAAgC,QN/nBtB,QMgoBV,mBAAoC,QNhoB1B,QMioBV,sBAAuC,QNjoB7B,QMkoBV,0BAA2C,QNloBjC,QMmoBV,mBAAoC,QNnoB1B,QMooBV,iBAAkC,QNpoBxB,QMqoBV,wBAAyC,QNroB/B,QMsoBV,wBAAyC,QNtoB/B,QMuoBV,qBAAsC,QNvoB5B,QMwoBV,sBAAuC,QNxoB7B,QMyoBV,mBAAoC,QNzoB1B,QM0oBV,uBAAwC,QN1oB9B,QM2oBV,gBAAiC,QN3oBvB,QM4oBV,yBAA0C,QN5oBhC,QM6oBV,mBAAoC,QN7oB1B,QM8oBV,uBAAwC,QN9oB9B,QM+oBV,yBAA0C,QN/oBhC,QMgpBV,gBAAiC,QNhpBvB,QMipBV,sBAAuC,QNjpB7B,QMkpBV,iBAAkC,QNlpBxB,QMmpBV,oBAAqC,QNnpB3B,QMopBV,oBAAqC,QNppB3B,QMqpBV,wBAAyC,QNrpB/B,QMspBV,2BAA4C,QNtpBlC,QMupBV,mBAAoC,QNvpB1B,QMwpBV,iBAAkC,QNxpBxB,QMypBV,kBAAmC,QNzpBzB,QM0pBV,qBAAsC,QN1pB5B,QM2pBV,yBAA0C,QN3pBhC,QM4pBV,0BAA2C,QN5pBjC,QM6pBV,2BAA4C,QN7pBlC,QM8pBV,iBAAkC,QN9pBxB,QM+pBV,iBAAkC,QN/pBxB,QMgqBV,mBAAoC,QNhqB1B,QMiqBV,oBAAqC,QNjqB3B,QMkqBV,oBAAqC,QNlqB3B,QMmqBV,mBAAoC,QNnqB1B,QMoqBV,uBAAwC,QNpqB9B,QMqqBV,iBAAkC,QNrqBxB,QMsqBV,kBAAmC,QNtqBzB,QMuqBV,gBAAiC,QNvqBvB,QMwqBV,iBAAkC,QNxqBxB,QMyqBV,oBAAqC,QNzqB3B,QM0qBV,qBAAsC,QN1qB5B,QM2qBV,kBAAmC,QN3qBzB,QM4qBV,oBAAqC,QN5qB3B,QM6qBV,wBAAyC,QN7qB/B,QM8qBV,oBAAqC,QN9qB3B,QM+qBV,gBAAiC,QN/qBvB,QMgrBV,uBAAwC,QNhrB9B,QMirBV,uBAAwC,QNjrB9B,QMkrBV,qBAAsC,QNlrB5B,QMmrBV,6BAA8C,QNnrBpC,QMorBV,qBAAsC,QNprB5B,QMqrBV,mBAAoC,QNrrB1B,QMsrBV,kBAAmC,QNtrBzB,QMurBV,kBAAmC,QNvrBzB,QMwrBV,uBAAwC,QNxrB9B,QMyrBV,0BAA2C,QNzrBjC,QM0rBV,gBAAiC,QN1rBvB,QM2rBV,sBAAuC,QN3rB7B,QM4rBV,mBAAoC,QN5rB1B,QM6rBV,iBAAkC,QN7rBxB,QM8rBV,iBAAkC,QN9rBxB,QM+rBV,kBAAmC,QN/rBzB,QMgsBV,cAA+B,QNhsBrB,QMisBV,qBAAsC,QNjsB5B,QMksBV,oBAAqC,QNlsB3B,QMmsBV,eAAgC,QNnsBtB,QMosBV,mBAAoC,QNpsB1B,QMqsBV,oBAAqC,QNrsB3B,QMssBV,kBAAmC,QNtsBzB,QMusBV,uBAAwC,QNvsB9B,QMwsBV,yBAA0C,QNxsBhC,QMysBV,gBAAiC,QNzsBvB,QM0sBV,qBAAsC,QN1sB5B,QM2sBV,2BAA4C,QN3sBlC,QM4sBV,qBAAsC,QN5sB5B,QM6sBV,kBAAmC,QN7sBzB,QM8sBV,gBAAiC,QN9sBvB,QM+sBV,oBAAqC,QN/sB3B,QMgtBV,kBAAmC,QNhtBzB,QMitBV,mBAAoC,QNjtB1B,QMktBV,kBAAmC,QNltBzB,QMmtBV,yBAA0C,QNntBhC,QMotBV,iBAAkC,QNptBxB,QMqtBV,sBAAuC,QNrtB7B,QMstBV,wBAAyC,QNttB/B,QMutBV,sBAAuC,QNvtB7B,QMwtBV,gBAAiC,QNxtBvB,QMytBV,sBAAuC,QNztB7B,QM0tBV,mBAAoC,QN1tB1B,QM2tBV,iBAAkC,QN3tBxB,QM4tBV,gBAAiC,QN5tBvB,QM6tBV,qBAAsC,QN7tB5B,QM8tBV,2BAA4C,QN9tBlC,QM+tBV,sBAAuC,QN/tB7B,QMguBV,0BAA2C,QNhuBjC,QMiuBV,oBAAqC,QNjuB3B,QMkuBV,wBAAyC,QNluB/B,QMmuBV,qBAAsC,QNnuB5B,QMouBV,qBAAsC,QNpuB5B,QMquBV,gBAAiC,QNruBvB,QMsuBV,gBAAiC,QNtuBvB,QMuuBV,oBAAqC,QNvuB3B,QMwuBV,uBAAwC,QNxuB9B,QMyuBV,kBAAmC,QNzuBzB,QM0uBV,iBAAkC,QN1uBxB,QM2uBV,qBAAsC,QN3uB5B,QM4uBV,gBAAiC,QN5uBvB,QM6uBV,oBAAqC,QN7uB3B,QM8uBV,mBAAoC,QN9uB1B,QM+uBV,mBAAoC,QN/uB1B,QMgvBV,0BAA2C,QNhvBjC,QMivBV,gBAAiC,QNjvBvB,QMkvBV,oBAAqC,QNlvB3B,QMmvBV,qBAAsC,QNnvB5B,QMovBV,yBAA0C,QNpvBhC,QMqvBV,+BAAgD,QNrvBtC,QMsvBV,+BAAgD,QNtvBtC,QMuvBV,gCAAiD,QNvvBvC,QMwvBV,6BAA8C,QNxvBpC,QMyvBV,2BAA4C,QNzvBlC,QM0vBV,2BAA4C,QN1vBlC,QM2vBV,4BAA6C,QN3vBnC,QM4vBV,yBAA0C,QN5vBhC,QM6vBV,oBAAqC,QN7vB3B,QM8vBV,sBAAuC,QN9vB7B,QM+vBV,oBAAqC,QN/vB3B,QMgwBV,wBAAyC,QNhwB/B,QMiwBV,gBAAiC,QNjwBvB,QMkwBV,mBAAoC,QNlwB1B,QMmwBV,iBAAkC,QNnwBxB,QMowBV,kBAAmC,QNpwBzB,QMqwBV,qBAAsC,QNrwB5B,QMswBV,gBAAiC,QNtwBvB,QMuwBV,uBAAwC,QNvwB9B,QMwwBV,eAAgC,QNxwBtB,QMywBV,sBAAuC,QNzwB7B,QM0wBV,0BAA2C,QN1wBjC,QM2wBV,sBAAuC,QN3wB7B,QM4wBV,0BAA2C,QN5wBjC,QM6wBV,mBAAoC,QN7wB1B,QM8wBV,qBAAsC,QN9wB5B,QM+wBV,kBAAmC,QN/wBzB,QMgxBV,gBAAiC,QNhxBvB,QMixBV,uBAAwC,QNjxB9B,QMkxBV,uBAAwC,QNlxB9B,QMmxBV,yBAA0C,QNnxBhC,QMoxBV,yBAA0C,QNpxBhC,QMqxBV,oBAAqC,QNrxB3B,QMsxBV,kBAAmC,QNtxBzB,QMuxBV,iBAAkC,QNvxBxB,QMwxBV,mBAAoC,QNxxB1B,QMyxBV,kBAAmC,QNzxBzB,QM0xBV,oBAAqC,QN1xB3B,QM2xBV,kBAAmC,QN3xBzB,QM4xBV,iBAAkC,QN5xBxB,QM6xBV,kBAAmC,QN7xBzB,QM8xBV,oBAAqC,QN9xB3B,QM+xBV,eAAgC,QN/xBtB,QMgyBV,qBAAsC,QNhyB5B,QMiyBV,4BAA6C,QNjyBnC,QMkyBV,kBAAmC,QNlyBzB,QMmyBV,mBAAoC,QNnyB1B,QMoyBV,qBAAsC,QNpyB5B,QMqyBV,sBAAuC,QNryB7B,QMsyBV,0BAA2C,QNtyBjC,QMuyBV,gCAAiD,QNvyBvC,QMwyBV,4BAA6C,QNxyBnC,QMyyBV,qBAAsC,QNzyB5B,QM0yBV,iBAAkC,QN1yBxB,QM2yBV,wBAAyC,QN3yB/B,QM4yBV,yBAA0C,QN5yBhC,QM6yBV,yBAA0C,QN7yBhC,QM8yBV,wBAAyC,QN9yB/B,QM+yBV,eAAgC,QN/yBtB,QMgzBV,oBAAqC,QNhzB3B,QMizBV,kBAAmC,QNjzBzB,QMkzBV,kBAAmC,QNlzBzB,QMmzBV,sBAAuC,QNnzB7B,QMozBV,0BAA2C,QNpzBjC,QMqzBV,8BAA+C,QNrzBrC,QMszBV,gBAAiC,QNtzBvB,QMuzBV,kBAAmC,QNvzBzB,QMwzBV,sBAAuC,QNxzB7B,QMyzBV,0BAA2C,QNzzBjC,QM0zBV,2BAA4C,QN1zBlC,QM2zBV,+BAAgD,QN3zBtC,QM4zBV,uBAAwC,QN5zB9B,QM6zBV,2BAA4C,QN7zBlC,QM8zBV,oBAAqC,QN9zB3B,QM+zBV,gBAAiC,QN/zBvB,QMg0BV,yBAA0C,QNh0BhC,QMi0BV,sBAAuC,QNj0B7B,QMk0BV,yBAA0C,QNl0BhC,QMm0BV,iBAAkC,QNn0BxB,QMo0BV,mBAAoC,QNp0B1B,QMq0BV,kBAAmC,QNr0BzB,QMs0BV,qBAAsC,QNt0B5B,QMu0BV,kBAAmC,QNv0BzB,QMw0BV,2BAA4C,QNx0BlC,QMy0BV,gBAAiC,QNz0BvB,QM00BV,mBAAoC,QN10B1B,QM20BV,qBAAsC,QN30B5B,QM40BV,yBAA0C,QN50BhC,QM60BV,eAAgC,QN70BtB,QM80BV,eAAgC,QN90BtB,QM+0BV,uBAAwC,QN/0B9B,QMg1BV,wBAAyC,QNh1B/B,QMi1BV,0BAA2C,QNj1BjC,QMk1BV,mBAAoC,QNl1B1B,QMm1BV,yBAA0C,QNn1BhC,QMo1BV,gCAAiD,QNp1BvC,QMq1BV,wBAAyC,QNr1B/B,QMs1BV,oBAAqC,QNt1B3B,QMu1BV,kBAAmC,QNv1BzB,QMw1BV,iBAAkC,QNx1BxB,QMy1BV,yBAA0C,QNz1BhC,QM01BV,eAAgC,QN11BtB,QM21BV,mBAAoC,QN31B1B,QM41BV,iBAAkC,QN51BxB,QM61BV,qBAAsC,QN71B5B,QM81BV,uBAAwC,QN91B9B,QM+1BV,2BAA4C,QN/1BlC,QMg2BV,wBAAyC,QNh2B/B,QMi2BV,mBAAoC,QNj2B1B,QMk2BV,kBAAmC,QNl2BzB,QMm2BV,kBAAmC,QNn2BzB,QMo2BV,sBAAuC,QNp2B7B,QMq2BV,uBAAwC,QNr2B9B,QMs2BV,qBAAsC,QNt2B5B,QMu2BV,yBAA0C,QNv2BhC,QMw2BV,qBAAsC,QNx2B5B,QMy2BV,mBAAoC,QNz2B1B,QM02BV,oBAAqC,QN12B3B,QM22BV,iBAAkC,QN32BxB,QM42BV,mBAAoC,QN52B1B,QM62BV,iBAAkC,QN72BxB,QM82BV,wBAAyC,QN92B/B,QM+2BV,eAAgC,QN/2BtB,QMg3BV,kBAAmC,QNh3BzB,QMi3BV,eAAgC,QNj3BtB,QMk3BV,mBAAoC,QNl3B1B,QMm3BV,qBAAsC,QNn3B5B,QMo3BV,mBAAoC,QNp3B1B,QMq3BV,sBAAuC,QNr3B7B,QMs3BV,kBAAmC,QNt3BzB,QMu3BV,sBAAuC,QNv3B7B,QMw3BV,wBAAyC,QNx3B/B,QMy3BV,mBAAoC,QNz3B1B,QM03BV,wBAAyC,QN13B/B,QM23BV,mBAAoC,QN33B1B,QM43BV,sBAAuC,QN53B7B,QM63BV,qBAAsC,QN73B5B,QM83BV,wBAAyC,QN93B/B,QM+3BV,wBAAyC,QN/3B/B,QMg4BV,8BAA+C,QNh4BrC,QMi4BV,uBAAwC,QNj4B9B,QMk4BV,6BAA8C,QNl4BpC,QMm4BV,4BAA6C,QNn4BnC,QMo4BV,iBAAkC,QNp4BxB,QMq4BV,sBAAuC,QNr4B7B,QMs4BV,uBAAwC,QNt4B9B,QMu4BV,wBAAyC,QNv4B/B,QMw4BV,wBAAyC,QNx4B/B,QMy4BV,eAAgC,QNz4BtB,QM04BV,sBAAuC,QN14B7B,QM24BV,0BAA2C,QN34BjC,QM44BV,0BAA2C,QN54BjC,QM64BV,yBAA0C,QN74BhC,QM84BV,sBAAuC,QN94B7B,QM+4BV,iBAAkC,QN/4BxB,QMg5BV,qBAAsC,QNh5B5B,QMi5BV,uBAAwC,QNj5B9B,QMk5BV,4BAA6C,QNl5BnC,QMm5BV,iBAAkC,QNn5BxB,QMo5BV,qBAAsC,QNp5B5B,QMq5BV,yBAA0C,QNr5BhC,QMs5BV,2BAA4C,QNt5BlC,QMu5BV,gBAAiC,QNv5BvB,QMw5BV,uBAAwC,QNx5B9B,QMy5BV,uBAAwC,QNz5B9B,QM05BV,gBAAiC,QN15BvB,QM25BV,gBAAiC,QN35BvB,QM45BV,uBAAwC,QN55B9B,QM65BV,wBAAyC,QN75B/B,QM85BV,wBAAyC,QN95B/B,QM+5BV,uBAAwC,QN/5B9B,QMg6BV,mBAAoC,QNh6B1B,QMi6BV,eAAgC,QNj6BtB,QMk6BV,oBAAqC,QNl6B3B,QMm6BV,sBAAuC,QNn6B7B,QMo6BV,qBAAsC,QNp6B5B,QMq6BV,wBAAyC,QNr6B/B,QMs6BV,+BAAgD,QNt6BtC,QMu6BV,mCAAoD,QNv6B1C,QMw6BV,iBAAkC,QNx6BxB,QMy6BV,sBAAuC,QNz6B7B,QM06BV,wBAAyC,QN16B/B,QM26BV,2BAA4C,QN36BlC,QM46BV,kBAAmC,QN56BzB,QM66BV,wBAAyC,QN76B/B,QM86BV,kBAAmC,QN96BzB,QM+6BV,cAA+B,QN/6BrB,QMg7BV,kBAAmC,QNh7BzB,QMi7BV,oBAAqC,QNj7B3B,QMk7BV,2BAA4C,QNl7BlC,QMm7BV,2BAA4C,QNn7BlC,QMo7BV,qBAAsC,QNp7B5B,QMq7BV,qBAAsC,QNr7B5B,QMs7BV,iBAAkC,QNt7BxB,QMu7BV,sBAAuC,QNv7B7B,QMw7BV,uBAAwC,QNx7B9B,QMy7BV,qBAAsC,QNz7B5B,QM07BV,mBAAoC,QN17B1B,QM27BV,wBAAyC,QN37B/B,QM47BV,kBAAmC,QN57BzB,QM67BV,mBAAoC,QN77B1B,QM87BV,iBAAkC,QN97BxB,QM+7BV,kBAAmC,QN/7BzB,QMg8BV,iBAAkC,QNh8BxB,QMi8BV,mBAAoC,QNj8B1B,QMk8BV,+BAAgD,QNl8BtC,QMm8BV,8BAA+C,QNn8BrC,QMo8BV,0BAA2C,QNp8BjC,QMq8BV,mBAAoC,QNr8B1B,QMs8BV,qBAAsC,QNt8B5B,QMu8BV,kBAAmC,QNv8BzB,QMw8BV,wBAAyC,QNx8B/B,QMy8BV,yBAA0C,QNz8BhC,QM08BV,gBAAiC,QN18BvB,QM28BV,oBAAqC,QN38B3B,QM48BV,sBAAuC,QN58B7B,QM68BV,mBAAoC,QN78B1B,QM88BV,kBAAmC,QN98BzB,QM+8BV,kBAAmC,QN/8BzB,QMg9BV,oBAAqC,QNh9B3B,QMi9BV,wBAAyC,QNj9B/B,QMk9BV,sBAAuC,QNl9B7B,QMm9BV,iBAAkC,QNn9BxB,QMo9BV,qBAAsC,QNp9B5B,QMq9BV,kBAAmC,QNr9BzB,QMs9BV,wBAAyC,QNt9B/B,QMu9BV,qBAAsC,QNv9B5B,QMw9BV,mBAAoC,QNx9B1B,QMy9BV,uBAAwC,QNz9B9B,QM09BV,eAAgC,QN19BtB,QM29BV,kBAAmC,QN39BzB,QM49BV,gBAAiC,QN59BvB,QM69BV,iBAAkC,QN79BxB,QM89BV,kBAAmC,QN99BzB,QM+9BV,sBAAuC,QN/9B7B,QMg+BV,mBAAoC,QNh+B1B,QMi+BV,iBAAkC,QNj+BxB,QMk+BV,eAAgC,QNl+BtB,QMm+BV,sBAAuC,QNn+B7B,QMo+BV,sBAAuC,QNp+B7B,QMq+BV,iBAAkC,QNr+BxB,QMs+BV,0BAA2C,QNt+BjC,QMu+BV,4BAA6C,QNv+BnC,QMw+BV,0BAA2C,QNx+BjC,QMy+BV,sBAAuC,QNz+B7B,QM0+BV,mBAAoC,QN1+B1B,QM2+BV,oBAAqC,QN3+B3B,QM4+BV,kBAAmC,QN5+BzB,QM6+BV,gBAAiC,QN7+BvB,QM8+BV,gBAAiC,QN9+BvB,QM++BV,mBAAoC,QN/+B1B,QMg/BV,4BAA6C,QNh/BnC,QMi/BV,+BAAgD,QNj/BtC,QMk/BV,kBAAmC,QNl/BzB,QMm/BV,kBAAmC,QNn/BzB,QMo/BV,uBAAwC,QNp/B9B,QMq/BV,kBAAmC,QNr/BzB,QMs/BV,oBAAqC,QNt/B3B,QMu/BV,kBAAmC,QNv/BzB,QMw/BV,wBAAyC,QNx/B/B,QMy/BV,uBAAwC,QNz/B9B,QM0/BV,uBAAwC,QN1/B9B,QM2/BV,oBAAqC,QN3/B3B,QM4/BV,oBAAqC,QN5/B3B,QM6/BV,kBAAmC,QN7/BzB,QM8/BV,kBAAmC,QN9/BzB,QM+/BV,wBAAyC,QN//B/B,QMggCV,iBAAkC,QNhgCxB,QMigCV,qBAAsC,QNjgC5B,QMkgCV,qBAAsC,QNlgC5B,QMmgCV,4BAA6C,QNngCnC,QMogCV,wBAAyC,QNpgC/B,QMqgCV,uBAAwC,QNrgC9B,QMsgCV,kBAAmC,QNtgCzB,QMugCV,sBAAuC,QNvgC7B,QMwgCV,wBAAyC,QNxgC/B,QMygCV,gBAAiC,QNzgCvB,QM0gCV,yBAA0C,QN1gChC,QM2gCV,0BAA2C,QN3gCjC,QM4gCV,wBAAyC,QN5gC/B,QM6gCV,uBAAwC,QN7gC9B,QM8gCV,wBAAyC,QN9gC/B,QM+gCV,2BAA4C,QN/gClC,QMghCV,yBAA0C,QNhhChC,QMihCV,oBAAqC,QNjhC3B,QMkhCV,kBAAmC,QNlhCzB,QMmhCV,uBAAwC,QNnhC9B,QMohCV,uBAAwC,QNphC9B,QMqhCV,gBAAiC,QNrhCvB,QMshCV,mBAAoC,QNthC1B,QMuhCV,uBAAwC,QNvhC9B,QMwhCV,yBAA0C,QNxhChC,QMyhCV,oBAAqC,QNzhC3B,QM0hCV,wBAAyC,QN1hC/B,QM2hCV,kBAAmC,QN3hCzB,QM4hCV,qBAAsC,QN5hC5B,QM6hCV,uBAAwC,QN7hC9B,QM8hCV,mBAAoC,QN9hC1B,QM+hCV,mBAAoC,QN/hC1B,QMgiCV,gBAAiC,QNhiCvB,QMiiCV,iBAAkC,QNjiCxB,QMkiCV,oBAAqC,QNliC3B,QMmiCV,iBAAkC,QNniCxB,QMoiCV,iBAAkC,QNpiCxB,QMqiCV,sBAAuC,QNriC7B,QMsiCV,qBAAsC,QNtiC5B,QMuiCV,4BAA6C,QNviCnC,QMwiCV,qBAAsC,QNxiC5B,QMyiCV,4BAA6C,QNziCnC,QM0iCV,sBAAuC,QN1iC7B,QM2iCV,iBAAkC,QN3iCxB,QM4iCV,sBAAuC,QN5iC7B,QM6iCV,sBAAuC,QN7iC7B,QM8iCV,sBAAuC,QN9iC7B,QM+iCV,mBAAoC,QN/iC1B,QMgjCV,uBAAwC,QNhjC9B,QMijCV,oBAAqC,QNjjC3B,QMkjCV,0BAA2C,QNljCjC,QMmjCV,2BAA4C,QNnjClC,QMojCV,qBAAsC,QNpjC5B,QMqjCV,uBAAwC,QNrjC9B,QMsjCV,gBAAiC,QNtjCvB,QMujCV,2BAA4C,QNvjClC,QMwjCV,yBAA0C,QNxjChC,QMyjCV,4BAA6C,QNzjCnC,QM0jCV,0BAA2C,QN1jCjC,QM2jCV,qBAAsC,QN3jC5B,QM4jCV,6BAA8C,QN5jCpC,QM6jCV,2BAA4C,QN7jClC,QM8jCV,mBAAoC,QN9jC1B,QM+jCV,sBAAuC,QN/jC7B,QMgkCV,eAAgC,QNhkCtB,QMikCV,yBAA0C,QNjkChC,QMkkCV,iBAAkC,QNlkCxB,QMmkCV,mBAAoC,QNnkC1B,QMokCV,mBAAoC,QNpkC1B,QMqkCV,yBAA0C,QNrkChC,QMskCV,mBAAoC,QNtkC1B,QMukCV,mBAAoC,QNvkC1B,QMwkCV,qBAAsC,QNxkC5B,QMykCV,kBAAmC,QNzkCzB,QM0kCV,uBAAwC,QN1kC9B,QM2kCV,uBAAwC,QN3kC9B,QM4kCV,0BAA2C,QN5kCjC,QM6kCV,0BAA2C,QN7kCjC,QM8kCV,iBAAkC,QN9kCxB,QM+kCV,gBAAiC,QN/kCvB,QMglCV,4BAA6C,QNhlCnC,QMilCV,qBAAsC,QNjlC5B,QMklCV,yBAA0C,QNllChC,QMmlCV,sBAAuC,QNnlC7B,QMolCV,iBAAkC,QNplCxB,QMqlCV,wBAAyC,QNrlC/B,QMslCV,wBAAyC,QNtlC/B,QMulCV,yBAA0C,QNvlChC,QMwlCV,wBAAyC,QNxlC/B,QMylCV,uBAAwC,QNzlC9B,QM0lCV,wBAAyC,QN1lC/B,QM2lCV,uBAAwC,QN3lC9B,QM4lCV,gBAAiC,QN5lCvB,QM6lCV,uBAAwC,QN7lC9B,QM8lCV,qBAAsC,QN9lC5B,QM+lCV,iBAAkC,QN/lCxB,QMgmCV,qBAAsC,QNhmC5B,QMimCV,kBAAmC,QNjmCzB,QMkmCV,kBAAmC,QNlmCzB,QMmmCV,uBAAwC,QNnmC9B,QMomCV,yBAA0C,QNpmChC,QMqmCV,kBAAmC,QNrmCzB,QMsmCV,oBAAqC,QNtmC3B,QMumCV,uBAAwC,QNvmC9B,QMwmCV,wBAAyC,QNxmC/B,QMymCV,uBAAwC,QNzmC9B,QM0mCV,8BAA+C,QN1mCrC,QM2mCV,qBAAsC,QN3mC5B,QM4mCV,kBAAmC,QN5mCzB,QM6mCV,oBAAqC,QN7mC3B,QM8mCV,4BAA6C,QN9mCnC,QM+mCV,eAAgC,QN/mCtB,QMgnCV,uBAAwC,QNhnC9B,QMinCV,uBAAwC,QNjnC9B,QMknCV,kBAAmC,QNlnCzB,QMmnCV,oBAAqC,QNnnC3B,QMonCV,sBAAuC,QNpnC7B,QMqnCV,mBAAoC,QNrnC1B,QMsnCV,yBAA0C,QNtnChC,QMunCV,gBAAiC,QNvnCvB,QMwnCV,oBAAqC,QNxnC3B,QMynCV,mBAAoC,QNznC1B,QM0nCV,iBAAkC,QN1nCxB,QM2nCV,wBAAyC,QN3nC/B,QM4nCV,kBAAmC,QN5nCzB,QM6nCV,sBAAuC,QN7nC7B,QM8nCV,0BAA2C,QN9nCjC,QM+nCV,8BAA+C,QN/nCrC,QMgoCV,yBAA0C,QNhoChC,QMioCV,mBAAoC,QNjoC1B,QMkoCV,sBAAuC,QNloC7B,QMmoCV,0BAA2C,QNnoCjC,QMooCV,eAAgC,QNpoCtB,QMqoCV,gBAAiC,QNroCvB,QMsoCV,gBAAiC,QNtoCvB,QMuoCV,iBAAkC,QNvoCxB,QMwoCV,gBAAiC,QNxoCvB,QMyoCV,qBAAsC,QNzoC5B,QM0oCV,oBAAqC,QN1oC3B,QM2oCV,0BAA2C,QN3oCjC,QM4oCV,yBAA0C,QN5oChC,QM6oCV,uBAAwC,QN7oC9B,QM8oCV,oBAAqC,QN9oC3B,QM+oCV,uBAAwC,QN/oC9B,QMgpCV,sBAAuC,QNhpC7B,QMipCV,cAA+B,QNjpCrB,QMkpCV,oBAAqC,QNlpC3B,QMmpCV,mBAAoC,QNnpC1B,QMopCV,mBAAoC,QNppC1B,QMqpCV,qBAAsC,QNrpC5B,QMspCV,uBAAwC,QNtpC9B,QMupCV,6BAA8C,QNvpCpC,QMwpCV,4BAA6C,QNxpCnC,QMypCV,4BAA6C,QNzpCnC,QM0pCV,+BAAgD,QN1pCtC,QM2pCV,sCAAuD,QN3pC7C,QM4pCV,uBAAwC,QN5pC9B,QM6pCV,qBAAsC,QN7pC5B,QM8pCV,qBAAsC,QN9pC5B,QM+pCV,kBAAmC,QN/pCzB,QMgqCV,sBAAuC,QNhqC7B,QMiqCV,iBAAkC,QNjqCxB,QMkqCV,wBAAyC,QNlqC/B,QMmqCV,yBAA0C,QNnqChC,QMoqCV,yBAA0C,QNpqChC,QMqqCV,wBAAyC,QNrqC/B,QMsqCV,gBAAiC,QNtqCvB,QMuqCV,sBAAuC,QNvqC7B,QMwqCV,iBAAkC,QNxqCxB,QMyqCV,sBAAuC,QNzqC7B,QM0qCV,qBAAsC,QN1qC5B,QM2qCV,mBAAoC,QN3qC1B,QM4qCV,iBAAkC,QN5qCxB,QM6qCV,4BAA6C,QN7qCnC,QM8qCV,qBAAsC,QN9qC5B,QM+qCV,iBAAkC,QN/qCxB,QMgrCV,uBAAwC,QNhrC9B,QMirCV,2BAA4C,QNjrClC,QMkrCV,iBAAkC,QNlrCxB,QMmrCV,qBAAsC,QNnrC5B,QMorCV,gBAAiC,QNprCvB,QMqrCV,oBAAqC,QNrrC3B,QMsrCV,kBAAmC,QNtrCzB,QMurCV,oBAAqC,QNvrC3B,QMwrCV,uBAAwC,QNxrC9B,QMyrCV,kBAAmC,QNzrCzB,QM0rCV,sBAAuC,QN1rC7B,QM2rCV,iBAAkC,QN3rCxB,QM4rCV,2BAA4C,QN5rClC,QM6rCV,uBAAwC,QN7rC9B,QM8rCV,yBAA0C,QN9rChC,QM+rCV,wBAAyC,QN/rC/B,QMgsCV,sBAAuC,QNhsC7B,QMisCV,kBAAmC,QNjsCzB,QMksCV,eAAgC,QNlsCtB,QMmsCV,kBAAmC,QNnsCzB,QMosCV,yBAA0C,QNpsChC,QMqsCV,cAA+B,QNrsCrB,QMssCV,oBAAqC,QNtsC3B,QMusCV,kBAAmC,QNvsCzB,QMwsCV,mBAAoC,QNxsC1B,QMysCV,0BAA2C,QNzsCjC,QM0sCV,iBAAkC,QN1sCxB,QM2sCV,gBAAiC,QN3sCvB,QM4sCV,iBAAkC,QN5sCxB,QM6sCV,oBAAqC,QN7sC3B,QM8sCV,0BAA2C,QN9sCjC,QM+sCV,qBAAsC,QN/sC5B,QMgtCV,gBAAiC,QNhtCvB,QMitCV,oBAAqC,QNjtC3B,QMktCV,uBAAwC,QNltC9B,QMmtCV,4BAA6C,QNntCnC,QMotCV,sBAAuC,QNptC7B,QMqtCV,kBAAmC,QNrtCzB,QMstCV,kBAAmC,QNttCzB,QMutCV,sBAAuC,QNvtC7B,QMwtCV,mBAAoC,QNxtC1B,QMytCV,kBAAmC,QNztCzB,QM0tCV,eAAgC,QN1tCtB,QM2tCV,sBAAuC,QN3tC7B,QM4tCV,sBAAuC,QN5tC7B,QM6tCV,gBAAiC,QN7tCvB,QM8tCV,oBAAqC,QN9tC3B,QM+tCV,0BAA2C,QN/tCjC,QMguCV,0BAA2C,QNhuCjC,QMiuCV,sBAAuC,QNjuC7B,QMkuCV,uBAAwC,QNluC9B,QMmuCV,sBAAuC,QNnuC7B,QMouCV,oBAAqC,QNpuC3B,QMquCV,qBAAsC,QNruC5B,QMsuCV,wBAAyC,QNtuC/B,QMuuCV,yBAA0C,QNvuChC,QMwuCV,qBAAsC,QNxuC5B,QMyuCV,mBAAoC,QNzuC1B,QM0uCV,sBAAuC,QN1uC7B,QM2uCV,sBAAuC,QN3uC7B,QM4uCV,qBAAsC,QN5uC5B,QM6uCV,uBAAwC,QN7uC9B,QM8uCV,uBAAwC,QN9uC9B,QM+uCV,sBAAuC,QN/uC7B,QMgvCV,oBAAqC,QNhvC3B,QMivCV,oBAAqC,QNjvC3B,QMkvCV,sBAAuC,QNlvC7B,QMmvCV,iBAAkC,QNnvCxB,QMovCV,qBAAsC,QNpvC5B,QMqvCV,oBAAqC,QNrvC3B,QMsvCV,wBAAyC,QNtvC/B,QMuvCV,yBAA0C,QNvvChC,QMwvCV,yBAA0C,QNxvChC,QMyvCV,oBAAqC,QNzvC3B,QM0vCV,wBAAyC,QN1vC/B,QM2vCV,kBAAmC,QN3vCzB,QM4vCV,yBAA0C,QN5vChC,QM6vCV,iBAAkC,QN7vCxB,QM8vCV,wBAAyC,QN9vC/B,QM+vCV,sBAAuC,QN/vC7B,QMgwCV,mBAAoC,QNhwC1B,QMiwCV,kBAAmC,QNjwCzB,QMkwCV,yBAA0C,QNlwChC,QMmwCV,gBAAiC,QNnwCvB,QMowCV,iBAAkC,QNpwCxB,QMqwCV,iBAAkC,QNrwCxB,QMswCV,iBAAkC,QNtwCxB,QMuwCV,sBAAuC,QNvwC7B,QMwwCV,uBAAwC,QNxwC9B,QMywCV,iBAAkC,QNzwCxB,QM0wCV,wBAAyC,QN1wC/B,QM2wCV,mBAAoC,QN3wC1B,QM4wCV,gBAAiC,QN5wCvB,QM6wCV,cAA+B,QN7wCrB,QM8wCV,eAAgC,QN9wCtB,QM+wCV,2BAA4C,QN/wClC,QMgxCV,uBAAwC,QNhxC9B,QMixCV,uBAAwC,QNjxC9B,QMkxCV,sBAAuC,QNlxC7B,QMmxCV,qBAAsC,QNnxC5B,QMoxCV,iBAAkC,QNpxCxB,QMqxCV,mBAAoC,QNrxC1B,QMsxCV,kBAAmC,QNtxCzB,QMuxCV,qBAAsC,QNvxC5B,QMwxCV,yBAA0C,QNxxChC,QMyxCV,iBAAkC,QNzxCxB,QM0xCV,kBAAmC,QN1xCzB,QM2xCV,iBAAkC,QN3xCxB,QM4xCV,kBAAmC,QN5xCzB,QM6xCV,0BAA2C,QN7xCjC,QM8xCV,kBAAmC,QN9xCzB,QM+xCV,oBAAqC,QN/xC3B,QMgyCV,2BAA4C,QNhyClC,QMiyCV,sBAAuC,QNjyC7B,QMkyCV,mBAAoC,QNlyC1B,QMmyCV,iBAAkC,QNnyCxB,QMoyCV,gBAAiC,QNpyCvB,QMqyCV,uBAAwC,QNryC9B,QMsyCV,kBAAmC,QNtyCzB,QMuyCV,sBAAuC,QNvyC7B,QMwyCV,wBAAyC,QNxyC/B,QMyyCV,2BAA4C,QNzyClC,QM0yCV,2BAA4C,QN1yClC,QM2yCV,0BAA2C,QN3yCjC,QM4yCV,mBAAoC,QN5yC1B,QM6yCV,sBAAuC,QN7yC7B,QM8yCV,0BAA2C,QN9yCjC,QM+yCV,eAAgC,QN/yCtB,QMgzCV,+BAAgD,QNhzCtC,QMizCV,oBAAqC,QNjzC3B,QMkzCV,qBAAsC,QNlzC5B,QMmzCV,4BAA6C,QNnzCnC,QMozCV,sBAAuC,QNpzC7B,QMqzCV,sBAAuC,QNrzC7B,QMszCV,mBAAoC,QNtzC1B,QMuzCV,kBAAmC,QNvzCzB,QMwzCV,iBAAkC,QNxzCxB,QMyzCV,gBAAiC,QNzzCvB,QM0zCV,gBAAiC,QN1zCvB,QM2zCV,uBAAwC,QN3zC9B,QM4zCV,wBAAyC,QN5zC/B,QM6zCV,iBAAkC,QN7zCxB,QM8zCV,kBAAmC,Q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BApFC,KAqFpB,QAAS,EDQT,4BEkBJ,GACI,QAAS,EJ5FD,kBI8FW,UAEvB,KACI,QAAS,EJjGD,kBIkGW,UFjBnB,yBEUJ,GACI,QAAS,EJxFD,eI0FW,UAEvB,KACI,QAAS,EJ7FD,eI8FW,UFLnB,oBEFJ,GACI,QAAS,EJ5FD,kBI8FW,UJ1FX,eI0FW,UJtFX,cIsFW,UJlFX,aIkFW,UJ9EX,UI8EW,UAEvB,KACI,QAAS,EJjGD,kBIkGW,SJ9FX,eI8FW,SJ1FX,cI0FW,SJtFX,aIsFW,SJlFX,UIkFW,UFzBnB,oCE4HJ,KACI,QAAS,EJtMD,kBIuMW,gBAEvB,GACI,QAAS,EJ1MD,kBI2MW,eF1HnB,iCEoHJ,KACI,QAAS,EJlMD,eImMW,gBAEvB,GACI,QAAS,EJtMD,eIuMW,eF9GnB,4BEwGJ,KACI,QAAS,EJtMD,kBIuMW,gBJnMX,eImMW,gBJ/LX,cI+LW,gBJ3LX,aI2LW,gBJvLX,UIuLW,gBAEvB,GACI,QAAS,EJ1MD,kBI2MW,cJvMX,eIuMW,cJnMX,cImMW,cJ/LX,aI+LW,cJ3LX,UI2LW,eFlInB,uCEwIJ,GJjNY,kBIkNW,gBAEvB,KJpNY,kBIqNW,eFpInB,oCEgIJ,GJ7MY,eI8MW,gBAEvB,KJhNY,eIiNW,eFxHnB,+BEoHJ,GJjNY,kBIkNW,gBJ9MX,eI8MW,gBJ1MX,cI0MW,gBJtMX,aIsMW,gBJlMX,UIkMW,gBAEvB,KJpNY,kBIqNW,cJjNX,eIiNW,cJ7MX,cI6MW,cJzMX,aIyMW,cJrMX,UIqMW,eF5InB,+CEiJJ,GJ1NY,kBI2NW,cAEvB,KJ7NY,kBI8NW,kBF7InB,4CEyIJ,GJtNY,eIuNW,cAEvB,KJzNY,eI0NW,kBFjInB,uCE6HJ,GJ1NY,kBI2NW,cJvNX,eIuNW,cJnNX,cImNW,cJ/MX,aI+MW,cJ3MX,UI2MW,cAEvB,KJ7NY,kBI8NW,iBJ1NX,eI0NW,iBJtNX,cIsNW,iBJlNX,aIkNW,iBJ9MX,UI8MW,kBFrJnB,oCE0JJ,GACI,QAAS,EAEb,KACI,QAAS,GFtJT,iCEkJJ,GACI,QAAS,EAEb,KACI,QAAS,GF1IT,4BEsIJ,GACI,QAAS,EAEb,KACI,QAAS,GF9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K2FW,cACnB,QAAS,EAEb,GL9FY,eK+FW,iBAAiB,UACpC,QAAS,GHPT,mCGCJ,KL9FY,kBK+FW,cL3FX,eK2FW,cLvFX,cKuFW,cLnFX,aKmFW,cL/EX,UK+EW,cACnB,QAAS,EAEb,GLlGY,kBKmGW,iBAAiB,UL/F5B,eK+FW,iBAAiB,UL3F5B,cK2FW,iBAAiB,ULvF5B,aKuFW,iBAAiB,ULnF5B,UKmFW,iBAAiB,UACpC,QAAS,GH3BT,wCGgCJ,KLzGY,kBK0GW,cACnB,QAAS,EAEb,GL7GY,kBK8GW,kBAAkB,UACrC,QAAS,GH9BT,qCGwBJ,KLrGY,eKsGW,cACnB,QAAS,EAEb,GLzGY,eK0GW,kBAAkB,UACrC,QAAS,GHlBT,gCGYJ,KLzGY,kBK0GW,cLtGX,eKsGW,cLlGX,cKkGW,cL9FX,aK8FW,cL1FX,UK0FW,cACnB,QAAS,EAEb,GL7GY,kBK8GW,kBAAkB,UL1G7B,eK0GW,kBAAkB,ULtG7B,cKsGW,kBAAkB,ULlG7B,aKkGW,kBAAkB,UL9F7B,UK8FW,kBAAkB,UACrC,QAAS,GHtCT,oCG2CJ,KLpHY,kBKqHW,SACnB,QAAS,EAEb,GLxHY,kBKyHW,WACnB,QAAS,GHzCT,iCGmCJ,KLhHY,eKiHW,SACnB,QAAS,EAEb,GLpHY,eKqHW,WACnB,QAAS,GH7BT,4BGuBJ,KLpHY,kBKqHW,SLjHX,eKiHW,SL7GX,cK6GW,SLzGX,aKyGW,SLrGX,UKqGW,SACnB,QAAS,EAEb,GLxHY,kBKyHW,WLrHX,eKqHW,WLjHX,cKiHW,WL7GX,aK6GW,WLzGX,UKyGW,WACnB,QAAS,GAMjB,wBACI,QA5Je,KA6Jf,SAAU,MACV,MA5JuB,KA6JvB,QA5JyB,KA8JzB,WAAY,WANhB,0BAAA,+BAAA,gCAUQ,WAAY,WAVpB,sCAlHI,WArCiB,WAsCjB,OArCc,IAAI,MAAM,KAsCxB,QAlCe,GLwEP,cAAe,IKnCvB,WAxCkB,EAAI,EAAI,IAAI,EAAI,iBAyClC,SAAU,SACV,OAtCkB,IAAI,EAAI,IAAI,EA0C9B,QAAS,MACT,QA9CoB,ILoBR,mBKgJY,IA9JL,IA8J+B,YL5ItC,gBK4IY,IA9JL,IA8J+B,YLhItC,WKgIY,IA9JL,IA8J+B,YAjFlD,WAzEkB,KA0ElB,MA3EoB,QAsCpB,qDACI,QAAS,WACT,QAjDgB,IAkDhB,WAAY,KACZ,UA/Ca,KAgDb,MAhDa,KAiDb,eAAgB,OAEpB,qDACI,QAAS,WACT,QAzDgB,IA0DhB,WAAY,KACZ,eAAgB,OAEpB,wDACI,QAAS,WACT,QA/DgB,IAgEhB,WAAY,MACZ,eAAgB,OAEZ,gFACI,aAAc,IAI1B,sDACI,QAAS,WACT,QA1EgB,IA2EhB,WAAY,MACZ,eAAgB,IAChB,gBAAiB,KACjB,OAAQ,QAOZ,qDACI,M/B/EM,Q+BiFV,sDACI,MAhFgB,QA2IxB,8CAjEI,WArEkB,KAsElB,M/BtFa,Q+BuFb,6DACI,M/BxFS,Q+B0Fb,8DACI,M/B3FS,Q+BsJjB,8CAjEI,WAjEkB,KAkElB,M/BpFa,Q+BqFb,6DACI,M/BtFS,Q+BwFb,8DACI,M/BzFS,Q+BoJjB,2CAjEI,WA7De,KA8Df,M/BnFU,Q+BoFV,0DACI,M/BrFM,Q+BuFV,2DACI,M/BxFM,Q+BmJd,8CAjEI,W/BjFa,Q+BkFb,MA3DoB,KA4DpB,6DACI,M/BpFS,Q+BsFb,8DACI,MAhEgB,KA2HxB,6CAjEI,W/BjFa,Q+BkFb,MAvDmB,KAwDnB,4DACI,M/BnFQ,Q+BqFZ,6DACI,MA5De,KAuHvB,oCAsCQ,KAAM,EACN,OAAQ,EAvChB,kDLhIgB,kBK0Ke,aAxLR,IHUH,0BFQJ,eKsKe,aAxLR,IHUH,0BFoBJ,UK0Je,aAxLR,IHUH,0BGoIpB,0DLhIgB,kBK4KmB,wBA1LZ,IA0L0D,KAAK,SLxKtE,eKwKmB,wBA1LZ,IA0L0D,KAAK,SL5JtE,UK4JmB,wBA1LZ,IA0L0D,KAAK,SA5CtF,0DLhIgB,kBK+KmB,iBA7LZ,IA6LmD,KAAK,SL3K/D,eK2KmB,iBA7LZ,IA6LmD,KAAK,SL/J/D,UK+JmB,iBA7LZ,IA6LmD,KAAK,SA/C/E,qCAoDQ,MAAO,EACP,OAAQ,EArDhB,mDLhIgB,kBKwLe,aAtMR,IHUH,0BFQJ,eKoLe,aAtMR,IHUH,0BFoBJ,UKwKe,aAtMR,IHUH,0BGoIpB,2DLhIgB,kBK0LmB,wBAxMZ,IAwM0D,KAAK,SLtLtE,eKsLmB,wBAxMZ,IAwM0D,KAAK,SL1KtE,UK0KmB,wBAxMZ,IAwM0D,KAAK,SA1DtF,2DLhIgB,kBK6LmB,iBA3MZ,IA2MmD,KAAK,SLzL/D,eKyLmB,iBA3MZ,IA2MmD,KAAK,SL7K/D,UK6KmB,iBA3MZ,IA2MmD,KAAK,SA7D/E,iCAoEQ,KAAM,EACN,IAAK,EArEb,+CLhIgB,kBKwMe,gBAtNR,IHUH,0BFQJ,eKoMe,gBAtNR,IHUH,0BFoBJ,UKwLe,gBAtNR,IHUH,0BGoIpB,uDLhIgB,kBK2MmB,qBAzNZ,IAyNuD,KAAK,SLvMnE,eKuMmB,qBAzNZ,IAyNuD,KAAK,SL3LnE,UK2LmB,qBAzNZ,IAyNuD,KAAK,SA3EnF,uDLhIgB,kBK8MmB,iBA5NZ,IA4NmD,KAAK,SL1M/D,eK0MmB,iBA5NZ,IA4NmD,KAAK,SL9L/D,UK8LmB,iBA5NZ,IA4NmD,KAAK,SA9E/E,kCAoFQ,MAAO,EACP,IAAK,EArFb,gDLhIgB,kBKwNe,gBAtOR,IHUH,0BFQJ,eKoNe,gBAtOR,IHUH,0BFoBJ,UKwMe,gBAtOR,IHUH,0BGoIpB,wDLhIgB,kBK0NmB,qBAxOZ,IAwOuD,KAAK,SLtNnE,eKsNmB,qBAxOZ,IAwOuD,KAAK,SL1MnE,UK0MmB,qBAxOZ,IAwOuD,KAAK,SA1FnF,wDLhIgB,kBK6NmB,iBA3OZ,IA2OmD,KAAK,SLzN/D,eKyNmB,iBA3OZ,IA2OmD,KAAK,SL7M/D,UK6MmB,iBA3OZ,IA2OmD,KAAK,SCxP/E,eACE,QAAQ,EACR,YAAY,QAFd,wBAKI,iBAAiB,KALrB,2CASI,OAAO,EAAA,KACP,WAAW,EAAE,EAAE,KAAU,eAV7B,kBAcI,YAAY,IAdhB,kBAkBI,QAAQ,EACR,WAAW,OAnBf,oCAsBM,iBAAiB,YACjB,OAAO,EAAA,KACP,WAAW,OAxBjB,0CA2BQ,iBhCtBS,QgCuBT,MAAM,KA5Bd,sCAiCM,MhC5BW,QgCLjB,mCAqCM,iBhChCW,QgCiCX,MAAM,KAtCZ,iCA4CI,iBhCvCa,QgCwCb,MAAM,KACN,OAAO,EAAA,KACP,0BAA0B,EAC1B,2BAA2B,EAhD/B,qCAoDI,QAAQ,EACR,OAAO,K/B1BT,gBAAgB,KAChB,QAAQ,SACR,QAAQ,K+B0BN,YAAa,OAvDjB,mCAAA,mCA4DI,WAAY,OACZ,MAAM,KACN,OAAO,KACP,IAAI,E/BpCN,gBAAgB,KAChB,QAAQ,SACR,QAAQ,K+BoCN,YAAa,OACb,gBAAiB,OACjB,cAAc,EAnElB,4DAAA,4DAAA,4DAAA,4DAuEM,iBAAiB,QACjB,MAAM,KACN,OAAO,EAAA,KACP,OAAO,QA1Eb,mCA+EI,KAAK,EA/ET,mCAmFI,MAAM,EAnFV,oCAuFI,MAAM,KAvFV,2CAyFM,eAAgB,OAChB,WAAY,IACZ,OAAQ,EAAA,KACR,MAAO,KACP,OAAO,KACP,YAAY,KACZ,QAAS,EAAA,eACT,WAAW,OACX,OAAO,EACP,YAAY,QAlGlB,kDAqGQ,MAAM,KCtGd,YACE,MAAM,KACN,OAAO,KACP,QAAQ,KACR,WAAW,kCACX,gBAAiB,OACjB,YAAa,OANf,wBASI,UAAU,KACV,YAAY,IACZ,MAAM,KACN,kBAAmB,SAAA,IAAA,OAAA,SACnB,aAAc,SAAA,IAAA,OAAA,SACd,UAAW,SAAA,IAAA,OAAA,SACX,cAAc,KACd,WAAW,OAhBf,0BAoBI,MAAM,KACN,UAAU,KACV,WAAW,OACX,eAAgB,OAChB,WAAW,KAxBf,yBA2BI,kBAAmB,WAAA,IAAA,OAAA,SACnB,aAAc,WAAA,IAAA,OAAA,SACd,UAAW,WAAA,IAAA,OAAA,SACX,OAAO,IAAA,MAAA,QACP,MAAO,MACP,WAAY,EAAA,EAAA,KAAA,KACZ,cAAe,IACf,SAAU,OACV,WAAY,eACZ,OAAO,EAAA,KApCX,wCAuCM,QAAS,KAAA,KACT,wBAAyB,IACzB,uBAAwB,IACxB,MAAO,KACP,cAAe,IAAA,MAAA,QACf,UAAW,KACX,WAAY,qBACZ,WAAW,OA9CjB,qCAkDM,QAAS,KAAA,KACT,MAAO,KACP,WAAY,KApDlB,uCAwDM,WAAW,IACX,WAAW,OACX,MAAM,KACN,OAAQ,KAAA,IAAA,MA3Dd,8BA+DM,WAAW,KACX,MAAM,KACN,OAAO,IAAA,MAAA,KACP,QAAS","file":"admin.min.css","sourcesContent":["@charset \"UTF-8\";\r\n\r\n// BASE\r\n@import \"boot/mixins\";\r\n@import \"boot/function\";\r\n@import \"boot/fonts\";\r\n@import \"variables\";\r\n@import \"boot/reset\";\r\n\r\n// 애니메이션,레이아웃,유틸리티,컴포넌트\r\n@import \"common/animation\";\r\n@import \"common/layout\";\r\n@import \"common/utility\";\r\n\r\n// 각종 컴포넌트\r\n@import \"components/buttons\";\r\n@import \"components/dropdown\";\r\n@import \"components/grid\";\r\n@import \"components/form\";\r\n@import \"components/pagination\";\r\n\r\n// 각종 플러그인 SCSS 및 플러그인 커스텀\r\n@import \"plugins/jquery_ui\";\r\n@import \"plugins/fontawesome5/fontawesome\";\r\n@import \"plugins/fontawesome5/fa-regular\";\r\n@import \"plugins/fontawesome5/fa-light\";\r\n@import \"plugins/fontawesome5/fa-solid\";\r\n@import \"plugins/fontawesome5/fa-brands\";\r\n@import \"plugins/jquery.datetimepicker.css\";\r\n@import \"plugins/ax5ui/ax5\";\r\n@import \"plugins/ax5ui/ax5grid\";\r\n@import \"plugins/ax5ui/ax5mask\";\r\n@import \"plugins/ax5ui/ax5modal\";\r\n@import \"plugins/ax5ui/ax5toast\";\r\n@import \"plugins/plugins_custom\";\r\n\r\n// 각 페이지 SCSS 파일\r\n@import \"pages/login\";\r\n\r\n","@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:300;\r\n src: url(../fonts/Gilroy-Light.eot);\r\n src: url(../fonts/Gilroy-Light.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Light.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Light.woff) format('woff'),\r\n url(../fonts/Gilroy-Light.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:400;\r\n src: url(../fonts/Gilroy-Regular.eot);\r\n src: url(../fonts/Gilroy-Regular.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Regular.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Regular.woff) format('woff'),\r\n url(../fonts/Gilroy-Regular.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:500;\r\n src: url(../fonts/Gilroy-Medium.eot);\r\n src: url(../fonts/Gilroy-Medium.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Medium.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Medium.woff) format('woff'),\r\n url(../fonts/Gilroy-Medium.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:700;\r\n src: url(../fonts/Gilroy-Bold.eot);\r\n src: url(../fonts/Gilroy-Bold.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Bold.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Bold.woff) format('woff'),\r\n url(../fonts/Gilroy-Bold.ttf) format('truetype');\r\n}\r\n\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:800;\r\n src: url(../fonts/Gilroy-ExtraBold.eot);\r\n src: url(../fonts/Gilroy-ExtraBold.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-ExtraBold.woff2) format('woff2'),\r\n url(../fonts/Gilroy-ExtraBold.woff) format('woff'),\r\n url(../fonts/Gilroy-ExtraBold.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 400;\r\n src: url(../fonts/NanumSquareR.eot);\r\n src: url(../fonts/NanumSquareR.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareR.woff) format('woff'),\r\n url(../fonts/NanumSquareR.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 700;\r\n src: url(../fonts/NanumSquareB.eot);\r\n src: url(../fonts/NanumSquareB.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareB.woff) format('woff'),\r\n url(../fonts/NanumSquareB.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 800;\r\n src: url(../fonts/NanumSquareEB.eot);\r\n src: url(../fonts/NanumSquareEB.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareEB.woff) format('woff'),\r\n url(../fonts/NanumSquareEB.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 300;\r\n src: url(../fonts/NanumSquareL.eot);\r\n src: url(../fonts/NanumSquareL.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareL.woff) format('woff'),\r\n url(../fonts/NanumSquareL.ttf) format('truetype');\r\n}\r\n\r\n",null,"/**********************************************************************************************************************\r\n * RESET\r\n ***********************************************************************************************************************/\r\n*,\r\n*::before,\r\n*::after {\r\n box-sizing: border-box;\r\n}\r\n\r\nhtml {\r\n font-family: sans-serif; // 2\r\n line-height: 1.15; // 3\r\n -webkit-text-size-adjust: 100%; // 4\r\n -ms-text-size-adjust: 100%; // 4\r\n -ms-overflow-style: scrollbar; // 5\r\n -webkit-tap-highlight-color: rgba(#000, 0); // 6\r\n}\r\n\r\n// IE10+ 에서 viewport 메타 태그가 먹지않는경우를 대비\r\n@at-root {\r\n @-ms-viewport {\r\n width: device-width;\r\n }\r\n}\r\n\r\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\r\n display: block;\r\n}\r\n\r\nbody {\r\n margin: 0;\r\n font-family: $font-family-base;\r\n font-size: $font-size-base;\r\n font-weight: $font-weight-base;\r\n line-height: $line-height-base;\r\n color: $body-color;\r\n text-align: left;\r\n background-color: $body-bg-color;\r\n}\r\n\r\n[tabindex=\"-1\"]:focus {\r\n outline: 0 !important;\r\n}\r\n\r\nhr {\r\n box-sizing: content-box;\r\n height: 0;\r\n overflow: visible;\r\n}\r\n\r\nh1, h2, h3, h4, h5, h6 {\r\n margin:0;\r\n font-family:$font-family-heading;\r\n}\r\n\r\np {\r\n margin:0;\r\n}\r\n\r\nabbr[title],\r\nabbr[data-original-title] {\r\n text-decoration: underline;\r\n text-decoration: underline dotted;\r\n cursor: help; // 3\r\n border-bottom: 0; // 1\r\n}\r\n\r\naddress {\r\n margin:0;\r\n font-style: normal;\r\n line-height: inherit;\r\n}\r\n\r\nol,\r\nul,\r\ndl {\r\n margin:0;\r\n}\r\n\r\n\r\nol ol,\r\nul ul,\r\nol ul,\r\nul ol {\r\n margin:0;\r\n}\r\n\r\ndt {\r\n font-weight: $font-weight-base;\r\n}\r\n\r\ndd {\r\n margin:0;\r\n}\r\n\r\nblockquote {\r\n margin:0;\r\n}\r\n\r\ndfn {\r\n font-style: italic;\r\n}\r\n\r\nb,\r\nstrong {\r\n font-weight: $font-weight-bold;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n position: relative;\r\n font-size: 75%;\r\n line-height: 0;\r\n vertical-align: baseline;\r\n}\r\n\r\nsub { bottom: -.25em; }\r\nsup { top: -.5em; }\r\n\r\n// 링크\r\na {\r\n color: $link-color;\r\n text-decoration: none;\r\n background-color: transparent;\r\n -webkit-text-decoration-skip: objects;\r\n\r\n &:hover {\r\n color: $link-hover-color;\r\n text-decoration:none;\r\n }\r\n\r\n &:not([href]):not([tabindedx]) {\r\n color: inherit;\r\n text-decoration: none;\r\n\r\n &:hover,\r\n &:focus {\r\n color: inherit;\r\n text-decoration: none;\r\n }\r\n\r\n &:focus {\r\n outline: 0;\r\n }\r\n }\r\n}\r\n\r\n// 코드 관련\r\npre,\r\ncode,\r\nkbd,\r\nsamp {\r\n font-family: $font-family-base;\r\n font-size: 1em;\r\n}\r\n\r\npre {\r\n margin:0;\r\n overflow: auto;\r\n -ms-overflow-style: scrollbar;\r\n}\r\n\r\n// 이미지 관련\r\nfigure {\r\n margin: 0;\r\n}\r\n\r\nimg {\r\n vertical-align: middle;\r\n border-style: none;\r\n}\r\n\r\nsvg:not(:root) {\r\n overflow: hidden;\r\n}\r\n\r\n// 테이블 관련\r\ntable {\r\n border-collapse: collapse;\r\n}\r\n\r\ncaption {\r\n padding-top: $table-cell-padding;\r\n padding-bottom: $table-cell-padding;\r\n color: $body-color;\r\n text-align: left;\r\n caption-side: bottom;\r\n}\r\n\r\nth {\r\n text-align: inherit;\r\n}\r\n\r\n// 폼관련\r\nlabel {\r\n display: inline-block;\r\n margin:0;\r\n}\r\n\r\nbutton {\r\n border-radius: 0;\r\n\r\n &:focus {\r\n outline: 1px dotted;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n }\r\n}\r\n\r\ninput,\r\nbutton,\r\nselect,\r\noptgroup,\r\ntextarea {\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: inherit;\r\n line-height: inherit;\r\n}\r\n\r\nbutton,\r\ninput {\r\n overflow: visible;\r\n}\r\n\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nbutton,\r\nhtml [type=\"button\"],\r\n[type=\"reset\"],\r\n[type=\"submit\"] {\r\n -webkit-appearance: button;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\n[type=\"button\"]::-moz-focus-inner,\r\n[type=\"reset\"]::-moz-focus-inner,\r\n[type=\"submit\"]::-moz-focus-inner {\r\n padding: 0;\r\n border-style: none;\r\n}\r\n\r\ninput[type=\"radio\"],\r\ninput[type=\"checkbox\"] {\r\n box-sizing: border-box;\r\n padding: 0;\r\n}\r\n\r\ninput[type=\"date\"],\r\ninput[type=\"time\"],\r\ninput[type=\"datetime-local\"],\r\ninput[type=\"month\"] {\r\n -webkit-appearance: listbox;\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n resize: vertical;\r\n}\r\n\r\nfieldset {\r\n min-width: 0;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n}\r\n\r\nlegend {\r\n display: block;\r\n width: 100%;\r\n max-width: 100%;\r\n padding: 0;\r\n margin:0;\r\n font-size: 1.5rem;\r\n line-height: inherit;\r\n color: inherit;\r\n white-space: normal;\r\n}\r\n\r\nprogress {\r\n vertical-align: baseline;\r\n}\r\n\r\n[type=\"number\"]::-webkit-inner-spin-button,\r\n[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\n\r\n[type=\"search\"] {\r\n outline-offset: -2px;\r\n -webkit-appearance: none;\r\n}\r\n\r\n[type=\"search\"]::-webkit-search-cancel-button,\r\n[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\n\r\n\r\n::-webkit-file-upload-button {\r\n font: inherit;\r\n -webkit-appearance: button;\r\n}\r\n\r\n\r\noutput {\r\n display: inline-block;\r\n}\r\n\r\nsummary {\r\n display: list-item;\r\n cursor: pointer;\r\n}\r\n\r\ntemplate {\r\n display: none;\r\n}\r\n\r\n[hidden] {\r\n display: none !important;\r\n}\r\n","\r\n@-webkit-keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -moz-transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(30px) scale(1);\r\n -moz-transform: translateY(30px) scale(1);\r\n -ms-transform: translateY(30px) scale(1);\r\n -o-transform: translateY(30px) scale(1);\r\n transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -moz-transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(-30px) scale(1);\r\n -moz-transform: translateY(-30px) scale(1);\r\n -ms-transform: translateY(-30px) scale(1);\r\n -o-transform: translateY(-30px) scale(1);\r\n transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -webkit-transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -moz-transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -webkit-transform: translateX(-30px) scale(1);\r\n -moz-transform: translateX(-30px) scale(1);\r\n -ms-transform: translateX(-30px) scale(1);\r\n -o-transform: translateX(-30px) scale(1);\r\n transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -webkit-transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -moz-transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -webkit-transform: translateX(30px) scale(1);\r\n -moz-transform: translateX(30px) scale(1);\r\n -ms-transform: translateX(30px) scale(1);\r\n -o-transform: translateX(30px) scale(1);\r\n transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}","body {\r\n height:100vh;\r\n}\r\n$header-height : 50px;\r\n$nav-height : 59px;\r\n\r\n#header {\r\n position:relative;\r\n @include display-flex();\r\n height:$header-height;\r\n background: #5399ea; /* Old browsers */\r\n background: -moz-linear-gradient(left, #5399ea 0%, #5ec0cc 100%); /* FF3.6-15 */\r\n background: -webkit-linear-gradient(left, #5399ea 0%,#5ec0cc 100%); /* Chrome10-25,Safari5.1-6 */\r\n background: linear-gradient(to right, #5399ea 0%,#5ec0cc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\r\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5399ea', endColorstr='#5ec0cc',GradientType=1 ); /* IE6-9 */\r\n padding:0 30px;\r\n z-index:101;\r\n align-items: center;\r\n\r\n .logo {\r\n display:block;\r\n color:#fff;\r\n font-size:19px;\r\n }\r\n\r\n .top-navs {\r\n -ms-flex:1;\r\n -webkit-flex:1;\r\n flex:1;\r\n }\r\n\r\n\r\n .btn-top-action {\r\n padding:14px;\r\n cursor:pointer;\r\n background:transparent;\r\n position:relative;\r\n color:#fff;\r\n border:0 none;\r\n outline:none !important;\r\n font-size:13px;\r\n\r\n i {\r\n font-size:20px;\r\n vertical-align: middle;\r\n }\r\n }\r\n\r\n .btn-user {\r\n display:inline-block;\r\n\r\n .btn-top-action {\r\n\r\n &:after {\r\n content:\"\\f107\";\r\n font-family:'Font Awesome 5 Pro';\r\n position:absolute;\r\n right:0px;\r\n top:50%;\r\n -webkit-transform: translateY(-50%);\r\n -moz-transform: translateY(-50%);\r\n -ms-transform: translateY(-50%);\r\n -o-transform: translateY(-50%);\r\n transform: translateY(-50%);\r\n }\r\n }\r\n }\r\n}\r\n\r\n#nav {\r\n position:relative;\r\n z-index: 100;\r\n width: 100%;\r\n height: $nav-height;\r\n background-color: #ffffff;\r\n border-bottom: 1px solid #e6e6e6;\r\n padding:0 30px;\r\n\r\n .main-navigation {\r\n @include display-flex();\r\n height:$nav-height;\r\n padding:0;\r\n margin:0;\r\n list-style:none;\r\n flex-wrap:wrap;\r\n\r\n > li {\r\n display:block;\r\n position:relative;\r\n margin-right:30px;\r\n\r\n > a {\r\n @include display-flex();\r\n height:$nav-height;\r\n justify-content: center;\r\n align-items: center;\r\n color:#979797;\r\n font-size:0;\r\n font-weight:500;\r\n padding-left:0;\r\n padding-right:45px;\r\n position:relative;\r\n font-family: NanumSquare;\r\n\r\n &:after {\r\n content:\"\\f107\";\r\n font-family:'Font Awesome 5 Pro';\r\n position:absolute;\r\n font-size:15px;\r\n right:15px;\r\n top:50%;\r\n -webkit-transform: translateY(-50%);\r\n -moz-transform: translateY(-50%);\r\n -ms-transform: translateY(-50%);\r\n -o-transform: translateY(-50%);\r\n transform: translateY(-50%);\r\n }\r\n\r\n i, span {\r\n font-size:15px;\r\n }\r\n\r\n i + span {\r\n margin-left:6px;\r\n }\r\n }\r\n\r\n &.active {\r\n > a {\r\n color:#282828;\r\n }\r\n }\r\n\r\n > ul {\r\n height:0;\r\n visibility: hidden;\r\n opacity:0;\r\n z-index:101;\r\n position:absolute;\r\n top:100%;\r\n left:0;\r\n width:130px;\r\n background:#fff;\r\n list-style:none;\r\n padding:0;\r\n margin:0;\r\n border:1px solid #767676;\r\n\r\n li {\r\n display:block;\r\n\r\n a {\r\n display:block;\r\n padding:12px 15px;\r\n font-size:13px;\r\n color:#282828;\r\n cursor:pointer;\r\n\r\n &:hover {\r\n background-color:#f4f8f9;\r\n }\r\n }\r\n\r\n &.active {\r\n a {\r\n background-color:#f4f8f9;\r\n color:$color-primary;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:hover {\r\n > a {\r\n color:#282828;\r\n }\r\n\r\n > ul {\r\n height:auto;\r\n visibility: visible;\r\n opacity:1;\r\n -webkit-transition: visibility .3s, opacity .3s;\r\n -moz-transition: visibility .3s, opacity .3s;\r\n -ms-transition: visibility .3s, opacity .3s;\r\n -o-transition: visibility .3s, opacity .3s;\r\n transition: visibility .3s, opacity .3s;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n#contents {\r\n padding:30px;\r\n height: calc(100vh - #{$header-height} - #{$nav-height});\r\n overflow-y:auto;\r\n}\r\n\r\n.page-header {\r\n margin-bottom:15px;\r\n\r\n .page-title {\r\n font-size:23px;\r\n font-weight:500;\r\n color:#282828;\r\n\r\n small {\r\n color:#767676;\r\n font-size:12px;\r\n margin-left:15px;\r\n }\r\n }\r\n}\r\n\r\n.box {\r\n position:relative;\r\n padding:30px;\r\n background:#fff;\r\n border-radius:4px;\r\n border:1px solid #e6e6e6;\r\n\r\n .box-header {\r\n border-bottom:1px solid #e6e6e6;\r\n margin-bottom:15px;\r\n margin-top:-30px;\r\n position:relative;\r\n height:57px;\r\n\r\n @include clear-fix-after();\r\n\r\n .box-title {\r\n float:left;\r\n color:$brand-primary;\r\n font-size:15px;\r\n font-weight:500;\r\n padding:18px 0;\r\n\r\n small {\r\n color:#767676;\r\n font-weight:400;\r\n font-size:13px;\r\n }\r\n }\r\n\r\n .box-action {\r\n float:right;\r\n @include display-flex();\r\n height:57px;\r\n align-items: center;\r\n }\r\n }\r\n}",".ellipsis { text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; overflow:hidden; }\r\n.admin-help-wrap {\r\n width:700px; margin:0 auto;\r\n li > img {width:700px;}\r\n .point-color {color:#e60035}\r\n}\r\n\r\n/* 높이/너비/마진/패딩 */\r\n@for $i from 1 to 100 {\r\n .H#{$i * 5} {\r\n height: 5px * $i !important;\r\n }\r\n}\r\n@for $i from 1 to 100{\r\n .W#{$i * 5} {\r\n width: 5px * $i !important;\r\n }\r\n}\r\n@for $i from 1 to 10 {\r\n .M#{$i * 5} {\r\n margin:5px * $i;\r\n }\r\n .MT#{$i * 5} {\r\n margin-top:5px * $i;\r\n }\r\n .MR#{$i*5} {\r\n margin-right:5px * $i;\r\n }\r\n .MB#{$i * 5} {\r\n margin-bottom:5px * $i;\r\n }\r\n .ML#{$i * 5} {\r\n margin-left:5px * $i;\r\n }\r\n .PT#{$i * 5} {\r\n padding-top:5px * $i;\r\n }\r\n .PR#{$i * 5} {\r\n padding-right:5px * $i;\r\n }\r\n .PB#{$i * 5} {\r\n padding-bottom:5px * $i;\r\n }\r\n .PL#{$i * 5} {\r\n padding-left:5px * $i;\r\n }\r\n .P#{$i * 5} {\r\n padding:5px * $i;\r\n }\r\n}\r\n\r\n.text-center {\r\n text-align:center !important;\r\n}\r\n\r\n.text-left {\r\n text-align:left !important;\r\n}\r\n\r\n.text-right {\r\n text-align:right !important;\r\n}\r\n\r\n\r\n@each $color, $value in $theme-colors {\r\n .text-#{$color} {\r\n color:$value;\r\n }\r\n}\r\n","// 반응형 포인트\r\n$break-desktop : 1200px;\r\n$break-tablet : 992px;\r\n$break-mobile : 768px;\r\n\r\n// 색상 변수\r\n$color-primary : #5399ea; // 메인 컬러\r\n$color-secondary : #404040; // 서브 컬러\r\n$color-success : #1ffd32;\r\n$color-info : #3498db;\r\n$color-warning : #ffb802;\r\n$color-danger : #e32815;\r\n$color-light : #f8f9fa;\r\n$color-dark : #343a40;\r\n\r\n$body-color : #282828; // 기본 텍스트 색상\r\n$body-bg-color : #f4f8f9; // 기본 배경 색상\r\n\r\n$link-color : $body-color; // 링크 텍스트 색상\r\n$link-hover-color : $color-primary; // 링크 오버시 텍스트 색상\r\n\r\n// 폰트 관련\r\n$font-family-base : Gilroy,'Noto Sans KR',sans-serif; // 기본글자에 사용 되는 폰트\r\n$font-family-heading : Gilroy, 'NanumSquare','나눔스퀘어',sans-serif; // 헤딩태그에 사용 되는 폰트\r\n$font-size-base : 14px;\r\n$font-weight-base : 400;\r\n$font-weight-bold : 700;\r\n$line-height-base : 1.5em;\r\n\r\n// 애니메이션\r\n$default-animation : ease;\r\n\r\n// 테이블 관련\r\n$table-cell-padding: .75rem !default;\r\n$table-cell-padding-sm: .3rem !default;\r\n\r\n// 버튼 및 INPUT\r\n$input-btn-padding-y : 7px !default; // 상하\r\n$input-btn-padding-x : 24px !default; // 좌우\r\n$input-btn-font-size : 15px !default;\r\n$input-btn-line-height: $line-height-base !default;\r\n$input-btn-border-radius : 4px !default;\r\n\r\n$input-btn-padding-y-xs: 4px !default;\r\n$input-btn-padding-x-xs: 12px !default;\r\n$input-btn-font-size-xs: 11px !default;\r\n$input-btn-line-height-xs: $line-height-base !default;\r\n$input-btn-border-radius-xs : 2px !default;\r\n\r\n$input-btn-padding-y-sm: 6.5px !default;\r\n$input-btn-padding-x-sm: 17px !default;\r\n$input-btn-font-size-sm: 13px !default;\r\n$input-btn-line-height-sm: $line-height-base !default;\r\n$input-btn-border-radius-sm : 3px !default;\r\n\r\n$input-btn-padding-y-lg: 12px !default;\r\n$input-btn-padding-x-lg: 25px !default;\r\n$input-btn-font-size-lg: 15px !default;\r\n$input-btn-line-height-lg: $line-height-base !default;\r\n$input-btn-border-radius-lg : 6px !default;\r\n\r\n$theme-colors: () !default;\r\n$theme-colors: map-merge((\r\n \"primary\": $color-primary,\r\n \"secondary\": $color-secondary,\r\n \"success\": $color-success,\r\n \"info\": $color-info,\r\n \"warning\": $color-warning,\r\n \"danger\": $color-danger,\r\n \"light\" : $color-light,\r\n \"dark\" : $color-dark\r\n), $theme-colors);\r\n\r\n$brand-primary : $color-primary;\r\n$brand-success : $color-success;\r\n$brand-info : $color-info;\r\n$brand-warning : $color-warning;\r\n$brand-danger : $color-danger;\r\n","// Clear FIX\r\n@mixin clear-fix() {\r\n display:block;\r\n clear:both;\r\n content:\"\";\r\n}\r\n\r\n@mixin clear-fix-after() {\r\n &:after {\r\n display:block;\r\n clear:both;\r\n content:\"\";\r\n }\r\n}\r\n\r\n// Global Transition\r\n@mixin transition($second:.3s, $target:all, $animation:$default-animation)\r\n{\r\n -webkit-transition: $target $second $animation;\r\n -moz-transition: $target $second $animation;\r\n -ms-transition: $target $second $animation;\r\n -o-transition: $target $second $animation;\r\n transition: $target $second $animation;\r\n}\r\n\r\n// Display flex & Prefix\r\n@mixin display-flex()\r\n{\r\n -webkit-display:flex;\r\n display:-ms-flex;\r\n display:flex;\r\n}\r\n\r\n@mixin background-gradient($start, $end )\r\n{\r\n background-color: $start;\r\n background-image: -webkit-linear-gradient(top, $start, $end);\r\n background-image: linear-gradient(to bottom,$start, $end);\r\n}\r\n\r\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\r\n padding: $padding-y $padding-x;\r\n font-size: $font-size;\r\n line-height: $line-height;\r\n border-radius: $border-radius;\r\n}\r\n\r\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\r\n color: color-yiq($background);\r\n background-color:$background;\r\n border-color: $border;\r\n\r\n &:hover {\r\n color: color-yiq($hover-background);\r\n background-color :$hover-background;\r\n border-color: $hover-border;\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n\r\n }\r\n\r\n // Disabled comes first so active can properly restyle\r\n &.disabled,\r\n &:disabled {\r\n color: color-yiq($background);\r\n background-color: $background;\r\n border-color: $border;\r\n }\r\n\r\n &:not(:disabled):not(.disabled):active,\r\n &:not(:disabled):not(.disabled).active,\r\n .show > &.dropdown-toggle {\r\n color: color-yiq($active-background);\r\n background-color: $active-background;\r\n border-color: $active-border;\r\n\r\n &:focus {\r\n\r\n }\r\n }\r\n}\r\n",".btn {\r\n display: inline-block;\r\n font-weight: 400;\r\n color: $body-color;\r\n text-align: center;\r\n vertical-align: middle;\r\n user-select: none;\r\n background-color: transparent;\r\n border: 1px solid transparent;\r\n @include button-size( $input-btn-padding-y , $input-btn-padding-x, $input-btn-font-size, $input-btn-line-height, $input-btn-border-radius );\r\n @include transition();\r\n\r\n &:hover {\r\n color: $body-color;\r\n text-decoration: none;\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n outline: 0;\r\n box-shadow:none;\r\n }\r\n\r\n &.disabled,\r\n &:disabled {\r\n opacity: 0.4;\r\n box-shadow:none;\r\n }\r\n\r\n &:not(:disabled):not(.disabled) {\r\n cursor: pointer;\r\n }\r\n\r\n &:not(:disabled):not(.disabled):active,\r\n &:not(:disabled):not(.disabled).active {\r\n &:focus {\r\n\r\n }\r\n }\r\n}\r\n\r\n// Future-proof disabling of clicks on `` elements\r\na.btn.disabled,\r\nfieldset:disabled a.btn {\r\n pointer-events: none;\r\n}\r\n\r\n@each $color, $value in $theme-colors {\r\n .btn-#{$color} {\r\n @include button-variant($value, $value);\r\n }\r\n}\r\n\r\n.btn-link {\r\n padding:0;\r\n}\r\n\r\n.btn-default {\r\n @include button-variant(#fff, #979797);\r\n}\r\n\r\n.btn-xs {\r\n @include button-size($input-btn-padding-y-xs, $input-btn-padding-x-xs, $input-btn-font-size-xs, $input-btn-line-height-xs, $input-btn-border-radius-xs);\r\n}\r\n\r\n.btn-lg {\r\n @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $input-btn-font-size-lg, $input-btn-line-height-lg, $input-btn-border-radius-lg);\r\n}\r\n\r\n.btn-sm {\r\n @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $input-btn-font-size-sm, $input-btn-line-height-sm, $input-btn-border-radius-sm);\r\n}\r\n\r\n.btn-block {\r\n display: block;\r\n width: 100%;\r\n\r\n + .btn-block {\r\n margin-top: 10px;\r\n }\r\n}\r\n\r\n// Specificity overrides\r\ninput[type=\"submit\"],\r\ninput[type=\"reset\"],\r\ninput[type=\"button\"] {\r\n &.btn-block {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.btn-group {\r\n display:inline-block;\r\n position:relative;\r\n}","@function color-yiq($color, $dark: #212529, $light: #fff) {\r\n $r: red($color);\r\n $g: green($color);\r\n $b: blue($color);\r\n\r\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\r\n\r\n @if ($yiq >= 150) {\r\n @return #343a40;\r\n } @else {\r\n @return #f8f9fa;\r\n }\r\n}\r\n","\r\n// The dropdown wrapper (div)\r\n.dropup,\r\n.dropdown {\r\n position: relative;\r\n}\r\n\r\n// Prevent the focus on the dropdown toggle when closing dropdowns\r\n.dropdown-toggle:focus {\r\n outline: 0;\r\n}\r\n\r\n// The dropdown menu (ul)\r\n.dropdown-menu {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000 ;\r\n display: none;\r\n float: left;\r\n min-width: 160px;\r\n padding: 0;\r\n margin: 0;\r\n list-style: none;\r\n font-size: $font-size-base;\r\n text-align: left;\r\n background-color: #fff;\r\n border: 1px solid #767676;\r\n border-radius: 0;\r\n -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n -moz-box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n background-clip: padding-box;\r\n\r\n &.pull-right {\r\n right: 0;\r\n left: auto;\r\n }\r\n\r\n .divider {\r\n height: 1px;\r\n margin: 9px 0;\r\n overflow: hidden;\r\n background-color: #e5e5e5;\r\n }\r\n\r\n // Links within the dropdown menu\r\n > li > a {\r\n display: block;\r\n padding:12px 15px;\r\n font-size:13px;\r\n clear: both;\r\n font-weight: normal;\r\n line-height: $line-height-base;\r\n color: $body-color;\r\n white-space: nowrap; // prevent links from randomly breaking onto new lines\r\n }\r\n}\r\n\r\n// Hover/Focus state\r\n.dropdown-menu > li > a {\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n color: $color-primary ;\r\n background-color: #f4f8f9;\r\n }\r\n}\r\n\r\n// Active state\r\n.dropdown-menu > .active > a {\r\n &,\r\n &:hover,\r\n &:focus {\r\n color: $color-primary;\r\n text-decoration: none;\r\n outline: 0;\r\n background-color: #f4f8f9;\r\n }\r\n}\r\n\r\n// Open state for the dropdown\r\n.open {\r\n\r\n > .dropdown-menu {\r\n display: block;\r\n }\r\n\r\n > a {\r\n outline: 0;\r\n }\r\n}\r\n\r\n.dropdown-menu-right {\r\n left: auto;\r\n right: 0;\r\n}\r\n\r\n.dropdown-menu-left {\r\n left: 0;\r\n right: auto;\r\n}\r\n\r\n.dropdown-backdrop {\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n top: 0;\r\n z-index: 990;\r\n}\r\n\r\n.pull-right > .dropdown-menu {\r\n right: 0;\r\n left: auto;\r\n}\r\n\r\n.dropup,\r\n.navbar-fixed-bottom .dropdown {\r\n .dropdown-menu {\r\n top: auto;\r\n bottom: 100%;\r\n margin-bottom: 2px;\r\n }\r\n}\r\n",".row {\r\n @include clear-fix-after();\r\n &:before {\r\n clear:both;\r\n content:'';\r\n }\r\n margin:0 -15px;\r\n}\r\n\r\n@for $i from 1 to 13 {\r\n .col-sm-#{$i},\r\n .col-xs-#{$i},\r\n .col-md-#{$i},\r\n .col-lg-#{$i}{\r\n float:left;\r\n min-height:1px;\r\n width: ( $i / 12 * 100% );\r\n padding:0 15px;\r\n }\r\n}\r\n\r\n[data-ax5grid] {\r\n margin:0;\r\n padding:0;\r\n position:relative;\r\n background:transparent;\r\n border:0px;\r\n\r\n table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n border: 0 none;\r\n width: 100%;\r\n height: 100%;\r\n\r\n thead {\r\n\r\n tr {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n margin: 0;\r\n padding: 0;\r\n position: relative;\r\n overflow: hidden;\r\n background-color: #fafafa;\r\n border: 0px none;\r\n color: #282828;\r\n\r\n th {\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n position: relative;\r\n padding: 10px;\r\n height:38px;\r\n text-align:center;\r\n border:1px solid #ddd;\r\n font-weight:400;\r\n }\r\n }\r\n }\r\n\r\n tbody {\r\n\r\n tr {\r\n border-bottom: 0 none;\r\n background:transparent;\r\n\r\n td {\r\n line-height:21px;\r\n padding:5px 10px;\r\n background-color:#fff;\r\n border:1px solid #ddd;\r\n font-weight:300;\r\n\r\n &.empty {\r\n height:300px;\r\n vertical-align: middle;\r\n text-align:center;\r\n }\r\n }\r\n }\r\n }\r\n\r\n tfoot {\r\n tr {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n margin: 0;\r\n padding: 0;\r\n position: relative;\r\n overflow: hidden;\r\n background-color: #f9f9f9;\r\n border:1px solid #ddd;\r\n color: #282828;\r\n\r\n\r\n td {\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n position: relative;\r\n padding: 10px;\r\n border:1px solid #ddd;\r\n height:38px;\r\n text-align:center;\r\n\r\n\r\n\r\n &:last-child {\r\n border-right:0px;\r\n }\r\n }\r\n\r\n &:last-child {\r\n td {\r\n border-bottom:0px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}",".form-control {\r\n display: block;\r\n width: 100%;\r\n height: 38px;\r\n padding: $input-btn-padding-y ( $input-btn-padding-x / 2);\r\n font-size: $input-btn-font-size;\r\n font-weight: $font-weight-base;\r\n line-height: $input-btn-line-height;\r\n color: #495057;\r\n background-color: #fff;\r\n background-clip: padding-box;\r\n border: 1px solid #ced4da;\r\n border-radius: $input-btn-border-radius;\r\n box-shadow:none;\r\n @include transition();\r\n\r\n &::-ms-expand {\r\n background-color: transparent;\r\n border: 0;\r\n }\r\n\r\n &:focus {\r\n border-color: #80bdff;\r\n outline: 0;\r\n }\r\n\r\n &::placeholder {\r\n color: #6c757d;\r\n opacity: 1;\r\n }\r\n\r\n &:disabled,\r\n &[readonly] {\r\n background-color: #e9ecef;\r\n opacity: 1;\r\n }\r\n\r\n &.form-control-sm {\r\n height: 34px;\r\n padding: $input-btn-padding-y-sm ($input-btn-padding-x-sm /2 );\r\n font-size: $input-btn-font-size-sm;\r\n line-height: $input-btn-line-height-sm;\r\n border-radius:$input-btn-border-radius-sm;\r\n }\r\n\r\n &.form-control-xs {\r\n height: 26px;\r\n padding: $input-btn-padding-y-xs ($input-btn-padding-x-xs /2 );\r\n font-size: $input-btn-font-size-xs;\r\n line-height: $input-btn-line-height-xs;\r\n border-radius:$input-btn-border-radius-xs;\r\n }\r\n\r\n &.form-control-lg {\r\n height: 48px;\r\n padding: $input-btn-padding-y-lg ( $input-btn-padding-x-lg / 2);\r\n font-size: $input-btn-font-size-lg;\r\n line-height: $input-btn-line-height-lg;\r\n border-radius:$input-btn-border-radius-lg;\r\n }\r\n}\r\n\r\nselect.form-control {\r\n &:focus::-ms-value {\r\n color: #495057;\r\n background-color: #fff;\r\n }\r\n}\r\n\r\n.bottom-actions {\r\n @include display-flex();\r\n align-items: center;\r\n\r\n .left,\r\n .right {\r\n -webkit-flex:1;\r\n -ms-flex:1;\r\n flex:1;\r\n }\r\n .center {\r\n -webkit-flex:2;\r\n -ms-flex:2;\r\n flex:2;\r\n }\r\n\r\n .left {\r\n text-align:left;\r\n }\r\n\r\n .right {\r\n text-align:right;\r\n }\r\n}\r\n\r\n// 체크박스\r\n.w-check {\r\n position:relative;\r\n display:inline-block;\r\n align-items: center;\r\n vertical-align: middle;\r\n\r\n & + .w-check {\r\n margin-left:15px;\r\n }\r\n\r\n span {\r\n @include display-flex();\r\n position: relative;\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n align-items: center;\r\n height:34px;\r\n\r\n &:before {\r\n content:\"\";\r\n @include display-flex();\r\n font-family: \"Font Awesome 5 Pro\";\r\n width:18px;\r\n height:18px;\r\n border:1px solid #e9e9e9;\r\n align-items: center;\r\n justify-content: center;\r\n margin-right:5px;\r\n }\r\n }\r\n\r\n input[type=checkbox] {\r\n position: absolute;\r\n width:1px;\r\n height:1px;\r\n padding:0;\r\n margin:-1px;\r\n overflow: hidden;\r\n clip:rect(0,0,0,0);\r\n border: 0;\r\n\r\n &:checked + span:before {\r\n content:\"\\f00c\";\r\n border-color:$color-primary;\r\n color:$color-primary;\r\n }\r\n }\r\n}\r\n\r\n//버튼그룹\r\n.ax-button-group {\r\n display: table;\r\n width: 100%;\r\n min-height: 40px;\r\n\r\n .left,\r\n .right {\r\n display: table-cell;\r\n vertical-align: bottom;\r\n padding: 0 5px 10px 5px;\r\n\r\n h1, h2, h3, h4, h5, h6 {\r\n line-height: 26px;\r\n }\r\n }\r\n\r\n .left {\r\n text-align:left;\r\n }\r\n\r\n .right {\r\n text-align:right;\r\n }\r\n\r\n &.ax-button-group-bottom {\r\n\r\n .left, .right {\r\n padding: 0px;\r\n vertical-align:middle;\r\n }\r\n\r\n &.sm {\r\n min-height: 30px;\r\n\r\n .left, .right {\r\n padding: 0 5px 7px 5px;\r\n }\r\n }\r\n\r\n .pagination {\r\n margin: 0px;\r\n }\r\n }\r\n}\r\n\r\n[data-ax-tbl] {\r\n font-size: 0.9em;\r\n background: #fff;\r\n border-top: 1px solid #D8D8D8;\r\n border-right: 1px solid #D8D8D8;\r\n border-left: 1px solid #D8D8D8;\r\n position: relative;\r\n\r\n [data-ax-tr] {\r\n border-bottom: 1px solid #D8D8D8;\r\n @include display-flex();\r\n\r\n [data-ax-td] {\r\n float: left;\r\n @include display-flex();\r\n table-layout: fixed;\r\n width: 300px;\r\n vertical-align: top;\r\n min-height: 40px;\r\n\r\n &.width-auto {\r\n width:auto;\r\n }\r\n &.width-100 {\r\n width:100%;\r\n }\r\n\r\n &.right {\r\n margin-left:auto;\r\n text-align:right;\r\n }\r\n\r\n [data-ax-td-label] {\r\n @include display-flex();\r\n align-items: center;\r\n justify-content: center;\r\n width: 100px;\r\n padding: 7px;\r\n @include background-gradient(#fbfbfb, #f6f6f6);\r\n border-right: 1px solid #D8D8D8;\r\n vertical-align: middle;\r\n text-align: center;\r\n color: #363636;\r\n\r\n fieldset[readonly] &,\r\n fieldset[disabled] & {\r\n color: #c8c8c8;\r\n\r\n }\r\n\r\n a {\r\n color: #363636;\r\n }\r\n\r\n &:empty {\r\n background:#fff;\r\n border-right-color:transparent;\r\n }\r\n }\r\n\r\n + [data-ax-td] [data-ax-td-label] { border-left: 1px solid #D8D8D8 }\r\n\r\n [data-ax-td-wrap] {\r\n display:block;\r\n padding: 7px 7px;\r\n -webkit-flex:1;\r\n -ms-flex:1;\r\n flex:1;\r\n color: #68717b;\r\n line-height: 1em;\r\n\r\n a {\r\n color: #68717b;\r\n\r\n &:after {\r\n content: ' ';\r\n }\r\n }\r\n\r\n .form-control,\r\n .btn {\r\n vertical-align: middle;\r\n }\r\n\r\n .form-control {\r\n font-size:1em;\r\n\r\n &.inline-block {\r\n display: inline-block;\r\n width: auto;\r\n }\r\n }\r\n\r\n textarea.form-control {\r\n resize:vertical;\r\n }\r\n\r\n .form-control-static {\r\n padding: 7px;\r\n min-height:0px;\r\n }\r\n\r\n .radio-inline,\r\n .checkbox-inline {\r\n line-height: 21px;\r\n padding: 0;\r\n display: inline-block;\r\n\r\n input[type=\"checkbox\"],\r\n input[type=\"radio\"] {\r\n display: inline-block;\r\n position: static;\r\n margin: 0 3px;\r\n vertical-align: middle;\r\n }\r\n }\r\n\r\n .radio-inline {\r\n margin-top:5px;\r\n\r\n + .radio-inline {\r\n margin-top:5px;\r\n }\r\n }\r\n\r\n\r\n fieldset[readonly] &,\r\n fieldset[disabled] & {\r\n color: #c8c8c8;\r\n .form-control {\r\n background-color: #eee;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}",".pagination {\r\n display:block;\r\n width:100%;\r\n text-align:center;\r\n list-style:none;\r\n margin:0;\r\n padding:0;\r\n font-size:0;\r\n\r\n li {\r\n display:inline-block;\r\n font-size:0;\r\n margin:0 3px;\r\n\r\n a,\r\n span {\r\n display:block;\r\n font-size:15px;\r\n color:#979797;\r\n padding:5px 10px;\r\n background-color:#f4f8f9;\r\n border-radius:2px;\r\n border:1px solid #979797;\r\n }\r\n\r\n &.active {\r\n a, span {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n border-color:$brand-primary;\r\n }\r\n }\r\n\r\n &.disabled {\r\n a,span {\r\n cursor:not-allowed;\r\n opacity:0.4;\r\n }\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n a {\r\n background-color:#fff;\r\n }\r\n }\r\n }\r\n}","/*! jQuery UI - v1.12.1 - 2017-07-23\r\n* http://jqueryui.com\r\n* Includes: sortable.css, core.css, datepicker.css, theme.css\r\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif\r\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\r\n\r\n.ui-sortable-handle {\r\n -ms-touch-action: none;\r\n touch-action: none;\r\n}\r\n/* Layout helpers\r\n----------------------------------*/\r\n.ui-helper-hidden {\r\n display: none;\r\n}\r\n.ui-helper-hidden-accessible {\r\n border: 0;\r\n clip: rect(0 0 0 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n.ui-helper-reset {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n outline: 0;\r\n line-height: 1.3;\r\n text-decoration: none;\r\n font-size: 100%;\r\n list-style: none;\r\n}\r\n.ui-helper-clearfix:before,\r\n.ui-helper-clearfix:after {\r\n content: \"\";\r\n display: table;\r\n border-collapse: collapse;\r\n}\r\n.ui-helper-clearfix:after {\r\n clear: both;\r\n}\r\n.ui-helper-zfix {\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n position: absolute;\r\n opacity: 0;\r\n filter:Alpha(Opacity=0); /* support: IE8 */\r\n}\r\n\r\n.ui-front {\r\n z-index: 100;\r\n}\r\n\r\n\r\n/* Interaction Cues\r\n----------------------------------*/\r\n.ui-state-disabled {\r\n cursor: default !important;\r\n pointer-events: none;\r\n}\r\n\r\n\r\n/* Icons\r\n----------------------------------*/\r\n.ui-icon {\r\n display: inline-block;\r\n vertical-align: middle;\r\n margin-top: -.25em;\r\n position: relative;\r\n text-indent: -99999px;\r\n overflow: hidden;\r\n background-repeat: no-repeat;\r\n}\r\n\r\n.ui-widget-icon-block {\r\n left: 50%;\r\n margin-left: -8px;\r\n display: block;\r\n}\r\n\r\n/* Misc visuals\r\n----------------------------------*/\r\n\r\n/* Overlays */\r\n.ui-widget-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.ui-datepicker {\r\n width: 17em;\r\n padding: .2em .2em 0;\r\n display: none;\r\n}\r\n.ui-datepicker .ui-datepicker-header {\r\n position: relative;\r\n padding: .2em 0;\r\n}\r\n.ui-datepicker .ui-datepicker-prev,\r\n.ui-datepicker .ui-datepicker-next {\r\n position: absolute;\r\n top: 2px;\r\n width: 1.8em;\r\n height: 1.8em;\r\n}\r\n.ui-datepicker .ui-datepicker-prev-hover,\r\n.ui-datepicker .ui-datepicker-next-hover {\r\n top: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev {\r\n left: 2px;\r\n}\r\n.ui-datepicker .ui-datepicker-next {\r\n right: 2px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev-hover {\r\n left: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-next-hover {\r\n right: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev span,\r\n.ui-datepicker .ui-datepicker-next span {\r\n display: block;\r\n position: absolute;\r\n left: 50%;\r\n margin-left: -8px;\r\n top: 50%;\r\n margin-top: -8px;\r\n}\r\n.ui-datepicker .ui-datepicker-title {\r\n margin: 0 2.3em;\r\n line-height: 1.8em;\r\n text-align: center;\r\n}\r\n.ui-datepicker .ui-datepicker-title select {\r\n font-size: 1em;\r\n margin: 1px 0;\r\n}\r\n.ui-datepicker select.ui-datepicker-month,\r\n.ui-datepicker select.ui-datepicker-year {\r\n width: 45%;\r\n}\r\n.ui-datepicker table {\r\n width: 100%;\r\n font-size: .9em;\r\n border-collapse: collapse;\r\n margin: 0 0 .4em;\r\n}\r\n.ui-datepicker th {\r\n padding: .7em .3em;\r\n text-align: center;\r\n font-weight: bold;\r\n border: 0;\r\n}\r\n.ui-datepicker td {\r\n border: 0;\r\n padding: 1px;\r\n}\r\n.ui-datepicker td span,\r\n.ui-datepicker td a {\r\n display: block;\r\n padding: .2em;\r\n text-align: right;\r\n text-decoration: none;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane {\r\n background-image: none;\r\n margin: .7em 0 0 0;\r\n padding: 0 .2em;\r\n border-left: 0;\r\n border-right: 0;\r\n border-bottom: 0;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane button {\r\n float: right;\r\n margin: .5em .2em .4em;\r\n cursor: pointer;\r\n padding: .2em .6em .3em .6em;\r\n width: auto;\r\n overflow: visible;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\r\n float: left;\r\n}\r\n\r\n/* with multiple calendars */\r\n.ui-datepicker.ui-datepicker-multi {\r\n width: auto;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group {\r\n float: left;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group table {\r\n width: 95%;\r\n margin: 0 auto .4em;\r\n}\r\n.ui-datepicker-multi-2 .ui-datepicker-group {\r\n width: 50%;\r\n}\r\n.ui-datepicker-multi-3 .ui-datepicker-group {\r\n width: 33.3%;\r\n}\r\n.ui-datepicker-multi-4 .ui-datepicker-group {\r\n width: 25%;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\r\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\r\n border-left-width: 0;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-buttonpane {\r\n clear: left;\r\n}\r\n.ui-datepicker-row-break {\r\n clear: both;\r\n width: 100%;\r\n font-size: 0;\r\n}\r\n\r\n/* RTL support */\r\n.ui-datepicker-rtl {\r\n direction: rtl;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-prev {\r\n right: 2px;\r\n left: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-next {\r\n left: 2px;\r\n right: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\r\n right: 1px;\r\n left: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-next:hover {\r\n left: 1px;\r\n right: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\r\n clear: right;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\r\n float: left;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\r\n.ui-datepicker-rtl .ui-datepicker-group {\r\n float: right;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\r\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\r\n border-right-width: 0;\r\n border-left-width: 1px;\r\n}\r\n\r\n/* Icons */\r\n.ui-datepicker .ui-icon {\r\n display: block;\r\n text-indent: -99999px;\r\n overflow: hidden;\r\n background-repeat: no-repeat;\r\n left: .5em;\r\n top: .3em;\r\n}\r\n\r\n/* Component containers\r\n----------------------------------*/\r\n.ui-widget {\r\n font-family: Arial,Helvetica,sans-serif;\r\n font-size: 1em;\r\n}\r\n.ui-widget .ui-widget {\r\n font-size: 1em;\r\n}\r\n.ui-widget input,\r\n.ui-widget select,\r\n.ui-widget textarea,\r\n.ui-widget button {\r\n font-family: Arial,Helvetica,sans-serif;\r\n font-size: 1em;\r\n}\r\n.ui-widget.ui-widget-content {\r\n border: 1px solid #c5c5c5;\r\n}\r\n.ui-widget-content {\r\n border: 1px solid #dddddd;\r\n background: #ffffff;\r\n color: #333333;\r\n}\r\n.ui-widget-content a {\r\n color: #333333;\r\n}\r\n.ui-widget-header {\r\n border: 1px solid #dddddd;\r\n background: #e9e9e9;\r\n color: #333333;\r\n font-weight: bold;\r\n}\r\n.ui-widget-header a {\r\n color: #333333;\r\n}\r\n\r\n/* Interaction states\r\n----------------------------------*/\r\n.ui-state-default,\r\n.ui-widget-content .ui-state-default,\r\n.ui-widget-header .ui-state-default,\r\n.ui-button,\r\n\r\n /* We use html here because we need a greater specificity to make sure disabled\r\n works properly when clicked or hovered */\r\nhtml .ui-button.ui-state-disabled:hover,\r\nhtml .ui-button.ui-state-disabled:active {\r\n border: 1px solid #c5c5c5;\r\n background: #f6f6f6;\r\n font-weight: normal;\r\n color: #454545;\r\n}\r\n.ui-state-default a,\r\n.ui-state-default a:link,\r\n.ui-state-default a:visited,\r\na.ui-button,\r\na:link.ui-button,\r\na:visited.ui-button,\r\n.ui-button {\r\n color: #454545;\r\n text-decoration: none;\r\n}\r\n.ui-state-hover,\r\n.ui-widget-content .ui-state-hover,\r\n.ui-widget-header .ui-state-hover,\r\n.ui-state-focus,\r\n.ui-widget-content .ui-state-focus,\r\n.ui-widget-header .ui-state-focus,\r\n.ui-button:hover,\r\n.ui-button:focus {\r\n border: 1px solid #cccccc;\r\n background: #ededed;\r\n font-weight: normal;\r\n color: #2b2b2b;\r\n}\r\n.ui-state-hover a,\r\n.ui-state-hover a:hover,\r\n.ui-state-hover a:link,\r\n.ui-state-hover a:visited,\r\n.ui-state-focus a,\r\n.ui-state-focus a:hover,\r\n.ui-state-focus a:link,\r\n.ui-state-focus a:visited,\r\na.ui-button:hover,\r\na.ui-button:focus {\r\n color: #2b2b2b;\r\n text-decoration: none;\r\n}\r\n\r\n.ui-visual-focus {\r\n box-shadow: 0 0 3px 1px rgb(94, 158, 214);\r\n}\r\n.ui-state-active,\r\n.ui-widget-content .ui-state-active,\r\n.ui-widget-header .ui-state-active,\r\na.ui-button:active,\r\n.ui-button:active,\r\n.ui-button.ui-state-active:hover {\r\n border: 1px solid #003eff;\r\n background: #007fff;\r\n font-weight: normal;\r\n color: #ffffff;\r\n}\r\n.ui-icon-background,\r\n.ui-state-active .ui-icon-background {\r\n border: #003eff;\r\n background-color: #ffffff;\r\n}\r\n.ui-state-active a,\r\n.ui-state-active a:link,\r\n.ui-state-active a:visited {\r\n color: #ffffff;\r\n text-decoration: none;\r\n}\r\n\r\n/* Interaction Cues\r\n----------------------------------*/\r\n.ui-state-highlight,\r\n.ui-widget-content .ui-state-highlight,\r\n.ui-widget-header .ui-state-highlight {\r\n border: 1px solid #dad55e;\r\n background: #fffa90;\r\n color: #777620;\r\n}\r\n.ui-state-checked {\r\n border: 1px solid #dad55e;\r\n background: #fffa90;\r\n}\r\n.ui-state-highlight a,\r\n.ui-widget-content .ui-state-highlight a,\r\n.ui-widget-header .ui-state-highlight a {\r\n color: #777620;\r\n}\r\n.ui-state-error,\r\n.ui-widget-content .ui-state-error,\r\n.ui-widget-header .ui-state-error {\r\n border: 1px solid #f1a899;\r\n background: #fddfdf;\r\n color: #5f3f3f;\r\n}\r\n.ui-state-error a,\r\n.ui-widget-content .ui-state-error a,\r\n.ui-widget-header .ui-state-error a {\r\n color: #5f3f3f;\r\n}\r\n.ui-state-error-text,\r\n.ui-widget-content .ui-state-error-text,\r\n.ui-widget-header .ui-state-error-text {\r\n color: #5f3f3f;\r\n}\r\n.ui-priority-primary,\r\n.ui-widget-content .ui-priority-primary,\r\n.ui-widget-header .ui-priority-primary {\r\n font-weight: bold;\r\n}\r\n.ui-priority-secondary,\r\n.ui-widget-content .ui-priority-secondary,\r\n.ui-widget-header .ui-priority-secondary {\r\n opacity: .7;\r\n filter:Alpha(Opacity=70); /* support: IE8 */\r\n font-weight: normal;\r\n}\r\n.ui-state-disabled,\r\n.ui-widget-content .ui-state-disabled,\r\n.ui-widget-header .ui-state-disabled {\r\n opacity: .35;\r\n filter:Alpha(Opacity=35); /* support: IE8 */\r\n background-image: none;\r\n}\r\n.ui-state-disabled .ui-icon {\r\n filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\r\n}\r\n\r\n/* Icons\r\n----------------------------------*/\r\n\r\n/* states and images */\r\n.ui-icon {\r\n width: 16px;\r\n height: 16px;\r\n}\r\n.ui-icon,\r\n.ui-widget-content .ui-icon {\r\n background-image: url(\"images/ui-icons_444444_256x240.png\");\r\n}\r\n.ui-widget-header .ui-icon {\r\n background-image: url(\"images/ui-icons_444444_256x240.png\");\r\n}\r\n.ui-state-hover .ui-icon,\r\n.ui-state-focus .ui-icon,\r\n.ui-button:hover .ui-icon,\r\n.ui-button:focus .ui-icon {\r\n background-image: url(\"images/ui-icons_555555_256x240.png\");\r\n}\r\n.ui-state-active .ui-icon,\r\n.ui-button:active .ui-icon {\r\n background-image: url(\"images/ui-icons_ffffff_256x240.png\");\r\n}\r\n.ui-state-highlight .ui-icon,\r\n.ui-button .ui-state-highlight.ui-icon {\r\n background-image: url(\"images/ui-icons_777620_256x240.png\");\r\n}\r\n.ui-state-error .ui-icon,\r\n.ui-state-error-text .ui-icon {\r\n background-image: url(\"images/ui-icons_cc0000_256x240.png\");\r\n}\r\n.ui-button .ui-icon {\r\n background-image: url(\"images/ui-icons_777777_256x240.png\");\r\n}\r\n\r\n/* positioning */\r\n.ui-icon-blank { background-position: 16px 16px; }\r\n.ui-icon-caret-1-n { background-position: 0 0; }\r\n.ui-icon-caret-1-ne { background-position: -16px 0; }\r\n.ui-icon-caret-1-e { background-position: -32px 0; }\r\n.ui-icon-caret-1-se { background-position: -48px 0; }\r\n.ui-icon-caret-1-s { background-position: -65px 0; }\r\n.ui-icon-caret-1-sw { background-position: -80px 0; }\r\n.ui-icon-caret-1-w { background-position: -96px 0; }\r\n.ui-icon-caret-1-nw { background-position: -112px 0; }\r\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\r\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\r\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\r\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\r\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\r\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\r\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\r\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\r\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\r\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\r\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\r\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\r\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\r\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\r\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\r\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\r\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\r\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\r\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\r\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\r\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\r\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\r\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\r\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\r\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\r\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\r\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\r\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\r\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\r\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\r\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\r\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\r\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\r\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\r\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\r\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\r\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\r\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\r\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\r\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\r\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\r\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\r\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\r\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\r\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\r\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\r\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\r\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\r\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\r\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\r\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\r\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\r\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\r\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\r\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\r\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\r\n.ui-icon-arrow-4 { background-position: 0 -80px; }\r\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\r\n.ui-icon-extlink { background-position: -32px -80px; }\r\n.ui-icon-newwin { background-position: -48px -80px; }\r\n.ui-icon-refresh { background-position: -64px -80px; }\r\n.ui-icon-shuffle { background-position: -80px -80px; }\r\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\r\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\r\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\r\n.ui-icon-folder-open { background-position: -16px -96px; }\r\n.ui-icon-document { background-position: -32px -96px; }\r\n.ui-icon-document-b { background-position: -48px -96px; }\r\n.ui-icon-note { background-position: -64px -96px; }\r\n.ui-icon-mail-closed { background-position: -80px -96px; }\r\n.ui-icon-mail-open { background-position: -96px -96px; }\r\n.ui-icon-suitcase { background-position: -112px -96px; }\r\n.ui-icon-comment { background-position: -128px -96px; }\r\n.ui-icon-person { background-position: -144px -96px; }\r\n.ui-icon-print { background-position: -160px -96px; }\r\n.ui-icon-trash { background-position: -176px -96px; }\r\n.ui-icon-locked { background-position: -192px -96px; }\r\n.ui-icon-unlocked { background-position: -208px -96px; }\r\n.ui-icon-bookmark { background-position: -224px -96px; }\r\n.ui-icon-tag { background-position: -240px -96px; }\r\n.ui-icon-home { background-position: 0 -112px; }\r\n.ui-icon-flag { background-position: -16px -112px; }\r\n.ui-icon-calendar { background-position: -32px -112px; }\r\n.ui-icon-cart { background-position: -48px -112px; }\r\n.ui-icon-pencil { background-position: -64px -112px; }\r\n.ui-icon-clock { background-position: -80px -112px; }\r\n.ui-icon-disk { background-position: -96px -112px; }\r\n.ui-icon-calculator { background-position: -112px -112px; }\r\n.ui-icon-zoomin { background-position: -128px -112px; }\r\n.ui-icon-zoomout { background-position: -144px -112px; }\r\n.ui-icon-search { background-position: -160px -112px; }\r\n.ui-icon-wrench { background-position: -176px -112px; }\r\n.ui-icon-gear { background-position: -192px -112px; }\r\n.ui-icon-heart { background-position: -208px -112px; }\r\n.ui-icon-star { background-position: -224px -112px; }\r\n.ui-icon-link { background-position: -240px -112px; }\r\n.ui-icon-cancel { background-position: 0 -128px; }\r\n.ui-icon-plus { background-position: -16px -128px; }\r\n.ui-icon-plusthick { background-position: -32px -128px; }\r\n.ui-icon-minus { background-position: -48px -128px; }\r\n.ui-icon-minusthick { background-position: -64px -128px; }\r\n.ui-icon-close { background-position: -80px -128px; }\r\n.ui-icon-closethick { background-position: -96px -128px; }\r\n.ui-icon-key { background-position: -112px -128px; }\r\n.ui-icon-lightbulb { background-position: -128px -128px; }\r\n.ui-icon-scissors { background-position: -144px -128px; }\r\n.ui-icon-clipboard { background-position: -160px -128px; }\r\n.ui-icon-copy { background-position: -176px -128px; }\r\n.ui-icon-contact { background-position: -192px -128px; }\r\n.ui-icon-image { background-position: -208px -128px; }\r\n.ui-icon-video { background-position: -224px -128px; }\r\n.ui-icon-script { background-position: -240px -128px; }\r\n.ui-icon-alert { background-position: 0 -144px; }\r\n.ui-icon-info { background-position: -16px -144px; }\r\n.ui-icon-notice { background-position: -32px -144px; }\r\n.ui-icon-help { background-position: -48px -144px; }\r\n.ui-icon-check { background-position: -64px -144px; }\r\n.ui-icon-bullet { background-position: -80px -144px; }\r\n.ui-icon-radio-on { background-position: -96px -144px; }\r\n.ui-icon-radio-off { background-position: -112px -144px; }\r\n.ui-icon-pin-w { background-position: -128px -144px; }\r\n.ui-icon-pin-s { background-position: -144px -144px; }\r\n.ui-icon-play { background-position: 0 -160px; }\r\n.ui-icon-pause { background-position: -16px -160px; }\r\n.ui-icon-seek-next { background-position: -32px -160px; }\r\n.ui-icon-seek-prev { background-position: -48px -160px; }\r\n.ui-icon-seek-end { background-position: -64px -160px; }\r\n.ui-icon-seek-start { background-position: -80px -160px; }\r\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\r\n.ui-icon-seek-first { background-position: -80px -160px; }\r\n.ui-icon-stop { background-position: -96px -160px; }\r\n.ui-icon-eject { background-position: -112px -160px; }\r\n.ui-icon-volume-off { background-position: -128px -160px; }\r\n.ui-icon-volume-on { background-position: -144px -160px; }\r\n.ui-icon-power { background-position: 0 -176px; }\r\n.ui-icon-signal-diag { background-position: -16px -176px; }\r\n.ui-icon-signal { background-position: -32px -176px; }\r\n.ui-icon-battery-0 { background-position: -48px -176px; }\r\n.ui-icon-battery-1 { background-position: -64px -176px; }\r\n.ui-icon-battery-2 { background-position: -80px -176px; }\r\n.ui-icon-battery-3 { background-position: -96px -176px; }\r\n.ui-icon-circle-plus { background-position: 0 -192px; }\r\n.ui-icon-circle-minus { background-position: -16px -192px; }\r\n.ui-icon-circle-close { background-position: -32px -192px; }\r\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\r\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\r\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\r\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\r\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\r\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\r\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\r\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\r\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\r\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\r\n.ui-icon-circle-check { background-position: -208px -192px; }\r\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\r\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\r\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\r\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\r\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\r\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\r\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\r\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\r\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\r\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\r\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\r\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\r\n\r\n\r\n/* Misc visuals\r\n----------------------------------*/\r\n\r\n/* Corner radius */\r\n.ui-corner-all,\r\n.ui-corner-top,\r\n.ui-corner-left,\r\n.ui-corner-tl {\r\n border-top-left-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-top,\r\n.ui-corner-right,\r\n.ui-corner-tr {\r\n border-top-right-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-bottom,\r\n.ui-corner-left,\r\n.ui-corner-bl {\r\n border-bottom-left-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-bottom,\r\n.ui-corner-right,\r\n.ui-corner-br {\r\n border-bottom-right-radius: 3px;\r\n}\r\n\r\n/* Overlays */\r\n.ui-widget-overlay {\r\n background: #aaaaaa;\r\n opacity: .3;\r\n filter: Alpha(Opacity=30); /* support: IE8 */\r\n}\r\n.ui-widget-shadow {\r\n -webkit-box-shadow: 0px 0px 5px #666666;\r\n box-shadow: 0px 0px 5px #666666;\r\n}\r\n","/*!\r\n * Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com\r\n * License - https://fontawesome.com/license (Commercial License)\r\n */\r\n@import 'variables';\r\n@import 'mixins';\r\n@import 'core';\r\n@import 'larger';\r\n@import 'fixed-width';\r\n@import 'list';\r\n@import 'bordered-pulled';\r\n@import 'animated';\r\n@import 'rotated-flipped';\r\n@import 'stacked';\r\n@import 'icons';\r\n@import 'screen-reader';\r\n","// Base Class Definition\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix},\r\n.fas,\r\n.far,\r\n.fal,\r\n.fab {\r\n -moz-osx-font-smoothing: grayscale;\r\n -webkit-font-smoothing: antialiased;\r\n display: inline-block;\r\n font-style: normal;\r\n font-variant: normal;\r\n text-rendering: auto;\r\n line-height: 1;\r\n}\r\n","// Icon Sizes\r\n// -------------------------\r\n\r\n// makes the font 33% larger relative to the icon container\r\n.#{$fa-css-prefix}-lg {\r\n font-size: (4em / 3);\r\n line-height: (3em / 4);\r\n vertical-align: -.0667em;\r\n}\r\n\r\n.#{$fa-css-prefix}-xs {\r\n font-size: .75em;\r\n}\r\n\r\n.#{$fa-css-prefix}-sm {\r\n font-size: .875em;\r\n}\r\n\r\n@for $i from 1 through 10 {\r\n .#{$fa-css-prefix}-#{$i}x {\r\n font-size: $i * 1em;\r\n }\r\n}\r\n","// Fixed Width Icons\r\n// -------------------------\r\n.#{$fa-css-prefix}-fw {\r\n text-align: center;\r\n width: (20em / 16);\r\n}\r\n","// List Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-ul {\r\n list-style-type: none;\r\n margin-left: $fa-li-width * 5/4;\r\n padding-left: 0;\r\n\r\n > li { position: relative; }\r\n}\r\n\r\n.#{$fa-css-prefix}-li {\r\n left: -$fa-li-width;\r\n position: absolute;\r\n text-align: center;\r\n width: $fa-li-width;\r\n line-height: inherit;\r\n}\r\n","// Variables\r\n// --------------------------\r\n\r\n$fa-font-path: \"../fonts\" !default;\r\n$fa-font-size-base: 16px !default;\r\n$fa-css-prefix: fa !default;\r\n$fa-version: \"5.1.0\" !default;\r\n$fa-border-color: #eee !default;\r\n$fa-inverse: #fff !default;\r\n$fa-li-width: 2em !default;\r\n\r\n// Convenience function used to set content property\r\n@function fa-content($fa-var) {\r\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\r\n}\r\n\r\n$fa-var-500px: \\f26e;\r\n$fa-var-accessible-icon: \\f368;\r\n$fa-var-accusoft: \\f369;\r\n$fa-var-address-book: \\f2b9;\r\n$fa-var-address-card: \\f2bb;\r\n$fa-var-adjust: \\f042;\r\n$fa-var-adn: \\f170;\r\n$fa-var-adversal: \\f36a;\r\n$fa-var-affiliatetheme: \\f36b;\r\n$fa-var-alarm-clock: \\f34e;\r\n$fa-var-algolia: \\f36c;\r\n$fa-var-align-center: \\f037;\r\n$fa-var-align-justify: \\f039;\r\n$fa-var-align-left: \\f036;\r\n$fa-var-align-right: \\f038;\r\n$fa-var-allergies: \\f461;\r\n$fa-var-amazon: \\f270;\r\n$fa-var-amazon-pay: \\f42c;\r\n$fa-var-ambulance: \\f0f9;\r\n$fa-var-american-sign-language-interpreting: \\f2a3;\r\n$fa-var-amilia: \\f36d;\r\n$fa-var-anchor: \\f13d;\r\n$fa-var-android: \\f17b;\r\n$fa-var-angellist: \\f209;\r\n$fa-var-angle-double-down: \\f103;\r\n$fa-var-angle-double-left: \\f100;\r\n$fa-var-angle-double-right: \\f101;\r\n$fa-var-angle-double-up: \\f102;\r\n$fa-var-angle-down: \\f107;\r\n$fa-var-angle-left: \\f104;\r\n$fa-var-angle-right: \\f105;\r\n$fa-var-angle-up: \\f106;\r\n$fa-var-angry: \\f556;\r\n$fa-var-angrycreative: \\f36e;\r\n$fa-var-angular: \\f420;\r\n$fa-var-app-store: \\f36f;\r\n$fa-var-app-store-ios: \\f370;\r\n$fa-var-apper: \\f371;\r\n$fa-var-apple: \\f179;\r\n$fa-var-apple-pay: \\f415;\r\n$fa-var-archive: \\f187;\r\n$fa-var-archway: \\f557;\r\n$fa-var-arrow-alt-circle-down: \\f358;\r\n$fa-var-arrow-alt-circle-left: \\f359;\r\n$fa-var-arrow-alt-circle-right: \\f35a;\r\n$fa-var-arrow-alt-circle-up: \\f35b;\r\n$fa-var-arrow-alt-down: \\f354;\r\n$fa-var-arrow-alt-from-bottom: \\f346;\r\n$fa-var-arrow-alt-from-left: \\f347;\r\n$fa-var-arrow-alt-from-right: \\f348;\r\n$fa-var-arrow-alt-from-top: \\f349;\r\n$fa-var-arrow-alt-left: \\f355;\r\n$fa-var-arrow-alt-right: \\f356;\r\n$fa-var-arrow-alt-square-down: \\f350;\r\n$fa-var-arrow-alt-square-left: \\f351;\r\n$fa-var-arrow-alt-square-right: \\f352;\r\n$fa-var-arrow-alt-square-up: \\f353;\r\n$fa-var-arrow-alt-to-bottom: \\f34a;\r\n$fa-var-arrow-alt-to-left: \\f34b;\r\n$fa-var-arrow-alt-to-right: \\f34c;\r\n$fa-var-arrow-alt-to-top: \\f34d;\r\n$fa-var-arrow-alt-up: \\f357;\r\n$fa-var-arrow-circle-down: \\f0ab;\r\n$fa-var-arrow-circle-left: \\f0a8;\r\n$fa-var-arrow-circle-right: \\f0a9;\r\n$fa-var-arrow-circle-up: \\f0aa;\r\n$fa-var-arrow-down: \\f063;\r\n$fa-var-arrow-from-bottom: \\f342;\r\n$fa-var-arrow-from-left: \\f343;\r\n$fa-var-arrow-from-right: \\f344;\r\n$fa-var-arrow-from-top: \\f345;\r\n$fa-var-arrow-left: \\f060;\r\n$fa-var-arrow-right: \\f061;\r\n$fa-var-arrow-square-down: \\f339;\r\n$fa-var-arrow-square-left: \\f33a;\r\n$fa-var-arrow-square-right: \\f33b;\r\n$fa-var-arrow-square-up: \\f33c;\r\n$fa-var-arrow-to-bottom: \\f33d;\r\n$fa-var-arrow-to-left: \\f33e;\r\n$fa-var-arrow-to-right: \\f340;\r\n$fa-var-arrow-to-top: \\f341;\r\n$fa-var-arrow-up: \\f062;\r\n$fa-var-arrows: \\f047;\r\n$fa-var-arrows-alt: \\f0b2;\r\n$fa-var-arrows-alt-h: \\f337;\r\n$fa-var-arrows-alt-v: \\f338;\r\n$fa-var-arrows-h: \\f07e;\r\n$fa-var-arrows-v: \\f07d;\r\n$fa-var-assistive-listening-systems: \\f2a2;\r\n$fa-var-asterisk: \\f069;\r\n$fa-var-asymmetrik: \\f372;\r\n$fa-var-at: \\f1fa;\r\n$fa-var-atlas: \\f558;\r\n$fa-var-audible: \\f373;\r\n$fa-var-audio-description: \\f29e;\r\n$fa-var-autoprefixer: \\f41c;\r\n$fa-var-avianex: \\f374;\r\n$fa-var-aviato: \\f421;\r\n$fa-var-award: \\f559;\r\n$fa-var-aws: \\f375;\r\n$fa-var-backspace: \\f55a;\r\n$fa-var-backward: \\f04a;\r\n$fa-var-badge: \\f335;\r\n$fa-var-badge-check: \\f336;\r\n$fa-var-balance-scale: \\f24e;\r\n$fa-var-balance-scale-left: \\f515;\r\n$fa-var-balance-scale-right: \\f516;\r\n$fa-var-ban: \\f05e;\r\n$fa-var-band-aid: \\f462;\r\n$fa-var-bandcamp: \\f2d5;\r\n$fa-var-barcode: \\f02a;\r\n$fa-var-barcode-alt: \\f463;\r\n$fa-var-barcode-read: \\f464;\r\n$fa-var-barcode-scan: \\f465;\r\n$fa-var-bars: \\f0c9;\r\n$fa-var-baseball: \\f432;\r\n$fa-var-baseball-ball: \\f433;\r\n$fa-var-basketball-ball: \\f434;\r\n$fa-var-basketball-hoop: \\f435;\r\n$fa-var-bath: \\f2cd;\r\n$fa-var-battery-bolt: \\f376;\r\n$fa-var-battery-empty: \\f244;\r\n$fa-var-battery-full: \\f240;\r\n$fa-var-battery-half: \\f242;\r\n$fa-var-battery-quarter: \\f243;\r\n$fa-var-battery-slash: \\f377;\r\n$fa-var-battery-three-quarters: \\f241;\r\n$fa-var-bed: \\f236;\r\n$fa-var-beer: \\f0fc;\r\n$fa-var-behance: \\f1b4;\r\n$fa-var-behance-square: \\f1b5;\r\n$fa-var-bell: \\f0f3;\r\n$fa-var-bell-slash: \\f1f6;\r\n$fa-var-bezier-curve: \\f55b;\r\n$fa-var-bicycle: \\f206;\r\n$fa-var-bimobject: \\f378;\r\n$fa-var-binoculars: \\f1e5;\r\n$fa-var-birthday-cake: \\f1fd;\r\n$fa-var-bitbucket: \\f171;\r\n$fa-var-bitcoin: \\f379;\r\n$fa-var-bity: \\f37a;\r\n$fa-var-black-tie: \\f27e;\r\n$fa-var-blackberry: \\f37b;\r\n$fa-var-blanket: \\f498;\r\n$fa-var-blender: \\f517;\r\n$fa-var-blind: \\f29d;\r\n$fa-var-blogger: \\f37c;\r\n$fa-var-blogger-b: \\f37d;\r\n$fa-var-bluetooth: \\f293;\r\n$fa-var-bluetooth-b: \\f294;\r\n$fa-var-bold: \\f032;\r\n$fa-var-bolt: \\f0e7;\r\n$fa-var-bomb: \\f1e2;\r\n$fa-var-bong: \\f55c;\r\n$fa-var-book: \\f02d;\r\n$fa-var-book-heart: \\f499;\r\n$fa-var-book-open: \\f518;\r\n$fa-var-bookmark: \\f02e;\r\n$fa-var-bowling-ball: \\f436;\r\n$fa-var-bowling-pins: \\f437;\r\n$fa-var-box: \\f466;\r\n$fa-var-box-alt: \\f49a;\r\n$fa-var-box-check: \\f467;\r\n$fa-var-box-fragile: \\f49b;\r\n$fa-var-box-full: \\f49c;\r\n$fa-var-box-heart: \\f49d;\r\n$fa-var-box-open: \\f49e;\r\n$fa-var-box-up: \\f49f;\r\n$fa-var-box-usd: \\f4a0;\r\n$fa-var-boxes: \\f468;\r\n$fa-var-boxes-alt: \\f4a1;\r\n$fa-var-boxing-glove: \\f438;\r\n$fa-var-braille: \\f2a1;\r\n$fa-var-briefcase: \\f0b1;\r\n$fa-var-briefcase-medical: \\f469;\r\n$fa-var-broadcast-tower: \\f519;\r\n$fa-var-broom: \\f51a;\r\n$fa-var-browser: \\f37e;\r\n$fa-var-brush: \\f55d;\r\n$fa-var-btc: \\f15a;\r\n$fa-var-bug: \\f188;\r\n$fa-var-building: \\f1ad;\r\n$fa-var-bullhorn: \\f0a1;\r\n$fa-var-bullseye: \\f140;\r\n$fa-var-burn: \\f46a;\r\n$fa-var-buromobelexperte: \\f37f;\r\n$fa-var-bus: \\f207;\r\n$fa-var-bus-alt: \\f55e;\r\n$fa-var-buysellads: \\f20d;\r\n$fa-var-calculator: \\f1ec;\r\n$fa-var-calendar: \\f133;\r\n$fa-var-calendar-alt: \\f073;\r\n$fa-var-calendar-check: \\f274;\r\n$fa-var-calendar-edit: \\f333;\r\n$fa-var-calendar-exclamation: \\f334;\r\n$fa-var-calendar-minus: \\f272;\r\n$fa-var-calendar-plus: \\f271;\r\n$fa-var-calendar-times: \\f273;\r\n$fa-var-camera: \\f030;\r\n$fa-var-camera-alt: \\f332;\r\n$fa-var-camera-retro: \\f083;\r\n$fa-var-cannabis: \\f55f;\r\n$fa-var-capsules: \\f46b;\r\n$fa-var-car: \\f1b9;\r\n$fa-var-caret-circle-down: \\f32d;\r\n$fa-var-caret-circle-left: \\f32e;\r\n$fa-var-caret-circle-right: \\f330;\r\n$fa-var-caret-circle-up: \\f331;\r\n$fa-var-caret-down: \\f0d7;\r\n$fa-var-caret-left: \\f0d9;\r\n$fa-var-caret-right: \\f0da;\r\n$fa-var-caret-square-down: \\f150;\r\n$fa-var-caret-square-left: \\f191;\r\n$fa-var-caret-square-right: \\f152;\r\n$fa-var-caret-square-up: \\f151;\r\n$fa-var-caret-up: \\f0d8;\r\n$fa-var-cart-arrow-down: \\f218;\r\n$fa-var-cart-plus: \\f217;\r\n$fa-var-cc-amazon-pay: \\f42d;\r\n$fa-var-cc-amex: \\f1f3;\r\n$fa-var-cc-apple-pay: \\f416;\r\n$fa-var-cc-diners-club: \\f24c;\r\n$fa-var-cc-discover: \\f1f2;\r\n$fa-var-cc-jcb: \\f24b;\r\n$fa-var-cc-mastercard: \\f1f1;\r\n$fa-var-cc-paypal: \\f1f4;\r\n$fa-var-cc-stripe: \\f1f5;\r\n$fa-var-cc-visa: \\f1f0;\r\n$fa-var-centercode: \\f380;\r\n$fa-var-certificate: \\f0a3;\r\n$fa-var-chalkboard: \\f51b;\r\n$fa-var-chalkboard-teacher: \\f51c;\r\n$fa-var-chart-area: \\f1fe;\r\n$fa-var-chart-bar: \\f080;\r\n$fa-var-chart-line: \\f201;\r\n$fa-var-chart-pie: \\f200;\r\n$fa-var-check: \\f00c;\r\n$fa-var-check-circle: \\f058;\r\n$fa-var-check-double: \\f560;\r\n$fa-var-check-square: \\f14a;\r\n$fa-var-chess: \\f439;\r\n$fa-var-chess-bishop: \\f43a;\r\n$fa-var-chess-bishop-alt: \\f43b;\r\n$fa-var-chess-board: \\f43c;\r\n$fa-var-chess-clock: \\f43d;\r\n$fa-var-chess-clock-alt: \\f43e;\r\n$fa-var-chess-king: \\f43f;\r\n$fa-var-chess-king-alt: \\f440;\r\n$fa-var-chess-knight: \\f441;\r\n$fa-var-chess-knight-alt: \\f442;\r\n$fa-var-chess-pawn: \\f443;\r\n$fa-var-chess-pawn-alt: \\f444;\r\n$fa-var-chess-queen: \\f445;\r\n$fa-var-chess-queen-alt: \\f446;\r\n$fa-var-chess-rook: \\f447;\r\n$fa-var-chess-rook-alt: \\f448;\r\n$fa-var-chevron-circle-down: \\f13a;\r\n$fa-var-chevron-circle-left: \\f137;\r\n$fa-var-chevron-circle-right: \\f138;\r\n$fa-var-chevron-circle-up: \\f139;\r\n$fa-var-chevron-double-down: \\f322;\r\n$fa-var-chevron-double-left: \\f323;\r\n$fa-var-chevron-double-right: \\f324;\r\n$fa-var-chevron-double-up: \\f325;\r\n$fa-var-chevron-down: \\f078;\r\n$fa-var-chevron-left: \\f053;\r\n$fa-var-chevron-right: \\f054;\r\n$fa-var-chevron-square-down: \\f329;\r\n$fa-var-chevron-square-left: \\f32a;\r\n$fa-var-chevron-square-right: \\f32b;\r\n$fa-var-chevron-square-up: \\f32c;\r\n$fa-var-chevron-up: \\f077;\r\n$fa-var-child: \\f1ae;\r\n$fa-var-chrome: \\f268;\r\n$fa-var-church: \\f51d;\r\n$fa-var-circle: \\f111;\r\n$fa-var-circle-notch: \\f1ce;\r\n$fa-var-clipboard: \\f328;\r\n$fa-var-clipboard-check: \\f46c;\r\n$fa-var-clipboard-list: \\f46d;\r\n$fa-var-clock: \\f017;\r\n$fa-var-clone: \\f24d;\r\n$fa-var-closed-captioning: \\f20a;\r\n$fa-var-cloud: \\f0c2;\r\n$fa-var-cloud-download: \\f0ed;\r\n$fa-var-cloud-download-alt: \\f381;\r\n$fa-var-cloud-upload: \\f0ee;\r\n$fa-var-cloud-upload-alt: \\f382;\r\n$fa-var-cloudscale: \\f383;\r\n$fa-var-cloudsmith: \\f384;\r\n$fa-var-cloudversify: \\f385;\r\n$fa-var-club: \\f327;\r\n$fa-var-cocktail: \\f561;\r\n$fa-var-code: \\f121;\r\n$fa-var-code-branch: \\f126;\r\n$fa-var-code-commit: \\f386;\r\n$fa-var-code-merge: \\f387;\r\n$fa-var-codepen: \\f1cb;\r\n$fa-var-codiepie: \\f284;\r\n$fa-var-coffee: \\f0f4;\r\n$fa-var-cog: \\f013;\r\n$fa-var-cogs: \\f085;\r\n$fa-var-coins: \\f51e;\r\n$fa-var-columns: \\f0db;\r\n$fa-var-comment: \\f075;\r\n$fa-var-comment-alt: \\f27a;\r\n$fa-var-comment-alt-check: \\f4a2;\r\n$fa-var-comment-alt-dots: \\f4a3;\r\n$fa-var-comment-alt-edit: \\f4a4;\r\n$fa-var-comment-alt-exclamation: \\f4a5;\r\n$fa-var-comment-alt-lines: \\f4a6;\r\n$fa-var-comment-alt-minus: \\f4a7;\r\n$fa-var-comment-alt-plus: \\f4a8;\r\n$fa-var-comment-alt-slash: \\f4a9;\r\n$fa-var-comment-alt-smile: \\f4aa;\r\n$fa-var-comment-alt-times: \\f4ab;\r\n$fa-var-comment-check: \\f4ac;\r\n$fa-var-comment-dots: \\f4ad;\r\n$fa-var-comment-edit: \\f4ae;\r\n$fa-var-comment-exclamation: \\f4af;\r\n$fa-var-comment-lines: \\f4b0;\r\n$fa-var-comment-minus: \\f4b1;\r\n$fa-var-comment-plus: \\f4b2;\r\n$fa-var-comment-slash: \\f4b3;\r\n$fa-var-comment-smile: \\f4b4;\r\n$fa-var-comment-times: \\f4b5;\r\n$fa-var-comments: \\f086;\r\n$fa-var-comments-alt: \\f4b6;\r\n$fa-var-compact-disc: \\f51f;\r\n$fa-var-compass: \\f14e;\r\n$fa-var-compress: \\f066;\r\n$fa-var-compress-alt: \\f422;\r\n$fa-var-compress-wide: \\f326;\r\n$fa-var-concierge-bell: \\f562;\r\n$fa-var-connectdevelop: \\f20e;\r\n$fa-var-container-storage: \\f4b7;\r\n$fa-var-contao: \\f26d;\r\n$fa-var-conveyor-belt: \\f46e;\r\n$fa-var-conveyor-belt-alt: \\f46f;\r\n$fa-var-cookie: \\f563;\r\n$fa-var-cookie-bite: \\f564;\r\n$fa-var-copy: \\f0c5;\r\n$fa-var-copyright: \\f1f9;\r\n$fa-var-couch: \\f4b8;\r\n$fa-var-cpanel: \\f388;\r\n$fa-var-creative-commons: \\f25e;\r\n$fa-var-creative-commons-by: \\f4e7;\r\n$fa-var-creative-commons-nc: \\f4e8;\r\n$fa-var-creative-commons-nc-eu: \\f4e9;\r\n$fa-var-creative-commons-nc-jp: \\f4ea;\r\n$fa-var-creative-commons-nd: \\f4eb;\r\n$fa-var-creative-commons-pd: \\f4ec;\r\n$fa-var-creative-commons-pd-alt: \\f4ed;\r\n$fa-var-creative-commons-remix: \\f4ee;\r\n$fa-var-creative-commons-sa: \\f4ef;\r\n$fa-var-creative-commons-sampling: \\f4f0;\r\n$fa-var-creative-commons-sampling-plus: \\f4f1;\r\n$fa-var-creative-commons-share: \\f4f2;\r\n$fa-var-creative-commons-zero: \\f4f3;\r\n$fa-var-credit-card: \\f09d;\r\n$fa-var-credit-card-blank: \\f389;\r\n$fa-var-credit-card-front: \\f38a;\r\n$fa-var-cricket: \\f449;\r\n$fa-var-crop: \\f125;\r\n$fa-var-crop-alt: \\f565;\r\n$fa-var-crosshairs: \\f05b;\r\n$fa-var-crow: \\f520;\r\n$fa-var-crown: \\f521;\r\n$fa-var-css3: \\f13c;\r\n$fa-var-css3-alt: \\f38b;\r\n$fa-var-cube: \\f1b2;\r\n$fa-var-cubes: \\f1b3;\r\n$fa-var-curling: \\f44a;\r\n$fa-var-cut: \\f0c4;\r\n$fa-var-cuttlefish: \\f38c;\r\n$fa-var-d-and-d: \\f38d;\r\n$fa-var-dashcube: \\f210;\r\n$fa-var-database: \\f1c0;\r\n$fa-var-deaf: \\f2a4;\r\n$fa-var-delicious: \\f1a5;\r\n$fa-var-deploydog: \\f38e;\r\n$fa-var-deskpro: \\f38f;\r\n$fa-var-desktop: \\f108;\r\n$fa-var-desktop-alt: \\f390;\r\n$fa-var-deviantart: \\f1bd;\r\n$fa-var-diagnoses: \\f470;\r\n$fa-var-diamond: \\f219;\r\n$fa-var-dice: \\f522;\r\n$fa-var-dice-five: \\f523;\r\n$fa-var-dice-four: \\f524;\r\n$fa-var-dice-one: \\f525;\r\n$fa-var-dice-six: \\f526;\r\n$fa-var-dice-three: \\f527;\r\n$fa-var-dice-two: \\f528;\r\n$fa-var-digg: \\f1a6;\r\n$fa-var-digital-ocean: \\f391;\r\n$fa-var-digital-tachograph: \\f566;\r\n$fa-var-discord: \\f392;\r\n$fa-var-discourse: \\f393;\r\n$fa-var-divide: \\f529;\r\n$fa-var-dizzy: \\f567;\r\n$fa-var-dna: \\f471;\r\n$fa-var-dochub: \\f394;\r\n$fa-var-docker: \\f395;\r\n$fa-var-dollar-sign: \\f155;\r\n$fa-var-dolly: \\f472;\r\n$fa-var-dolly-empty: \\f473;\r\n$fa-var-dolly-flatbed: \\f474;\r\n$fa-var-dolly-flatbed-alt: \\f475;\r\n$fa-var-dolly-flatbed-empty: \\f476;\r\n$fa-var-donate: \\f4b9;\r\n$fa-var-door-closed: \\f52a;\r\n$fa-var-door-open: \\f52b;\r\n$fa-var-dot-circle: \\f192;\r\n$fa-var-dove: \\f4ba;\r\n$fa-var-download: \\f019;\r\n$fa-var-draft2digital: \\f396;\r\n$fa-var-drafting-compass: \\f568;\r\n$fa-var-dribbble: \\f17d;\r\n$fa-var-dribbble-square: \\f397;\r\n$fa-var-dropbox: \\f16b;\r\n$fa-var-drum: \\f569;\r\n$fa-var-drum-steelpan: \\f56a;\r\n$fa-var-drupal: \\f1a9;\r\n$fa-var-dumbbell: \\f44b;\r\n$fa-var-dyalog: \\f399;\r\n$fa-var-earlybirds: \\f39a;\r\n$fa-var-ebay: \\f4f4;\r\n$fa-var-edge: \\f282;\r\n$fa-var-edit: \\f044;\r\n$fa-var-eject: \\f052;\r\n$fa-var-elementor: \\f430;\r\n$fa-var-ellipsis-h: \\f141;\r\n$fa-var-ellipsis-h-alt: \\f39b;\r\n$fa-var-ellipsis-v: \\f142;\r\n$fa-var-ellipsis-v-alt: \\f39c;\r\n$fa-var-ember: \\f423;\r\n$fa-var-empire: \\f1d1;\r\n$fa-var-envelope: \\f0e0;\r\n$fa-var-envelope-open: \\f2b6;\r\n$fa-var-envelope-square: \\f199;\r\n$fa-var-envira: \\f299;\r\n$fa-var-equals: \\f52c;\r\n$fa-var-eraser: \\f12d;\r\n$fa-var-erlang: \\f39d;\r\n$fa-var-ethereum: \\f42e;\r\n$fa-var-etsy: \\f2d7;\r\n$fa-var-euro-sign: \\f153;\r\n$fa-var-exchange: \\f0ec;\r\n$fa-var-exchange-alt: \\f362;\r\n$fa-var-exclamation: \\f12a;\r\n$fa-var-exclamation-circle: \\f06a;\r\n$fa-var-exclamation-square: \\f321;\r\n$fa-var-exclamation-triangle: \\f071;\r\n$fa-var-expand: \\f065;\r\n$fa-var-expand-alt: \\f424;\r\n$fa-var-expand-arrows: \\f31d;\r\n$fa-var-expand-arrows-alt: \\f31e;\r\n$fa-var-expand-wide: \\f320;\r\n$fa-var-expeditedssl: \\f23e;\r\n$fa-var-external-link: \\f08e;\r\n$fa-var-external-link-alt: \\f35d;\r\n$fa-var-external-link-square: \\f14c;\r\n$fa-var-external-link-square-alt: \\f360;\r\n$fa-var-eye: \\f06e;\r\n$fa-var-eye-dropper: \\f1fb;\r\n$fa-var-eye-slash: \\f070;\r\n$fa-var-facebook: \\f09a;\r\n$fa-var-facebook-f: \\f39e;\r\n$fa-var-facebook-messenger: \\f39f;\r\n$fa-var-facebook-square: \\f082;\r\n$fa-var-fast-backward: \\f049;\r\n$fa-var-fast-forward: \\f050;\r\n$fa-var-fax: \\f1ac;\r\n$fa-var-feather: \\f52d;\r\n$fa-var-feather-alt: \\f56b;\r\n$fa-var-female: \\f182;\r\n$fa-var-field-hockey: \\f44c;\r\n$fa-var-fighter-jet: \\f0fb;\r\n$fa-var-file: \\f15b;\r\n$fa-var-file-alt: \\f15c;\r\n$fa-var-file-archive: \\f1c6;\r\n$fa-var-file-audio: \\f1c7;\r\n$fa-var-file-check: \\f316;\r\n$fa-var-file-code: \\f1c9;\r\n$fa-var-file-contract: \\f56c;\r\n$fa-var-file-download: \\f56d;\r\n$fa-var-file-edit: \\f31c;\r\n$fa-var-file-excel: \\f1c3;\r\n$fa-var-file-exclamation: \\f31a;\r\n$fa-var-file-export: \\f56e;\r\n$fa-var-file-image: \\f1c5;\r\n$fa-var-file-import: \\f56f;\r\n$fa-var-file-invoice: \\f570;\r\n$fa-var-file-invoice-dollar: \\f571;\r\n$fa-var-file-medical: \\f477;\r\n$fa-var-file-medical-alt: \\f478;\r\n$fa-var-file-minus: \\f318;\r\n$fa-var-file-pdf: \\f1c1;\r\n$fa-var-file-plus: \\f319;\r\n$fa-var-file-powerpoint: \\f1c4;\r\n$fa-var-file-prescription: \\f572;\r\n$fa-var-file-signature: \\f573;\r\n$fa-var-file-times: \\f317;\r\n$fa-var-file-upload: \\f574;\r\n$fa-var-file-video: \\f1c8;\r\n$fa-var-file-word: \\f1c2;\r\n$fa-var-fill: \\f575;\r\n$fa-var-fill-drip: \\f576;\r\n$fa-var-film: \\f008;\r\n$fa-var-film-alt: \\f3a0;\r\n$fa-var-filter: \\f0b0;\r\n$fa-var-fingerprint: \\f577;\r\n$fa-var-fire: \\f06d;\r\n$fa-var-fire-extinguisher: \\f134;\r\n$fa-var-firefox: \\f269;\r\n$fa-var-first-aid: \\f479;\r\n$fa-var-first-order: \\f2b0;\r\n$fa-var-first-order-alt: \\f50a;\r\n$fa-var-firstdraft: \\f3a1;\r\n$fa-var-fish: \\f578;\r\n$fa-var-flag: \\f024;\r\n$fa-var-flag-checkered: \\f11e;\r\n$fa-var-flask: \\f0c3;\r\n$fa-var-flickr: \\f16e;\r\n$fa-var-flipboard: \\f44d;\r\n$fa-var-flushed: \\f579;\r\n$fa-var-fly: \\f417;\r\n$fa-var-folder: \\f07b;\r\n$fa-var-folder-open: \\f07c;\r\n$fa-var-font: \\f031;\r\n$fa-var-font-awesome: \\f2b4;\r\n$fa-var-font-awesome-alt: \\f35c;\r\n$fa-var-font-awesome-flag: \\f425;\r\n$fa-var-font-awesome-logo-full: \\f4e6;\r\n$fa-var-fonticons: \\f280;\r\n$fa-var-fonticons-fi: \\f3a2;\r\n$fa-var-football-ball: \\f44e;\r\n$fa-var-football-helmet: \\f44f;\r\n$fa-var-forklift: \\f47a;\r\n$fa-var-fort-awesome: \\f286;\r\n$fa-var-fort-awesome-alt: \\f3a3;\r\n$fa-var-forumbee: \\f211;\r\n$fa-var-forward: \\f04e;\r\n$fa-var-foursquare: \\f180;\r\n$fa-var-fragile: \\f4bb;\r\n$fa-var-free-code-camp: \\f2c5;\r\n$fa-var-freebsd: \\f3a4;\r\n$fa-var-frog: \\f52e;\r\n$fa-var-frown: \\f119;\r\n$fa-var-frown-open: \\f57a;\r\n$fa-var-fulcrum: \\f50b;\r\n$fa-var-futbol: \\f1e3;\r\n$fa-var-galactic-republic: \\f50c;\r\n$fa-var-galactic-senate: \\f50d;\r\n$fa-var-gamepad: \\f11b;\r\n$fa-var-gas-pump: \\f52f;\r\n$fa-var-gavel: \\f0e3;\r\n$fa-var-gem: \\f3a5;\r\n$fa-var-genderless: \\f22d;\r\n$fa-var-get-pocket: \\f265;\r\n$fa-var-gg: \\f260;\r\n$fa-var-gg-circle: \\f261;\r\n$fa-var-gift: \\f06b;\r\n$fa-var-git: \\f1d3;\r\n$fa-var-git-square: \\f1d2;\r\n$fa-var-github: \\f09b;\r\n$fa-var-github-alt: \\f113;\r\n$fa-var-github-square: \\f092;\r\n$fa-var-gitkraken: \\f3a6;\r\n$fa-var-gitlab: \\f296;\r\n$fa-var-gitter: \\f426;\r\n$fa-var-glass-martini: \\f000;\r\n$fa-var-glass-martini-alt: \\f57b;\r\n$fa-var-glasses: \\f530;\r\n$fa-var-glide: \\f2a5;\r\n$fa-var-glide-g: \\f2a6;\r\n$fa-var-globe: \\f0ac;\r\n$fa-var-globe-africa: \\f57c;\r\n$fa-var-globe-americas: \\f57d;\r\n$fa-var-globe-asia: \\f57e;\r\n$fa-var-gofore: \\f3a7;\r\n$fa-var-golf-ball: \\f450;\r\n$fa-var-golf-club: \\f451;\r\n$fa-var-goodreads: \\f3a8;\r\n$fa-var-goodreads-g: \\f3a9;\r\n$fa-var-google: \\f1a0;\r\n$fa-var-google-drive: \\f3aa;\r\n$fa-var-google-play: \\f3ab;\r\n$fa-var-google-plus: \\f2b3;\r\n$fa-var-google-plus-g: \\f0d5;\r\n$fa-var-google-plus-square: \\f0d4;\r\n$fa-var-google-wallet: \\f1ee;\r\n$fa-var-graduation-cap: \\f19d;\r\n$fa-var-gratipay: \\f184;\r\n$fa-var-grav: \\f2d6;\r\n$fa-var-greater-than: \\f531;\r\n$fa-var-greater-than-equal: \\f532;\r\n$fa-var-grimace: \\f57f;\r\n$fa-var-grin: \\f580;\r\n$fa-var-grin-alt: \\f581;\r\n$fa-var-grin-beam: \\f582;\r\n$fa-var-grin-beam-sweat: \\f583;\r\n$fa-var-grin-hearts: \\f584;\r\n$fa-var-grin-squint: \\f585;\r\n$fa-var-grin-squint-tears: \\f586;\r\n$fa-var-grin-stars: \\f587;\r\n$fa-var-grin-tears: \\f588;\r\n$fa-var-grin-tongue: \\f589;\r\n$fa-var-grin-tongue-squint: \\f58a;\r\n$fa-var-grin-tongue-wink: \\f58b;\r\n$fa-var-grin-wink: \\f58c;\r\n$fa-var-grip-horizontal: \\f58d;\r\n$fa-var-grip-vertical: \\f58e;\r\n$fa-var-gripfire: \\f3ac;\r\n$fa-var-grunt: \\f3ad;\r\n$fa-var-gulp: \\f3ae;\r\n$fa-var-h-square: \\f0fd;\r\n$fa-var-h1: \\f313;\r\n$fa-var-h2: \\f314;\r\n$fa-var-h3: \\f315;\r\n$fa-var-hacker-news: \\f1d4;\r\n$fa-var-hacker-news-square: \\f3af;\r\n$fa-var-hand-heart: \\f4bc;\r\n$fa-var-hand-holding: \\f4bd;\r\n$fa-var-hand-holding-box: \\f47b;\r\n$fa-var-hand-holding-heart: \\f4be;\r\n$fa-var-hand-holding-seedling: \\f4bf;\r\n$fa-var-hand-holding-usd: \\f4c0;\r\n$fa-var-hand-holding-water: \\f4c1;\r\n$fa-var-hand-lizard: \\f258;\r\n$fa-var-hand-paper: \\f256;\r\n$fa-var-hand-peace: \\f25b;\r\n$fa-var-hand-point-down: \\f0a7;\r\n$fa-var-hand-point-left: \\f0a5;\r\n$fa-var-hand-point-right: \\f0a4;\r\n$fa-var-hand-point-up: \\f0a6;\r\n$fa-var-hand-pointer: \\f25a;\r\n$fa-var-hand-receiving: \\f47c;\r\n$fa-var-hand-rock: \\f255;\r\n$fa-var-hand-scissors: \\f257;\r\n$fa-var-hand-spock: \\f259;\r\n$fa-var-hands: \\f4c2;\r\n$fa-var-hands-heart: \\f4c3;\r\n$fa-var-hands-helping: \\f4c4;\r\n$fa-var-hands-usd: \\f4c5;\r\n$fa-var-handshake: \\f2b5;\r\n$fa-var-handshake-alt: \\f4c6;\r\n$fa-var-hashtag: \\f292;\r\n$fa-var-hdd: \\f0a0;\r\n$fa-var-heading: \\f1dc;\r\n$fa-var-headphones: \\f025;\r\n$fa-var-headphones-alt: \\f58f;\r\n$fa-var-headset: \\f590;\r\n$fa-var-heart: \\f004;\r\n$fa-var-heart-circle: \\f4c7;\r\n$fa-var-heart-square: \\f4c8;\r\n$fa-var-heartbeat: \\f21e;\r\n$fa-var-helicopter: \\f533;\r\n$fa-var-hexagon: \\f312;\r\n$fa-var-highlighter: \\f591;\r\n$fa-var-hips: \\f452;\r\n$fa-var-hire-a-helper: \\f3b0;\r\n$fa-var-history: \\f1da;\r\n$fa-var-hockey-puck: \\f453;\r\n$fa-var-hockey-sticks: \\f454;\r\n$fa-var-home: \\f015;\r\n$fa-var-home-heart: \\f4c9;\r\n$fa-var-hooli: \\f427;\r\n$fa-var-hornbill: \\f592;\r\n$fa-var-hospital: \\f0f8;\r\n$fa-var-hospital-alt: \\f47d;\r\n$fa-var-hospital-symbol: \\f47e;\r\n$fa-var-hot-tub: \\f593;\r\n$fa-var-hotel: \\f594;\r\n$fa-var-hotjar: \\f3b1;\r\n$fa-var-hourglass: \\f254;\r\n$fa-var-hourglass-end: \\f253;\r\n$fa-var-hourglass-half: \\f252;\r\n$fa-var-hourglass-start: \\f251;\r\n$fa-var-houzz: \\f27c;\r\n$fa-var-html5: \\f13b;\r\n$fa-var-hubspot: \\f3b2;\r\n$fa-var-i-cursor: \\f246;\r\n$fa-var-id-badge: \\f2c1;\r\n$fa-var-id-card: \\f2c2;\r\n$fa-var-id-card-alt: \\f47f;\r\n$fa-var-image: \\f03e;\r\n$fa-var-images: \\f302;\r\n$fa-var-imdb: \\f2d8;\r\n$fa-var-inbox: \\f01c;\r\n$fa-var-inbox-in: \\f310;\r\n$fa-var-inbox-out: \\f311;\r\n$fa-var-indent: \\f03c;\r\n$fa-var-industry: \\f275;\r\n$fa-var-industry-alt: \\f3b3;\r\n$fa-var-infinity: \\f534;\r\n$fa-var-info: \\f129;\r\n$fa-var-info-circle: \\f05a;\r\n$fa-var-info-square: \\f30f;\r\n$fa-var-instagram: \\f16d;\r\n$fa-var-internet-explorer: \\f26b;\r\n$fa-var-inventory: \\f480;\r\n$fa-var-ioxhost: \\f208;\r\n$fa-var-italic: \\f033;\r\n$fa-var-itunes: \\f3b4;\r\n$fa-var-itunes-note: \\f3b5;\r\n$fa-var-jack-o-lantern: \\f30e;\r\n$fa-var-java: \\f4e4;\r\n$fa-var-jedi-order: \\f50e;\r\n$fa-var-jenkins: \\f3b6;\r\n$fa-var-joget: \\f3b7;\r\n$fa-var-joint: \\f595;\r\n$fa-var-joomla: \\f1aa;\r\n$fa-var-js: \\f3b8;\r\n$fa-var-js-square: \\f3b9;\r\n$fa-var-jsfiddle: \\f1cc;\r\n$fa-var-key: \\f084;\r\n$fa-var-keybase: \\f4f5;\r\n$fa-var-keyboard: \\f11c;\r\n$fa-var-keycdn: \\f3ba;\r\n$fa-var-kickstarter: \\f3bb;\r\n$fa-var-kickstarter-k: \\f3bc;\r\n$fa-var-kiss: \\f596;\r\n$fa-var-kiss-beam: \\f597;\r\n$fa-var-kiss-wink-heart: \\f598;\r\n$fa-var-kiwi-bird: \\f535;\r\n$fa-var-korvue: \\f42f;\r\n$fa-var-lamp: \\f4ca;\r\n$fa-var-language: \\f1ab;\r\n$fa-var-laptop: \\f109;\r\n$fa-var-laravel: \\f3bd;\r\n$fa-var-lastfm: \\f202;\r\n$fa-var-lastfm-square: \\f203;\r\n$fa-var-laugh: \\f599;\r\n$fa-var-laugh-beam: \\f59a;\r\n$fa-var-laugh-squint: \\f59b;\r\n$fa-var-laugh-wink: \\f59c;\r\n$fa-var-leaf: \\f06c;\r\n$fa-var-leaf-heart: \\f4cb;\r\n$fa-var-leanpub: \\f212;\r\n$fa-var-lemon: \\f094;\r\n$fa-var-less: \\f41d;\r\n$fa-var-less-than: \\f536;\r\n$fa-var-less-than-equal: \\f537;\r\n$fa-var-level-down: \\f149;\r\n$fa-var-level-down-alt: \\f3be;\r\n$fa-var-level-up: \\f148;\r\n$fa-var-level-up-alt: \\f3bf;\r\n$fa-var-life-ring: \\f1cd;\r\n$fa-var-lightbulb: \\f0eb;\r\n$fa-var-line: \\f3c0;\r\n$fa-var-link: \\f0c1;\r\n$fa-var-linkedin: \\f08c;\r\n$fa-var-linkedin-in: \\f0e1;\r\n$fa-var-linode: \\f2b8;\r\n$fa-var-linux: \\f17c;\r\n$fa-var-lira-sign: \\f195;\r\n$fa-var-list: \\f03a;\r\n$fa-var-list-alt: \\f022;\r\n$fa-var-list-ol: \\f0cb;\r\n$fa-var-list-ul: \\f0ca;\r\n$fa-var-location-arrow: \\f124;\r\n$fa-var-lock: \\f023;\r\n$fa-var-lock-alt: \\f30d;\r\n$fa-var-lock-open: \\f3c1;\r\n$fa-var-lock-open-alt: \\f3c2;\r\n$fa-var-long-arrow-alt-down: \\f309;\r\n$fa-var-long-arrow-alt-left: \\f30a;\r\n$fa-var-long-arrow-alt-right: \\f30b;\r\n$fa-var-long-arrow-alt-up: \\f30c;\r\n$fa-var-long-arrow-down: \\f175;\r\n$fa-var-long-arrow-left: \\f177;\r\n$fa-var-long-arrow-right: \\f178;\r\n$fa-var-long-arrow-up: \\f176;\r\n$fa-var-loveseat: \\f4cc;\r\n$fa-var-low-vision: \\f2a8;\r\n$fa-var-luchador: \\f455;\r\n$fa-var-luggage-cart: \\f59d;\r\n$fa-var-lyft: \\f3c3;\r\n$fa-var-magento: \\f3c4;\r\n$fa-var-magic: \\f0d0;\r\n$fa-var-magnet: \\f076;\r\n$fa-var-mailchimp: \\f59e;\r\n$fa-var-male: \\f183;\r\n$fa-var-mandalorian: \\f50f;\r\n$fa-var-map: \\f279;\r\n$fa-var-map-marked: \\f59f;\r\n$fa-var-map-marked-alt: \\f5a0;\r\n$fa-var-map-marker: \\f041;\r\n$fa-var-map-marker-alt: \\f3c5;\r\n$fa-var-map-pin: \\f276;\r\n$fa-var-map-signs: \\f277;\r\n$fa-var-marker: \\f5a1;\r\n$fa-var-mars: \\f222;\r\n$fa-var-mars-double: \\f227;\r\n$fa-var-mars-stroke: \\f229;\r\n$fa-var-mars-stroke-h: \\f22b;\r\n$fa-var-mars-stroke-v: \\f22a;\r\n$fa-var-mastodon: \\f4f6;\r\n$fa-var-maxcdn: \\f136;\r\n$fa-var-medal: \\f5a2;\r\n$fa-var-medapps: \\f3c6;\r\n$fa-var-medium: \\f23a;\r\n$fa-var-medium-m: \\f3c7;\r\n$fa-var-medkit: \\f0fa;\r\n$fa-var-medrt: \\f3c8;\r\n$fa-var-meetup: \\f2e0;\r\n$fa-var-megaport: \\f5a3;\r\n$fa-var-meh: \\f11a;\r\n$fa-var-meh-blank: \\f5a4;\r\n$fa-var-meh-rolling-eyes: \\f5a5;\r\n$fa-var-memory: \\f538;\r\n$fa-var-mercury: \\f223;\r\n$fa-var-microchip: \\f2db;\r\n$fa-var-microphone: \\f130;\r\n$fa-var-microphone-alt: \\f3c9;\r\n$fa-var-microphone-alt-slash: \\f539;\r\n$fa-var-microphone-slash: \\f131;\r\n$fa-var-microsoft: \\f3ca;\r\n$fa-var-minus: \\f068;\r\n$fa-var-minus-circle: \\f056;\r\n$fa-var-minus-hexagon: \\f307;\r\n$fa-var-minus-octagon: \\f308;\r\n$fa-var-minus-square: \\f146;\r\n$fa-var-mix: \\f3cb;\r\n$fa-var-mixcloud: \\f289;\r\n$fa-var-mizuni: \\f3cc;\r\n$fa-var-mobile: \\f10b;\r\n$fa-var-mobile-alt: \\f3cd;\r\n$fa-var-mobile-android: \\f3ce;\r\n$fa-var-mobile-android-alt: \\f3cf;\r\n$fa-var-modx: \\f285;\r\n$fa-var-monero: \\f3d0;\r\n$fa-var-money-bill: \\f0d6;\r\n$fa-var-money-bill-alt: \\f3d1;\r\n$fa-var-money-bill-wave: \\f53a;\r\n$fa-var-money-bill-wave-alt: \\f53b;\r\n$fa-var-money-check: \\f53c;\r\n$fa-var-money-check-alt: \\f53d;\r\n$fa-var-monument: \\f5a6;\r\n$fa-var-moon: \\f186;\r\n$fa-var-mortar-pestle: \\f5a7;\r\n$fa-var-motorcycle: \\f21c;\r\n$fa-var-mouse-pointer: \\f245;\r\n$fa-var-music: \\f001;\r\n$fa-var-napster: \\f3d2;\r\n$fa-var-neuter: \\f22c;\r\n$fa-var-newspaper: \\f1ea;\r\n$fa-var-nimblr: \\f5a8;\r\n$fa-var-nintendo-switch: \\f418;\r\n$fa-var-node: \\f419;\r\n$fa-var-node-js: \\f3d3;\r\n$fa-var-not-equal: \\f53e;\r\n$fa-var-notes-medical: \\f481;\r\n$fa-var-npm: \\f3d4;\r\n$fa-var-ns8: \\f3d5;\r\n$fa-var-nutritionix: \\f3d6;\r\n$fa-var-object-group: \\f247;\r\n$fa-var-object-ungroup: \\f248;\r\n$fa-var-octagon: \\f306;\r\n$fa-var-odnoklassniki: \\f263;\r\n$fa-var-odnoklassniki-square: \\f264;\r\n$fa-var-old-republic: \\f510;\r\n$fa-var-opencart: \\f23d;\r\n$fa-var-openid: \\f19b;\r\n$fa-var-opera: \\f26a;\r\n$fa-var-optin-monster: \\f23c;\r\n$fa-var-osi: \\f41a;\r\n$fa-var-outdent: \\f03b;\r\n$fa-var-page4: \\f3d7;\r\n$fa-var-pagelines: \\f18c;\r\n$fa-var-paint-brush: \\f1fc;\r\n$fa-var-paint-brush-alt: \\f5a9;\r\n$fa-var-paint-roller: \\f5aa;\r\n$fa-var-palette: \\f53f;\r\n$fa-var-palfed: \\f3d8;\r\n$fa-var-pallet: \\f482;\r\n$fa-var-pallet-alt: \\f483;\r\n$fa-var-paper-plane: \\f1d8;\r\n$fa-var-paperclip: \\f0c6;\r\n$fa-var-parachute-box: \\f4cd;\r\n$fa-var-paragraph: \\f1dd;\r\n$fa-var-parking: \\f540;\r\n$fa-var-passport: \\f5ab;\r\n$fa-var-paste: \\f0ea;\r\n$fa-var-patreon: \\f3d9;\r\n$fa-var-pause: \\f04c;\r\n$fa-var-pause-circle: \\f28b;\r\n$fa-var-paw: \\f1b0;\r\n$fa-var-paypal: \\f1ed;\r\n$fa-var-pen: \\f304;\r\n$fa-var-pen-alt: \\f305;\r\n$fa-var-pen-fancy: \\f5ac;\r\n$fa-var-pen-nib: \\f5ad;\r\n$fa-var-pen-square: \\f14b;\r\n$fa-var-pencil: \\f040;\r\n$fa-var-pencil-alt: \\f303;\r\n$fa-var-pencil-ruler: \\f5ae;\r\n$fa-var-pennant: \\f456;\r\n$fa-var-people-carry: \\f4ce;\r\n$fa-var-percent: \\f295;\r\n$fa-var-percentage: \\f541;\r\n$fa-var-periscope: \\f3da;\r\n$fa-var-person-carry: \\f4cf;\r\n$fa-var-person-dolly: \\f4d0;\r\n$fa-var-person-dolly-empty: \\f4d1;\r\n$fa-var-phabricator: \\f3db;\r\n$fa-var-phoenix-framework: \\f3dc;\r\n$fa-var-phoenix-squadron: \\f511;\r\n$fa-var-phone: \\f095;\r\n$fa-var-phone-plus: \\f4d2;\r\n$fa-var-phone-slash: \\f3dd;\r\n$fa-var-phone-square: \\f098;\r\n$fa-var-phone-volume: \\f2a0;\r\n$fa-var-php: \\f457;\r\n$fa-var-pied-piper: \\f2ae;\r\n$fa-var-pied-piper-alt: \\f1a8;\r\n$fa-var-pied-piper-hat: \\f4e5;\r\n$fa-var-pied-piper-pp: \\f1a7;\r\n$fa-var-piggy-bank: \\f4d3;\r\n$fa-var-pills: \\f484;\r\n$fa-var-pinterest: \\f0d2;\r\n$fa-var-pinterest-p: \\f231;\r\n$fa-var-pinterest-square: \\f0d3;\r\n$fa-var-plane: \\f072;\r\n$fa-var-plane-alt: \\f3de;\r\n$fa-var-plane-arrival: \\f5af;\r\n$fa-var-plane-departure: \\f5b0;\r\n$fa-var-play: \\f04b;\r\n$fa-var-play-circle: \\f144;\r\n$fa-var-playstation: \\f3df;\r\n$fa-var-plug: \\f1e6;\r\n$fa-var-plus: \\f067;\r\n$fa-var-plus-circle: \\f055;\r\n$fa-var-plus-hexagon: \\f300;\r\n$fa-var-plus-octagon: \\f301;\r\n$fa-var-plus-square: \\f0fe;\r\n$fa-var-podcast: \\f2ce;\r\n$fa-var-poo: \\f2fe;\r\n$fa-var-portrait: \\f3e0;\r\n$fa-var-pound-sign: \\f154;\r\n$fa-var-power-off: \\f011;\r\n$fa-var-prescription: \\f5b1;\r\n$fa-var-prescription-bottle: \\f485;\r\n$fa-var-prescription-bottle-alt: \\f486;\r\n$fa-var-print: \\f02f;\r\n$fa-var-procedures: \\f487;\r\n$fa-var-product-hunt: \\f288;\r\n$fa-var-project-diagram: \\f542;\r\n$fa-var-pushed: \\f3e1;\r\n$fa-var-puzzle-piece: \\f12e;\r\n$fa-var-python: \\f3e2;\r\n$fa-var-qq: \\f1d6;\r\n$fa-var-qrcode: \\f029;\r\n$fa-var-question: \\f128;\r\n$fa-var-question-circle: \\f059;\r\n$fa-var-question-square: \\f2fd;\r\n$fa-var-quidditch: \\f458;\r\n$fa-var-quinscape: \\f459;\r\n$fa-var-quora: \\f2c4;\r\n$fa-var-quote-left: \\f10d;\r\n$fa-var-quote-right: \\f10e;\r\n$fa-var-r-project: \\f4f7;\r\n$fa-var-racquet: \\f45a;\r\n$fa-var-ramp-loading: \\f4d4;\r\n$fa-var-random: \\f074;\r\n$fa-var-ravelry: \\f2d9;\r\n$fa-var-react: \\f41b;\r\n$fa-var-readme: \\f4d5;\r\n$fa-var-rebel: \\f1d0;\r\n$fa-var-receipt: \\f543;\r\n$fa-var-rectangle-landscape: \\f2fa;\r\n$fa-var-rectangle-portrait: \\f2fb;\r\n$fa-var-rectangle-wide: \\f2fc;\r\n$fa-var-recycle: \\f1b8;\r\n$fa-var-red-river: \\f3e3;\r\n$fa-var-reddit: \\f1a1;\r\n$fa-var-reddit-alien: \\f281;\r\n$fa-var-reddit-square: \\f1a2;\r\n$fa-var-redo: \\f01e;\r\n$fa-var-redo-alt: \\f2f9;\r\n$fa-var-registered: \\f25d;\r\n$fa-var-rendact: \\f3e4;\r\n$fa-var-renren: \\f18b;\r\n$fa-var-repeat: \\f363;\r\n$fa-var-repeat-1: \\f365;\r\n$fa-var-repeat-1-alt: \\f366;\r\n$fa-var-repeat-alt: \\f364;\r\n$fa-var-reply: \\f3e5;\r\n$fa-var-reply-all: \\f122;\r\n$fa-var-replyd: \\f3e6;\r\n$fa-var-researchgate: \\f4f8;\r\n$fa-var-resolving: \\f3e7;\r\n$fa-var-retweet: \\f079;\r\n$fa-var-retweet-alt: \\f361;\r\n$fa-var-rev: \\f5b2;\r\n$fa-var-ribbon: \\f4d6;\r\n$fa-var-road: \\f018;\r\n$fa-var-robot: \\f544;\r\n$fa-var-rocket: \\f135;\r\n$fa-var-rocketchat: \\f3e8;\r\n$fa-var-rockrms: \\f3e9;\r\n$fa-var-route: \\f4d7;\r\n$fa-var-rss: \\f09e;\r\n$fa-var-rss-square: \\f143;\r\n$fa-var-ruble-sign: \\f158;\r\n$fa-var-ruler: \\f545;\r\n$fa-var-ruler-combined: \\f546;\r\n$fa-var-ruler-horizontal: \\f547;\r\n$fa-var-ruler-vertical: \\f548;\r\n$fa-var-rupee-sign: \\f156;\r\n$fa-var-sad-cry: \\f5b3;\r\n$fa-var-sad-tear: \\f5b4;\r\n$fa-var-safari: \\f267;\r\n$fa-var-sass: \\f41e;\r\n$fa-var-save: \\f0c7;\r\n$fa-var-scanner: \\f488;\r\n$fa-var-scanner-keyboard: \\f489;\r\n$fa-var-scanner-touchscreen: \\f48a;\r\n$fa-var-schlix: \\f3ea;\r\n$fa-var-school: \\f549;\r\n$fa-var-screwdriver: \\f54a;\r\n$fa-var-scribd: \\f28a;\r\n$fa-var-scrubber: \\f2f8;\r\n$fa-var-search: \\f002;\r\n$fa-var-search-minus: \\f010;\r\n$fa-var-search-plus: \\f00e;\r\n$fa-var-searchengin: \\f3eb;\r\n$fa-var-seedling: \\f4d8;\r\n$fa-var-sellcast: \\f2da;\r\n$fa-var-sellsy: \\f213;\r\n$fa-var-server: \\f233;\r\n$fa-var-servicestack: \\f3ec;\r\n$fa-var-share: \\f064;\r\n$fa-var-share-all: \\f367;\r\n$fa-var-share-alt: \\f1e0;\r\n$fa-var-share-alt-square: \\f1e1;\r\n$fa-var-share-square: \\f14d;\r\n$fa-var-shekel-sign: \\f20b;\r\n$fa-var-shield: \\f132;\r\n$fa-var-shield-alt: \\f3ed;\r\n$fa-var-shield-check: \\f2f7;\r\n$fa-var-ship: \\f21a;\r\n$fa-var-shipping-fast: \\f48b;\r\n$fa-var-shipping-timed: \\f48c;\r\n$fa-var-shirtsinbulk: \\f214;\r\n$fa-var-shoe-prints: \\f54b;\r\n$fa-var-shopping-bag: \\f290;\r\n$fa-var-shopping-basket: \\f291;\r\n$fa-var-shopping-cart: \\f07a;\r\n$fa-var-shopware: \\f5b5;\r\n$fa-var-shower: \\f2cc;\r\n$fa-var-shuttle-van: \\f5b6;\r\n$fa-var-shuttlecock: \\f45b;\r\n$fa-var-sign: \\f4d9;\r\n$fa-var-sign-in: \\f090;\r\n$fa-var-sign-in-alt: \\f2f6;\r\n$fa-var-sign-language: \\f2a7;\r\n$fa-var-sign-out: \\f08b;\r\n$fa-var-sign-out-alt: \\f2f5;\r\n$fa-var-signal: \\f012;\r\n$fa-var-signature: \\f5b7;\r\n$fa-var-simplybuilt: \\f215;\r\n$fa-var-sistrix: \\f3ee;\r\n$fa-var-sitemap: \\f0e8;\r\n$fa-var-sith: \\f512;\r\n$fa-var-skull: \\f54c;\r\n$fa-var-skyatlas: \\f216;\r\n$fa-var-skype: \\f17e;\r\n$fa-var-slack: \\f198;\r\n$fa-var-slack-hash: \\f3ef;\r\n$fa-var-sliders-h: \\f1de;\r\n$fa-var-sliders-h-square: \\f3f0;\r\n$fa-var-sliders-v: \\f3f1;\r\n$fa-var-sliders-v-square: \\f3f2;\r\n$fa-var-slideshare: \\f1e7;\r\n$fa-var-smile: \\f118;\r\n$fa-var-smile-beam: \\f5b8;\r\n$fa-var-smile-plus: \\f5b9;\r\n$fa-var-smile-wink: \\f4da;\r\n$fa-var-smoking: \\f48d;\r\n$fa-var-smoking-ban: \\f54d;\r\n$fa-var-snapchat: \\f2ab;\r\n$fa-var-snapchat-ghost: \\f2ac;\r\n$fa-var-snapchat-square: \\f2ad;\r\n$fa-var-snowflake: \\f2dc;\r\n$fa-var-solar-panel: \\f5ba;\r\n$fa-var-sort: \\f0dc;\r\n$fa-var-sort-alpha-down: \\f15d;\r\n$fa-var-sort-alpha-up: \\f15e;\r\n$fa-var-sort-amount-down: \\f160;\r\n$fa-var-sort-amount-up: \\f161;\r\n$fa-var-sort-down: \\f0dd;\r\n$fa-var-sort-numeric-down: \\f162;\r\n$fa-var-sort-numeric-up: \\f163;\r\n$fa-var-sort-up: \\f0de;\r\n$fa-var-soundcloud: \\f1be;\r\n$fa-var-spa: \\f5bb;\r\n$fa-var-space-shuttle: \\f197;\r\n$fa-var-spade: \\f2f4;\r\n$fa-var-speakap: \\f3f3;\r\n$fa-var-spinner: \\f110;\r\n$fa-var-spinner-third: \\f3f4;\r\n$fa-var-splotch: \\f5bc;\r\n$fa-var-spotify: \\f1bc;\r\n$fa-var-spray-can: \\f5bd;\r\n$fa-var-square: \\f0c8;\r\n$fa-var-square-full: \\f45c;\r\n$fa-var-squarespace: \\f5be;\r\n$fa-var-stack-exchange: \\f18d;\r\n$fa-var-stack-overflow: \\f16c;\r\n$fa-var-stamp: \\f5bf;\r\n$fa-var-star: \\f005;\r\n$fa-var-star-exclamation: \\f2f3;\r\n$fa-var-star-half: \\f089;\r\n$fa-var-star-half-alt: \\f5c0;\r\n$fa-var-staylinked: \\f3f5;\r\n$fa-var-steam: \\f1b6;\r\n$fa-var-steam-square: \\f1b7;\r\n$fa-var-steam-symbol: \\f3f6;\r\n$fa-var-step-backward: \\f048;\r\n$fa-var-step-forward: \\f051;\r\n$fa-var-stethoscope: \\f0f1;\r\n$fa-var-sticker-mule: \\f3f7;\r\n$fa-var-sticky-note: \\f249;\r\n$fa-var-stop: \\f04d;\r\n$fa-var-stop-circle: \\f28d;\r\n$fa-var-stopwatch: \\f2f2;\r\n$fa-var-store: \\f54e;\r\n$fa-var-store-alt: \\f54f;\r\n$fa-var-strava: \\f428;\r\n$fa-var-stream: \\f550;\r\n$fa-var-street-view: \\f21d;\r\n$fa-var-strikethrough: \\f0cc;\r\n$fa-var-stripe: \\f429;\r\n$fa-var-stripe-s: \\f42a;\r\n$fa-var-stroopwafel: \\f551;\r\n$fa-var-studiovinari: \\f3f8;\r\n$fa-var-stumbleupon: \\f1a4;\r\n$fa-var-stumbleupon-circle: \\f1a3;\r\n$fa-var-subscript: \\f12c;\r\n$fa-var-subway: \\f239;\r\n$fa-var-suitcase: \\f0f2;\r\n$fa-var-suitcase-rolling: \\f5c1;\r\n$fa-var-sun: \\f185;\r\n$fa-var-superpowers: \\f2dd;\r\n$fa-var-superscript: \\f12b;\r\n$fa-var-supple: \\f3f9;\r\n$fa-var-surprise: \\f5c2;\r\n$fa-var-swatchbook: \\f5c3;\r\n$fa-var-swimmer: \\f5c4;\r\n$fa-var-swimming-pool: \\f5c5;\r\n$fa-var-sync: \\f021;\r\n$fa-var-sync-alt: \\f2f1;\r\n$fa-var-syringe: \\f48e;\r\n$fa-var-table: \\f0ce;\r\n$fa-var-table-tennis: \\f45d;\r\n$fa-var-tablet: \\f10a;\r\n$fa-var-tablet-alt: \\f3fa;\r\n$fa-var-tablet-android: \\f3fb;\r\n$fa-var-tablet-android-alt: \\f3fc;\r\n$fa-var-tablet-rugged: \\f48f;\r\n$fa-var-tablets: \\f490;\r\n$fa-var-tachometer: \\f0e4;\r\n$fa-var-tachometer-alt: \\f3fd;\r\n$fa-var-tag: \\f02b;\r\n$fa-var-tags: \\f02c;\r\n$fa-var-tape: \\f4db;\r\n$fa-var-tasks: \\f0ae;\r\n$fa-var-taxi: \\f1ba;\r\n$fa-var-teamspeak: \\f4f9;\r\n$fa-var-telegram: \\f2c6;\r\n$fa-var-telegram-plane: \\f3fe;\r\n$fa-var-tencent-weibo: \\f1d5;\r\n$fa-var-tennis-ball: \\f45e;\r\n$fa-var-terminal: \\f120;\r\n$fa-var-text-height: \\f034;\r\n$fa-var-text-width: \\f035;\r\n$fa-var-th: \\f00a;\r\n$fa-var-th-large: \\f009;\r\n$fa-var-th-list: \\f00b;\r\n$fa-var-themeco: \\f5c6;\r\n$fa-var-themeisle: \\f2b2;\r\n$fa-var-thermometer: \\f491;\r\n$fa-var-thermometer-empty: \\f2cb;\r\n$fa-var-thermometer-full: \\f2c7;\r\n$fa-var-thermometer-half: \\f2c9;\r\n$fa-var-thermometer-quarter: \\f2ca;\r\n$fa-var-thermometer-three-quarters: \\f2c8;\r\n$fa-var-thumbs-down: \\f165;\r\n$fa-var-thumbs-up: \\f164;\r\n$fa-var-thumbtack: \\f08d;\r\n$fa-var-ticket: \\f145;\r\n$fa-var-ticket-alt: \\f3ff;\r\n$fa-var-times: \\f00d;\r\n$fa-var-times-circle: \\f057;\r\n$fa-var-times-hexagon: \\f2ee;\r\n$fa-var-times-octagon: \\f2f0;\r\n$fa-var-times-square: \\f2d3;\r\n$fa-var-tint: \\f043;\r\n$fa-var-tint-slash: \\f5c7;\r\n$fa-var-tired: \\f5c8;\r\n$fa-var-toggle-off: \\f204;\r\n$fa-var-toggle-on: \\f205;\r\n$fa-var-toolbox: \\f552;\r\n$fa-var-tooth: \\f5c9;\r\n$fa-var-trade-federation: \\f513;\r\n$fa-var-trademark: \\f25c;\r\n$fa-var-train: \\f238;\r\n$fa-var-transgender: \\f224;\r\n$fa-var-transgender-alt: \\f225;\r\n$fa-var-trash: \\f1f8;\r\n$fa-var-trash-alt: \\f2ed;\r\n$fa-var-tree: \\f1bb;\r\n$fa-var-tree-alt: \\f400;\r\n$fa-var-trello: \\f181;\r\n$fa-var-triangle: \\f2ec;\r\n$fa-var-tripadvisor: \\f262;\r\n$fa-var-trophy: \\f091;\r\n$fa-var-trophy-alt: \\f2eb;\r\n$fa-var-truck: \\f0d1;\r\n$fa-var-truck-container: \\f4dc;\r\n$fa-var-truck-couch: \\f4dd;\r\n$fa-var-truck-loading: \\f4de;\r\n$fa-var-truck-moving: \\f4df;\r\n$fa-var-truck-ramp: \\f4e0;\r\n$fa-var-tshirt: \\f553;\r\n$fa-var-tty: \\f1e4;\r\n$fa-var-tumblr: \\f173;\r\n$fa-var-tumblr-square: \\f174;\r\n$fa-var-tv: \\f26c;\r\n$fa-var-tv-retro: \\f401;\r\n$fa-var-twitch: \\f1e8;\r\n$fa-var-twitter: \\f099;\r\n$fa-var-twitter-square: \\f081;\r\n$fa-var-typo3: \\f42b;\r\n$fa-var-uber: \\f402;\r\n$fa-var-uikit: \\f403;\r\n$fa-var-umbrella: \\f0e9;\r\n$fa-var-umbrella-beach: \\f5ca;\r\n$fa-var-underline: \\f0cd;\r\n$fa-var-undo: \\f0e2;\r\n$fa-var-undo-alt: \\f2ea;\r\n$fa-var-uniregistry: \\f404;\r\n$fa-var-universal-access: \\f29a;\r\n$fa-var-university: \\f19c;\r\n$fa-var-unlink: \\f127;\r\n$fa-var-unlock: \\f09c;\r\n$fa-var-unlock-alt: \\f13e;\r\n$fa-var-untappd: \\f405;\r\n$fa-var-upload: \\f093;\r\n$fa-var-usb: \\f287;\r\n$fa-var-usd-circle: \\f2e8;\r\n$fa-var-usd-square: \\f2e9;\r\n$fa-var-user: \\f007;\r\n$fa-var-user-alt: \\f406;\r\n$fa-var-user-alt-slash: \\f4fa;\r\n$fa-var-user-astronaut: \\f4fb;\r\n$fa-var-user-check: \\f4fc;\r\n$fa-var-user-circle: \\f2bd;\r\n$fa-var-user-clock: \\f4fd;\r\n$fa-var-user-cog: \\f4fe;\r\n$fa-var-user-edit: \\f4ff;\r\n$fa-var-user-friends: \\f500;\r\n$fa-var-user-graduate: \\f501;\r\n$fa-var-user-lock: \\f502;\r\n$fa-var-user-md: \\f0f0;\r\n$fa-var-user-minus: \\f503;\r\n$fa-var-user-ninja: \\f504;\r\n$fa-var-user-plus: \\f234;\r\n$fa-var-user-secret: \\f21b;\r\n$fa-var-user-shield: \\f505;\r\n$fa-var-user-slash: \\f506;\r\n$fa-var-user-tag: \\f507;\r\n$fa-var-user-tie: \\f508;\r\n$fa-var-user-times: \\f235;\r\n$fa-var-users: \\f0c0;\r\n$fa-var-users-cog: \\f509;\r\n$fa-var-ussunnah: \\f407;\r\n$fa-var-utensil-fork: \\f2e3;\r\n$fa-var-utensil-knife: \\f2e4;\r\n$fa-var-utensil-spoon: \\f2e5;\r\n$fa-var-utensils: \\f2e7;\r\n$fa-var-utensils-alt: \\f2e6;\r\n$fa-var-vaadin: \\f408;\r\n$fa-var-vector-square: \\f5cb;\r\n$fa-var-venus: \\f221;\r\n$fa-var-venus-double: \\f226;\r\n$fa-var-venus-mars: \\f228;\r\n$fa-var-viacoin: \\f237;\r\n$fa-var-viadeo: \\f2a9;\r\n$fa-var-viadeo-square: \\f2aa;\r\n$fa-var-vial: \\f492;\r\n$fa-var-vials: \\f493;\r\n$fa-var-viber: \\f409;\r\n$fa-var-video: \\f03d;\r\n$fa-var-video-plus: \\f4e1;\r\n$fa-var-video-slash: \\f4e2;\r\n$fa-var-vimeo: \\f40a;\r\n$fa-var-vimeo-square: \\f194;\r\n$fa-var-vimeo-v: \\f27d;\r\n$fa-var-vine: \\f1ca;\r\n$fa-var-vk: \\f189;\r\n$fa-var-vnv: \\f40b;\r\n$fa-var-volleyball-ball: \\f45f;\r\n$fa-var-volume-down: \\f027;\r\n$fa-var-volume-mute: \\f2e2;\r\n$fa-var-volume-off: \\f026;\r\n$fa-var-volume-up: \\f028;\r\n$fa-var-vuejs: \\f41f;\r\n$fa-var-walking: \\f554;\r\n$fa-var-wallet: \\f555;\r\n$fa-var-warehouse: \\f494;\r\n$fa-var-warehouse-alt: \\f495;\r\n$fa-var-watch: \\f2e1;\r\n$fa-var-weebly: \\f5cc;\r\n$fa-var-weibo: \\f18a;\r\n$fa-var-weight: \\f496;\r\n$fa-var-weight-hanging: \\f5cd;\r\n$fa-var-weixin: \\f1d7;\r\n$fa-var-whatsapp: \\f232;\r\n$fa-var-whatsapp-square: \\f40c;\r\n$fa-var-wheelchair: \\f193;\r\n$fa-var-whistle: \\f460;\r\n$fa-var-whmcs: \\f40d;\r\n$fa-var-wifi: \\f1eb;\r\n$fa-var-wikipedia-w: \\f266;\r\n$fa-var-window: \\f40e;\r\n$fa-var-window-alt: \\f40f;\r\n$fa-var-window-close: \\f410;\r\n$fa-var-window-maximize: \\f2d0;\r\n$fa-var-window-minimize: \\f2d1;\r\n$fa-var-window-restore: \\f2d2;\r\n$fa-var-windows: \\f17a;\r\n$fa-var-wine-glass: \\f4e3;\r\n$fa-var-wine-glass-alt: \\f5ce;\r\n$fa-var-wix: \\f5cf;\r\n$fa-var-wolf-pack-battalion: \\f514;\r\n$fa-var-won-sign: \\f159;\r\n$fa-var-wordpress: \\f19a;\r\n$fa-var-wordpress-simple: \\f411;\r\n$fa-var-wpbeginner: \\f297;\r\n$fa-var-wpexplorer: \\f2de;\r\n$fa-var-wpforms: \\f298;\r\n$fa-var-wrench: \\f0ad;\r\n$fa-var-x-ray: \\f497;\r\n$fa-var-xbox: \\f412;\r\n$fa-var-xing: \\f168;\r\n$fa-var-xing-square: \\f169;\r\n$fa-var-y-combinator: \\f23b;\r\n$fa-var-yahoo: \\f19e;\r\n$fa-var-yandex: \\f413;\r\n$fa-var-yandex-international: \\f414;\r\n$fa-var-yelp: \\f1e9;\r\n$fa-var-yen-sign: \\f157;\r\n$fa-var-yoast: \\f2b1;\r\n$fa-var-youtube: \\f167;\r\n$fa-var-youtube-square: \\f431;\r\n","// Bordered & Pulled\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-border {\r\n border: solid .08em $fa-border-color;\r\n border-radius: .1em;\r\n padding: .2em .25em .15em;\r\n}\r\n\r\n.#{$fa-css-prefix}-pull-left { float: left; }\r\n.#{$fa-css-prefix}-pull-right { float: right; }\r\n\r\n.#{$fa-css-prefix},\r\n.fas,\r\n.far,\r\n.fal,\r\n.fab {\r\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\r\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\r\n}\r\n","// Animated Icons\r\n// --------------------------\r\n\r\n.#{$fa-css-prefix}-spin {\r\n animation: fa-spin 2s infinite linear;\r\n}\r\n\r\n.#{$fa-css-prefix}-pulse {\r\n animation: fa-spin 1s infinite steps(8);\r\n}\r\n\r\n@keyframes fa-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n","// Rotated & Flipped Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\r\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\r\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\r\n\r\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\r\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\r\n.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }\r\n\r\n// Hook for IE8-9\r\n// -------------------------\r\n\r\n:root {\r\n .#{$fa-css-prefix}-rotate-90,\r\n .#{$fa-css-prefix}-rotate-180,\r\n .#{$fa-css-prefix}-rotate-270,\r\n .#{$fa-css-prefix}-flip-horizontal,\r\n .#{$fa-css-prefix}-flip-vertical {\r\n filter: none;\r\n }\r\n}\r\n","// Mixins\r\n// --------------------------\r\n\r\n@mixin fa-icon {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n display: inline-block;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n vertical-align: -.125em;\r\n}\r\n\r\n@mixin fa-icon-rotate($degrees, $rotation) {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\r\n transform: rotate($degrees);\r\n}\r\n\r\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\r\n transform: scale($horiz, $vert);\r\n}\r\n\r\n\r\n// Only display content to screen readers. A la Bootstrap 4.\r\n//\r\n// See: http://a11yproject.com/posts/how-to-hide-content/\r\n\r\n@mixin sr-only {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n\r\n// Use in conjunction with .sr-only to only display content when it's focused.\r\n//\r\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\r\n//\r\n// Credit: HTML5 Boilerplate\r\n\r\n@mixin sr-only-focusable {\r\n &:active,\r\n &:focus {\r\n clip: auto;\r\n height: auto;\r\n margin: 0;\r\n overflow: visible;\r\n position: static;\r\n width: auto;\r\n }\r\n}\r\n","// Stacked Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-stack {\r\n display: inline-block;\r\n height: 2em;\r\n line-height: 2em;\r\n position: relative;\r\n vertical-align: middle;\r\n width: 2em;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-1x,\r\n.#{$fa-css-prefix}-stack-2x {\r\n left: 0;\r\n position: absolute;\r\n text-align: center;\r\n width: 100%;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-1x {\r\n line-height: inherit;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-2x {\r\n font-size: 2em;\r\n}\r\n\r\n.#{$fa-css-prefix}-inverse {\r\n color: $fa-inverse;\r\n}\r\n","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\r\nreaders do not read off random characters that represent icons */\r\n\r\n.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }\r\n.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }\r\n.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }\r\n.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }\r\n.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }\r\n.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }\r\n.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }\r\n.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }\r\n.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }\r\n.#{$fa-css-prefix}-alarm-clock:before { content: fa-content($fa-var-alarm-clock); }\r\n.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }\r\n.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }\r\n.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }\r\n.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }\r\n.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }\r\n.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }\r\n.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }\r\n.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }\r\n.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }\r\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }\r\n.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }\r\n.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }\r\n.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }\r\n.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }\r\n.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }\r\n.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }\r\n.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }\r\n.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }\r\n.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }\r\n.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }\r\n.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }\r\n.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }\r\n.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }\r\n.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }\r\n.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }\r\n.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }\r\n.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }\r\n.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }\r\n.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }\r\n.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }\r\n.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }\r\n.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }\r\n.#{$fa-css-prefix}-arrow-alt-down:before { content: fa-content($fa-var-arrow-alt-down); }\r\n.#{$fa-css-prefix}-arrow-alt-from-bottom:before { content: fa-content($fa-var-arrow-alt-from-bottom); }\r\n.#{$fa-css-prefix}-arrow-alt-from-left:before { content: fa-content($fa-var-arrow-alt-from-left); }\r\n.#{$fa-css-prefix}-arrow-alt-from-right:before { content: fa-content($fa-var-arrow-alt-from-right); }\r\n.#{$fa-css-prefix}-arrow-alt-from-top:before { content: fa-content($fa-var-arrow-alt-from-top); }\r\n.#{$fa-css-prefix}-arrow-alt-left:before { content: fa-content($fa-var-arrow-alt-left); }\r\n.#{$fa-css-prefix}-arrow-alt-right:before { content: fa-content($fa-var-arrow-alt-right); }\r\n.#{$fa-css-prefix}-arrow-alt-square-down:before { content: fa-content($fa-var-arrow-alt-square-down); }\r\n.#{$fa-css-prefix}-arrow-alt-square-left:before { content: fa-content($fa-var-arrow-alt-square-left); }\r\n.#{$fa-css-prefix}-arrow-alt-square-right:before { content: fa-content($fa-var-arrow-alt-square-right); }\r\n.#{$fa-css-prefix}-arrow-alt-square-up:before { content: fa-content($fa-var-arrow-alt-square-up); }\r\n.#{$fa-css-prefix}-arrow-alt-to-bottom:before { content: fa-content($fa-var-arrow-alt-to-bottom); }\r\n.#{$fa-css-prefix}-arrow-alt-to-left:before { content: fa-content($fa-var-arrow-alt-to-left); }\r\n.#{$fa-css-prefix}-arrow-alt-to-right:before { content: fa-content($fa-var-arrow-alt-to-right); }\r\n.#{$fa-css-prefix}-arrow-alt-to-top:before { content: fa-content($fa-var-arrow-alt-to-top); }\r\n.#{$fa-css-prefix}-arrow-alt-up:before { content: fa-content($fa-var-arrow-alt-up); }\r\n.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }\r\n.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }\r\n.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }\r\n.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }\r\n.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }\r\n.#{$fa-css-prefix}-arrow-from-bottom:before { content: fa-content($fa-var-arrow-from-bottom); }\r\n.#{$fa-css-prefix}-arrow-from-left:before { content: fa-content($fa-var-arrow-from-left); }\r\n.#{$fa-css-prefix}-arrow-from-right:before { content: fa-content($fa-var-arrow-from-right); }\r\n.#{$fa-css-prefix}-arrow-from-top:before { content: fa-content($fa-var-arrow-from-top); }\r\n.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }\r\n.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }\r\n.#{$fa-css-prefix}-arrow-square-down:before { content: fa-content($fa-var-arrow-square-down); }\r\n.#{$fa-css-prefix}-arrow-square-left:before { content: fa-content($fa-var-arrow-square-left); }\r\n.#{$fa-css-prefix}-arrow-square-right:before { content: fa-content($fa-var-arrow-square-right); }\r\n.#{$fa-css-prefix}-arrow-square-up:before { content: fa-content($fa-var-arrow-square-up); }\r\n.#{$fa-css-prefix}-arrow-to-bottom:before { content: fa-content($fa-var-arrow-to-bottom); }\r\n.#{$fa-css-prefix}-arrow-to-left:before { content: fa-content($fa-var-arrow-to-left); }\r\n.#{$fa-css-prefix}-arrow-to-right:before { content: fa-content($fa-var-arrow-to-right); }\r\n.#{$fa-css-prefix}-arrow-to-top:before { content: fa-content($fa-var-arrow-to-top); }\r\n.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }\r\n.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows); }\r\n.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }\r\n.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }\r\n.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }\r\n.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-h); }\r\n.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-v); }\r\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }\r\n.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }\r\n.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }\r\n.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }\r\n.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }\r\n.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }\r\n.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }\r\n.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }\r\n.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }\r\n.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }\r\n.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }\r\n.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }\r\n.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }\r\n.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }\r\n.#{$fa-css-prefix}-badge:before { content: fa-content($fa-var-badge); }\r\n.#{$fa-css-prefix}-badge-check:before { content: fa-content($fa-var-badge-check); }\r\n.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }\r\n.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }\r\n.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }\r\n.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }\r\n.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }\r\n.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }\r\n.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }\r\n.#{$fa-css-prefix}-barcode-alt:before { content: fa-content($fa-var-barcode-alt); }\r\n.#{$fa-css-prefix}-barcode-read:before { content: fa-content($fa-var-barcode-read); }\r\n.#{$fa-css-prefix}-barcode-scan:before { content: fa-content($fa-var-barcode-scan); }\r\n.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }\r\n.#{$fa-css-prefix}-baseball:before { content: fa-content($fa-var-baseball); }\r\n.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }\r\n.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }\r\n.#{$fa-css-prefix}-basketball-hoop:before { content: fa-content($fa-var-basketball-hoop); }\r\n.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }\r\n.#{$fa-css-prefix}-battery-bolt:before { content: fa-content($fa-var-battery-bolt); }\r\n.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }\r\n.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }\r\n.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }\r\n.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }\r\n.#{$fa-css-prefix}-battery-slash:before { content: fa-content($fa-var-battery-slash); }\r\n.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }\r\n.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }\r\n.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }\r\n.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }\r\n.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }\r\n.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }\r\n.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }\r\n.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }\r\n.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }\r\n.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }\r\n.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }\r\n.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }\r\n.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }\r\n.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }\r\n.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }\r\n.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }\r\n.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }\r\n.#{$fa-css-prefix}-blanket:before { content: fa-content($fa-var-blanket); }\r\n.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }\r\n.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }\r\n.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }\r\n.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }\r\n.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }\r\n.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }\r\n.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }\r\n.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }\r\n.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }\r\n.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }\r\n.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }\r\n.#{$fa-css-prefix}-book-heart:before { content: fa-content($fa-var-book-heart); }\r\n.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }\r\n.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }\r\n.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }\r\n.#{$fa-css-prefix}-bowling-pins:before { content: fa-content($fa-var-bowling-pins); }\r\n.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }\r\n.#{$fa-css-prefix}-box-alt:before { content: fa-content($fa-var-box-alt); }\r\n.#{$fa-css-prefix}-box-check:before { content: fa-content($fa-var-box-check); }\r\n.#{$fa-css-prefix}-box-fragile:before { content: fa-content($fa-var-box-fragile); }\r\n.#{$fa-css-prefix}-box-full:before { content: fa-content($fa-var-box-full); }\r\n.#{$fa-css-prefix}-box-heart:before { content: fa-content($fa-var-box-heart); }\r\n.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }\r\n.#{$fa-css-prefix}-box-up:before { content: fa-content($fa-var-box-up); }\r\n.#{$fa-css-prefix}-box-usd:before { content: fa-content($fa-var-box-usd); }\r\n.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }\r\n.#{$fa-css-prefix}-boxes-alt:before { content: fa-content($fa-var-boxes-alt); }\r\n.#{$fa-css-prefix}-boxing-glove:before { content: fa-content($fa-var-boxing-glove); }\r\n.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }\r\n.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }\r\n.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }\r\n.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }\r\n.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }\r\n.#{$fa-css-prefix}-browser:before { content: fa-content($fa-var-browser); }\r\n.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }\r\n.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }\r\n.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }\r\n.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }\r\n.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }\r\n.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }\r\n.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }\r\n.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }\r\n.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }\r\n.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }\r\n.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }\r\n.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }\r\n.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }\r\n.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }\r\n.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }\r\n.#{$fa-css-prefix}-calendar-edit:before { content: fa-content($fa-var-calendar-edit); }\r\n.#{$fa-css-prefix}-calendar-exclamation:before { content: fa-content($fa-var-calendar-exclamation); }\r\n.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }\r\n.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }\r\n.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }\r\n.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }\r\n.#{$fa-css-prefix}-camera-alt:before { content: fa-content($fa-var-camera-alt); }\r\n.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }\r\n.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }\r\n.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }\r\n.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }\r\n.#{$fa-css-prefix}-caret-circle-down:before { content: fa-content($fa-var-caret-circle-down); }\r\n.#{$fa-css-prefix}-caret-circle-left:before { content: fa-content($fa-var-caret-circle-left); }\r\n.#{$fa-css-prefix}-caret-circle-right:before { content: fa-content($fa-var-caret-circle-right); }\r\n.#{$fa-css-prefix}-caret-circle-up:before { content: fa-content($fa-var-caret-circle-up); }\r\n.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }\r\n.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }\r\n.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }\r\n.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }\r\n.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }\r\n.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }\r\n.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }\r\n.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }\r\n.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }\r\n.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }\r\n.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }\r\n.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }\r\n.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }\r\n.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }\r\n.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }\r\n.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }\r\n.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }\r\n.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }\r\n.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }\r\n.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }\r\n.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }\r\n.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }\r\n.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }\r\n.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }\r\n.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }\r\n.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }\r\n.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }\r\n.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }\r\n.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }\r\n.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }\r\n.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }\r\n.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }\r\n.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }\r\n.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }\r\n.#{$fa-css-prefix}-chess-bishop-alt:before { content: fa-content($fa-var-chess-bishop-alt); }\r\n.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }\r\n.#{$fa-css-prefix}-chess-clock:before { content: fa-content($fa-var-chess-clock); }\r\n.#{$fa-css-prefix}-chess-clock-alt:before { content: fa-content($fa-var-chess-clock-alt); }\r\n.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }\r\n.#{$fa-css-prefix}-chess-king-alt:before { content: fa-content($fa-var-chess-king-alt); }\r\n.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }\r\n.#{$fa-css-prefix}-chess-knight-alt:before { content: fa-content($fa-var-chess-knight-alt); }\r\n.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }\r\n.#{$fa-css-prefix}-chess-pawn-alt:before { content: fa-content($fa-var-chess-pawn-alt); }\r\n.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }\r\n.#{$fa-css-prefix}-chess-queen-alt:before { content: fa-content($fa-var-chess-queen-alt); }\r\n.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }\r\n.#{$fa-css-prefix}-chess-rook-alt:before { content: fa-content($fa-var-chess-rook-alt); }\r\n.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }\r\n.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }\r\n.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }\r\n.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }\r\n.#{$fa-css-prefix}-chevron-double-down:before { content: fa-content($fa-var-chevron-double-down); }\r\n.#{$fa-css-prefix}-chevron-double-left:before { content: fa-content($fa-var-chevron-double-left); }\r\n.#{$fa-css-prefix}-chevron-double-right:before { content: fa-content($fa-var-chevron-double-right); }\r\n.#{$fa-css-prefix}-chevron-double-up:before { content: fa-content($fa-var-chevron-double-up); }\r\n.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }\r\n.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }\r\n.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }\r\n.#{$fa-css-prefix}-chevron-square-down:before { content: fa-content($fa-var-chevron-square-down); }\r\n.#{$fa-css-prefix}-chevron-square-left:before { content: fa-content($fa-var-chevron-square-left); }\r\n.#{$fa-css-prefix}-chevron-square-right:before { content: fa-content($fa-var-chevron-square-right); }\r\n.#{$fa-css-prefix}-chevron-square-up:before { content: fa-content($fa-var-chevron-square-up); }\r\n.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }\r\n.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }\r\n.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }\r\n.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }\r\n.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }\r\n.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }\r\n.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }\r\n.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }\r\n.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }\r\n.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }\r\n.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }\r\n.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }\r\n.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }\r\n.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download); }\r\n.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }\r\n.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload); }\r\n.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }\r\n.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }\r\n.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }\r\n.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }\r\n.#{$fa-css-prefix}-club:before { content: fa-content($fa-var-club); }\r\n.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }\r\n.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }\r\n.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }\r\n.#{$fa-css-prefix}-code-commit:before { content: fa-content($fa-var-code-commit); }\r\n.#{$fa-css-prefix}-code-merge:before { content: fa-content($fa-var-code-merge); }\r\n.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }\r\n.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }\r\n.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }\r\n.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }\r\n.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }\r\n.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }\r\n.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }\r\n.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }\r\n.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }\r\n.#{$fa-css-prefix}-comment-alt-check:before { content: fa-content($fa-var-comment-alt-check); }\r\n.#{$fa-css-prefix}-comment-alt-dots:before { content: fa-content($fa-var-comment-alt-dots); }\r\n.#{$fa-css-prefix}-comment-alt-edit:before { content: fa-content($fa-var-comment-alt-edit); }\r\n.#{$fa-css-prefix}-comment-alt-exclamation:before { content: fa-content($fa-var-comment-alt-exclamation); }\r\n.#{$fa-css-prefix}-comment-alt-lines:before { content: fa-content($fa-var-comment-alt-lines); }\r\n.#{$fa-css-prefix}-comment-alt-minus:before { content: fa-content($fa-var-comment-alt-minus); }\r\n.#{$fa-css-prefix}-comment-alt-plus:before { content: fa-content($fa-var-comment-alt-plus); }\r\n.#{$fa-css-prefix}-comment-alt-slash:before { content: fa-content($fa-var-comment-alt-slash); }\r\n.#{$fa-css-prefix}-comment-alt-smile:before { content: fa-content($fa-var-comment-alt-smile); }\r\n.#{$fa-css-prefix}-comment-alt-times:before { content: fa-content($fa-var-comment-alt-times); }\r\n.#{$fa-css-prefix}-comment-check:before { content: fa-content($fa-var-comment-check); }\r\n.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }\r\n.#{$fa-css-prefix}-comment-edit:before { content: fa-content($fa-var-comment-edit); }\r\n.#{$fa-css-prefix}-comment-exclamation:before { content: fa-content($fa-var-comment-exclamation); }\r\n.#{$fa-css-prefix}-comment-lines:before { content: fa-content($fa-var-comment-lines); }\r\n.#{$fa-css-prefix}-comment-minus:before { content: fa-content($fa-var-comment-minus); }\r\n.#{$fa-css-prefix}-comment-plus:before { content: fa-content($fa-var-comment-plus); }\r\n.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }\r\n.#{$fa-css-prefix}-comment-smile:before { content: fa-content($fa-var-comment-smile); }\r\n.#{$fa-css-prefix}-comment-times:before { content: fa-content($fa-var-comment-times); }\r\n.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }\r\n.#{$fa-css-prefix}-comments-alt:before { content: fa-content($fa-var-comments-alt); }\r\n.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }\r\n.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }\r\n.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }\r\n.#{$fa-css-prefix}-compress-alt:before { content: fa-content($fa-var-compress-alt); }\r\n.#{$fa-css-prefix}-compress-wide:before { content: fa-content($fa-var-compress-wide); }\r\n.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }\r\n.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }\r\n.#{$fa-css-prefix}-container-storage:before { content: fa-content($fa-var-container-storage); }\r\n.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }\r\n.#{$fa-css-prefix}-conveyor-belt:before { content: fa-content($fa-var-conveyor-belt); }\r\n.#{$fa-css-prefix}-conveyor-belt-alt:before { content: fa-content($fa-var-conveyor-belt-alt); }\r\n.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }\r\n.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }\r\n.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }\r\n.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }\r\n.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }\r\n.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }\r\n.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }\r\n.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }\r\n.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }\r\n.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }\r\n.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }\r\n.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }\r\n.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }\r\n.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }\r\n.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }\r\n.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }\r\n.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }\r\n.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }\r\n.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }\r\n.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }\r\n.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }\r\n.#{$fa-css-prefix}-credit-card-blank:before { content: fa-content($fa-var-credit-card-blank); }\r\n.#{$fa-css-prefix}-credit-card-front:before { content: fa-content($fa-var-credit-card-front); }\r\n.#{$fa-css-prefix}-cricket:before { content: fa-content($fa-var-cricket); }\r\n.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }\r\n.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }\r\n.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }\r\n.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }\r\n.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }\r\n.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }\r\n.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }\r\n.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }\r\n.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }\r\n.#{$fa-css-prefix}-curling:before { content: fa-content($fa-var-curling); }\r\n.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }\r\n.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }\r\n.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }\r\n.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }\r\n.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }\r\n.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }\r\n.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }\r\n.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }\r\n.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }\r\n.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }\r\n.#{$fa-css-prefix}-desktop-alt:before { content: fa-content($fa-var-desktop-alt); }\r\n.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }\r\n.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }\r\n.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-diamond); }\r\n.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }\r\n.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }\r\n.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }\r\n.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }\r\n.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }\r\n.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }\r\n.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }\r\n.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }\r\n.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }\r\n.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }\r\n.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }\r\n.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }\r\n.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }\r\n.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }\r\n.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }\r\n.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }\r\n.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }\r\n.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }\r\n.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }\r\n.#{$fa-css-prefix}-dolly-empty:before { content: fa-content($fa-var-dolly-empty); }\r\n.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }\r\n.#{$fa-css-prefix}-dolly-flatbed-alt:before { content: fa-content($fa-var-dolly-flatbed-alt); }\r\n.#{$fa-css-prefix}-dolly-flatbed-empty:before { content: fa-content($fa-var-dolly-flatbed-empty); }\r\n.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }\r\n.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }\r\n.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }\r\n.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }\r\n.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }\r\n.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }\r\n.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }\r\n.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }\r\n.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }\r\n.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }\r\n.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }\r\n.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }\r\n.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }\r\n.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }\r\n.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }\r\n.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }\r\n.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }\r\n.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }\r\n.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }\r\n.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }\r\n.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }\r\n.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }\r\n.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }\r\n.#{$fa-css-prefix}-ellipsis-h-alt:before { content: fa-content($fa-var-ellipsis-h-alt); }\r\n.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }\r\n.#{$fa-css-prefix}-ellipsis-v-alt:before { content: fa-content($fa-var-ellipsis-v-alt); }\r\n.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }\r\n.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }\r\n.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }\r\n.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }\r\n.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }\r\n.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }\r\n.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }\r\n.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }\r\n.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }\r\n.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }\r\n.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }\r\n.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }\r\n.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange); }\r\n.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }\r\n.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }\r\n.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }\r\n.#{$fa-css-prefix}-exclamation-square:before { content: fa-content($fa-var-exclamation-square); }\r\n.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }\r\n.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }\r\n.#{$fa-css-prefix}-expand-alt:before { content: fa-content($fa-var-expand-alt); }\r\n.#{$fa-css-prefix}-expand-arrows:before { content: fa-content($fa-var-expand-arrows); }\r\n.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }\r\n.#{$fa-css-prefix}-expand-wide:before { content: fa-content($fa-var-expand-wide); }\r\n.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }\r\n.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link); }\r\n.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }\r\n.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square); }\r\n.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }\r\n.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }\r\n.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }\r\n.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }\r\n.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }\r\n.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }\r\n.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }\r\n.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }\r\n.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }\r\n.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }\r\n.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }\r\n.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }\r\n.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }\r\n.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }\r\n.#{$fa-css-prefix}-field-hockey:before { content: fa-content($fa-var-field-hockey); }\r\n.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }\r\n.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }\r\n.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }\r\n.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }\r\n.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }\r\n.#{$fa-css-prefix}-file-check:before { content: fa-content($fa-var-file-check); }\r\n.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }\r\n.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }\r\n.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }\r\n.#{$fa-css-prefix}-file-edit:before { content: fa-content($fa-var-file-edit); }\r\n.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }\r\n.#{$fa-css-prefix}-file-exclamation:before { content: fa-content($fa-var-file-exclamation); }\r\n.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }\r\n.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }\r\n.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }\r\n.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }\r\n.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }\r\n.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }\r\n.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }\r\n.#{$fa-css-prefix}-file-minus:before { content: fa-content($fa-var-file-minus); }\r\n.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }\r\n.#{$fa-css-prefix}-file-plus:before { content: fa-content($fa-var-file-plus); }\r\n.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }\r\n.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }\r\n.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }\r\n.#{$fa-css-prefix}-file-times:before { content: fa-content($fa-var-file-times); }\r\n.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }\r\n.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }\r\n.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }\r\n.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }\r\n.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }\r\n.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }\r\n.#{$fa-css-prefix}-film-alt:before { content: fa-content($fa-var-film-alt); }\r\n.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }\r\n.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }\r\n.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }\r\n.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }\r\n.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }\r\n.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }\r\n.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }\r\n.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }\r\n.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }\r\n.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }\r\n.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }\r\n.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }\r\n.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }\r\n.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }\r\n.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }\r\n.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }\r\n.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }\r\n.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }\r\n.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }\r\n.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }\r\n.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }\r\n.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }\r\n.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }\r\n.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }\r\n.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }\r\n.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }\r\n.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }\r\n.#{$fa-css-prefix}-football-helmet:before { content: fa-content($fa-var-football-helmet); }\r\n.#{$fa-css-prefix}-forklift:before { content: fa-content($fa-var-forklift); }\r\n.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }\r\n.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }\r\n.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }\r\n.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }\r\n.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }\r\n.#{$fa-css-prefix}-fragile:before { content: fa-content($fa-var-fragile); }\r\n.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }\r\n.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }\r\n.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }\r\n.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }\r\n.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }\r\n.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }\r\n.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }\r\n.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }\r\n.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }\r\n.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }\r\n.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }\r\n.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }\r\n.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }\r\n.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }\r\n.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }\r\n.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }\r\n.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }\r\n.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }\r\n.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }\r\n.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }\r\n.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }\r\n.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }\r\n.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }\r\n.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }\r\n.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }\r\n.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }\r\n.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }\r\n.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }\r\n.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }\r\n.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }\r\n.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }\r\n.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }\r\n.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }\r\n.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }\r\n.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }\r\n.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }\r\n.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }\r\n.#{$fa-css-prefix}-golf-club:before { content: fa-content($fa-var-golf-club); }\r\n.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }\r\n.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }\r\n.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }\r\n.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }\r\n.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }\r\n.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }\r\n.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }\r\n.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }\r\n.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }\r\n.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }\r\n.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }\r\n.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }\r\n.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }\r\n.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }\r\n.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }\r\n.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }\r\n.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }\r\n.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }\r\n.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }\r\n.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }\r\n.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }\r\n.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }\r\n.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }\r\n.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }\r\n.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }\r\n.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }\r\n.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }\r\n.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }\r\n.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }\r\n.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }\r\n.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }\r\n.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }\r\n.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }\r\n.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }\r\n.#{$fa-css-prefix}-h1:before { content: fa-content($fa-var-h1); }\r\n.#{$fa-css-prefix}-h2:before { content: fa-content($fa-var-h2); }\r\n.#{$fa-css-prefix}-h3:before { content: fa-content($fa-var-h3); }\r\n.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }\r\n.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }\r\n.#{$fa-css-prefix}-hand-heart:before { content: fa-content($fa-var-hand-heart); }\r\n.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }\r\n.#{$fa-css-prefix}-hand-holding-box:before { content: fa-content($fa-var-hand-holding-box); }\r\n.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }\r\n.#{$fa-css-prefix}-hand-holding-seedling:before { content: fa-content($fa-var-hand-holding-seedling); }\r\n.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }\r\n.#{$fa-css-prefix}-hand-holding-water:before { content: fa-content($fa-var-hand-holding-water); }\r\n.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }\r\n.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }\r\n.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }\r\n.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }\r\n.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }\r\n.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }\r\n.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }\r\n.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }\r\n.#{$fa-css-prefix}-hand-receiving:before { content: fa-content($fa-var-hand-receiving); }\r\n.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }\r\n.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }\r\n.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }\r\n.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }\r\n.#{$fa-css-prefix}-hands-heart:before { content: fa-content($fa-var-hands-heart); }\r\n.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }\r\n.#{$fa-css-prefix}-hands-usd:before { content: fa-content($fa-var-hands-usd); }\r\n.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }\r\n.#{$fa-css-prefix}-handshake-alt:before { content: fa-content($fa-var-handshake-alt); }\r\n.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }\r\n.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }\r\n.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }\r\n.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }\r\n.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }\r\n.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }\r\n.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }\r\n.#{$fa-css-prefix}-heart-circle:before { content: fa-content($fa-var-heart-circle); }\r\n.#{$fa-css-prefix}-heart-square:before { content: fa-content($fa-var-heart-square); }\r\n.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }\r\n.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }\r\n.#{$fa-css-prefix}-hexagon:before { content: fa-content($fa-var-hexagon); }\r\n.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }\r\n.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }\r\n.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }\r\n.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }\r\n.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }\r\n.#{$fa-css-prefix}-hockey-sticks:before { content: fa-content($fa-var-hockey-sticks); }\r\n.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }\r\n.#{$fa-css-prefix}-home-heart:before { content: fa-content($fa-var-home-heart); }\r\n.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }\r\n.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }\r\n.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }\r\n.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }\r\n.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }\r\n.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }\r\n.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }\r\n.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }\r\n.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }\r\n.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }\r\n.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }\r\n.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }\r\n.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }\r\n.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }\r\n.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }\r\n.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }\r\n.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }\r\n.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }\r\n.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }\r\n.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }\r\n.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }\r\n.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }\r\n.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }\r\n.#{$fa-css-prefix}-inbox-in:before { content: fa-content($fa-var-inbox-in); }\r\n.#{$fa-css-prefix}-inbox-out:before { content: fa-content($fa-var-inbox-out); }\r\n.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }\r\n.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }\r\n.#{$fa-css-prefix}-industry-alt:before { content: fa-content($fa-var-industry-alt); }\r\n.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }\r\n.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }\r\n.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }\r\n.#{$fa-css-prefix}-info-square:before { content: fa-content($fa-var-info-square); }\r\n.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }\r\n.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }\r\n.#{$fa-css-prefix}-inventory:before { content: fa-content($fa-var-inventory); }\r\n.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }\r\n.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }\r\n.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }\r\n.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }\r\n.#{$fa-css-prefix}-jack-o-lantern:before { content: fa-content($fa-var-jack-o-lantern); }\r\n.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }\r\n.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }\r\n.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }\r\n.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }\r\n.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }\r\n.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }\r\n.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }\r\n.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }\r\n.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }\r\n.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }\r\n.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }\r\n.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }\r\n.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }\r\n.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }\r\n.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }\r\n.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }\r\n.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }\r\n.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }\r\n.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }\r\n.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }\r\n.#{$fa-css-prefix}-lamp:before { content: fa-content($fa-var-lamp); }\r\n.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }\r\n.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }\r\n.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }\r\n.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }\r\n.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }\r\n.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }\r\n.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }\r\n.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }\r\n.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }\r\n.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }\r\n.#{$fa-css-prefix}-leaf-heart:before { content: fa-content($fa-var-leaf-heart); }\r\n.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }\r\n.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }\r\n.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }\r\n.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }\r\n.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }\r\n.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down); }\r\n.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }\r\n.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up); }\r\n.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }\r\n.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }\r\n.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }\r\n.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }\r\n.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }\r\n.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }\r\n.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }\r\n.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }\r\n.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }\r\n.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }\r\n.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }\r\n.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }\r\n.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }\r\n.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }\r\n.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }\r\n.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }\r\n.#{$fa-css-prefix}-lock-alt:before { content: fa-content($fa-var-lock-alt); }\r\n.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }\r\n.#{$fa-css-prefix}-lock-open-alt:before { content: fa-content($fa-var-lock-open-alt); }\r\n.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }\r\n.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }\r\n.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }\r\n.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }\r\n.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-down); }\r\n.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-left); }\r\n.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-right); }\r\n.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-up); }\r\n.#{$fa-css-prefix}-loveseat:before { content: fa-content($fa-var-loveseat); }\r\n.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }\r\n.#{$fa-css-prefix}-luchador:before { content: fa-content($fa-var-luchador); }\r\n.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }\r\n.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }\r\n.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }\r\n.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }\r\n.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }\r\n.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }\r\n.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }\r\n.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }\r\n.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }\r\n.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }\r\n.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }\r\n.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }\r\n.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }\r\n.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }\r\n.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }\r\n.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }\r\n.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }\r\n.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }\r\n.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }\r\n.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }\r\n.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }\r\n.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }\r\n.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }\r\n.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }\r\n.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }\r\n.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }\r\n.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }\r\n.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }\r\n.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }\r\n.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }\r\n.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }\r\n.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }\r\n.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }\r\n.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }\r\n.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }\r\n.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }\r\n.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }\r\n.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }\r\n.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }\r\n.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }\r\n.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }\r\n.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }\r\n.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }\r\n.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }\r\n.#{$fa-css-prefix}-minus-hexagon:before { content: fa-content($fa-var-minus-hexagon); }\r\n.#{$fa-css-prefix}-minus-octagon:before { content: fa-content($fa-var-minus-octagon); }\r\n.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }\r\n.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }\r\n.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }\r\n.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }\r\n.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }\r\n.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }\r\n.#{$fa-css-prefix}-mobile-android:before { content: fa-content($fa-var-mobile-android); }\r\n.#{$fa-css-prefix}-mobile-android-alt:before { content: fa-content($fa-var-mobile-android-alt); }\r\n.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }\r\n.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }\r\n.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }\r\n.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }\r\n.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }\r\n.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }\r\n.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }\r\n.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }\r\n.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }\r\n.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }\r\n.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }\r\n.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }\r\n.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }\r\n.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }\r\n.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }\r\n.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }\r\n.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }\r\n.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }\r\n.#{$fa-css-prefix}-nintendo-switch:before { content: fa-content($fa-var-nintendo-switch); }\r\n.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }\r\n.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }\r\n.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }\r\n.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }\r\n.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }\r\n.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }\r\n.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }\r\n.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }\r\n.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }\r\n.#{$fa-css-prefix}-octagon:before { content: fa-content($fa-var-octagon); }\r\n.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }\r\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }\r\n.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }\r\n.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }\r\n.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }\r\n.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }\r\n.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }\r\n.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }\r\n.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }\r\n.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }\r\n.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }\r\n.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }\r\n.#{$fa-css-prefix}-paint-brush-alt:before { content: fa-content($fa-var-paint-brush-alt); }\r\n.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }\r\n.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }\r\n.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }\r\n.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }\r\n.#{$fa-css-prefix}-pallet-alt:before { content: fa-content($fa-var-pallet-alt); }\r\n.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }\r\n.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }\r\n.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }\r\n.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }\r\n.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }\r\n.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }\r\n.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }\r\n.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }\r\n.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }\r\n.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }\r\n.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }\r\n.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }\r\n.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }\r\n.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }\r\n.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }\r\n.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }\r\n.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }\r\n.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil); }\r\n.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }\r\n.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }\r\n.#{$fa-css-prefix}-pennant:before { content: fa-content($fa-var-pennant); }\r\n.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }\r\n.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }\r\n.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }\r\n.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }\r\n.#{$fa-css-prefix}-person-carry:before { content: fa-content($fa-var-person-carry); }\r\n.#{$fa-css-prefix}-person-dolly:before { content: fa-content($fa-var-person-dolly); }\r\n.#{$fa-css-prefix}-person-dolly-empty:before { content: fa-content($fa-var-person-dolly-empty); }\r\n.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }\r\n.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }\r\n.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }\r\n.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }\r\n.#{$fa-css-prefix}-phone-plus:before { content: fa-content($fa-var-phone-plus); }\r\n.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }\r\n.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }\r\n.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }\r\n.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }\r\n.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }\r\n.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }\r\n.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }\r\n.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }\r\n.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }\r\n.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }\r\n.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }\r\n.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }\r\n.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }\r\n.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }\r\n.#{$fa-css-prefix}-plane-alt:before { content: fa-content($fa-var-plane-alt); }\r\n.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }\r\n.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }\r\n.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }\r\n.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }\r\n.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }\r\n.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }\r\n.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }\r\n.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }\r\n.#{$fa-css-prefix}-plus-hexagon:before { content: fa-content($fa-var-plus-hexagon); }\r\n.#{$fa-css-prefix}-plus-octagon:before { content: fa-content($fa-var-plus-octagon); }\r\n.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }\r\n.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }\r\n.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }\r\n.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }\r\n.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }\r\n.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }\r\n.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }\r\n.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }\r\n.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }\r\n.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }\r\n.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }\r\n.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }\r\n.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }\r\n.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }\r\n.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }\r\n.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }\r\n.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }\r\n.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }\r\n.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }\r\n.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }\r\n.#{$fa-css-prefix}-question-square:before { content: fa-content($fa-var-question-square); }\r\n.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }\r\n.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }\r\n.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }\r\n.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }\r\n.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }\r\n.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }\r\n.#{$fa-css-prefix}-racquet:before { content: fa-content($fa-var-racquet); }\r\n.#{$fa-css-prefix}-ramp-loading:before { content: fa-content($fa-var-ramp-loading); }\r\n.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }\r\n.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }\r\n.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }\r\n.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }\r\n.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }\r\n.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }\r\n.#{$fa-css-prefix}-rectangle-landscape:before { content: fa-content($fa-var-rectangle-landscape); }\r\n.#{$fa-css-prefix}-rectangle-portrait:before { content: fa-content($fa-var-rectangle-portrait); }\r\n.#{$fa-css-prefix}-rectangle-wide:before { content: fa-content($fa-var-rectangle-wide); }\r\n.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }\r\n.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }\r\n.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }\r\n.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }\r\n.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }\r\n.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }\r\n.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }\r\n.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }\r\n.#{$fa-css-prefix}-rendact:before { content: fa-content($fa-var-rendact); }\r\n.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }\r\n.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-repeat); }\r\n.#{$fa-css-prefix}-repeat-1:before { content: fa-content($fa-var-repeat-1); }\r\n.#{$fa-css-prefix}-repeat-1-alt:before { content: fa-content($fa-var-repeat-1-alt); }\r\n.#{$fa-css-prefix}-repeat-alt:before { content: fa-content($fa-var-repeat-alt); }\r\n.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }\r\n.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }\r\n.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }\r\n.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }\r\n.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }\r\n.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }\r\n.#{$fa-css-prefix}-retweet-alt:before { content: fa-content($fa-var-retweet-alt); }\r\n.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }\r\n.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }\r\n.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }\r\n.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }\r\n.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }\r\n.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }\r\n.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }\r\n.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }\r\n.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }\r\n.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }\r\n.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }\r\n.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }\r\n.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }\r\n.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }\r\n.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }\r\n.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }\r\n.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }\r\n.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }\r\n.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }\r\n.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }\r\n.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }\r\n.#{$fa-css-prefix}-scanner:before { content: fa-content($fa-var-scanner); }\r\n.#{$fa-css-prefix}-scanner-keyboard:before { content: fa-content($fa-var-scanner-keyboard); }\r\n.#{$fa-css-prefix}-scanner-touchscreen:before { content: fa-content($fa-var-scanner-touchscreen); }\r\n.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }\r\n.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }\r\n.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }\r\n.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }\r\n.#{$fa-css-prefix}-scrubber:before { content: fa-content($fa-var-scrubber); }\r\n.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }\r\n.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }\r\n.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }\r\n.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }\r\n.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }\r\n.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }\r\n.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }\r\n.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }\r\n.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }\r\n.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }\r\n.#{$fa-css-prefix}-share-all:before { content: fa-content($fa-var-share-all); }\r\n.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }\r\n.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }\r\n.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }\r\n.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }\r\n.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield); }\r\n.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }\r\n.#{$fa-css-prefix}-shield-check:before { content: fa-content($fa-var-shield-check); }\r\n.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }\r\n.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }\r\n.#{$fa-css-prefix}-shipping-timed:before { content: fa-content($fa-var-shipping-timed); }\r\n.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }\r\n.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }\r\n.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }\r\n.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }\r\n.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }\r\n.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }\r\n.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }\r\n.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }\r\n.#{$fa-css-prefix}-shuttlecock:before { content: fa-content($fa-var-shuttlecock); }\r\n.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }\r\n.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in); }\r\n.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }\r\n.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }\r\n.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out); }\r\n.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }\r\n.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }\r\n.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }\r\n.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }\r\n.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }\r\n.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }\r\n.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }\r\n.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }\r\n.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }\r\n.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }\r\n.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }\r\n.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }\r\n.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }\r\n.#{$fa-css-prefix}-sliders-h-square:before { content: fa-content($fa-var-sliders-h-square); }\r\n.#{$fa-css-prefix}-sliders-v:before { content: fa-content($fa-var-sliders-v); }\r\n.#{$fa-css-prefix}-sliders-v-square:before { content: fa-content($fa-var-sliders-v-square); }\r\n.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }\r\n.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }\r\n.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }\r\n.#{$fa-css-prefix}-smile-plus:before { content: fa-content($fa-var-smile-plus); }\r\n.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }\r\n.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }\r\n.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }\r\n.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }\r\n.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }\r\n.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }\r\n.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }\r\n.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }\r\n.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }\r\n.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }\r\n.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }\r\n.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }\r\n.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }\r\n.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }\r\n.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }\r\n.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }\r\n.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }\r\n.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }\r\n.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }\r\n.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }\r\n.#{$fa-css-prefix}-spade:before { content: fa-content($fa-var-spade); }\r\n.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }\r\n.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }\r\n.#{$fa-css-prefix}-spinner-third:before { content: fa-content($fa-var-spinner-third); }\r\n.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }\r\n.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }\r\n.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }\r\n.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }\r\n.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }\r\n.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }\r\n.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }\r\n.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }\r\n.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }\r\n.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }\r\n.#{$fa-css-prefix}-star-exclamation:before { content: fa-content($fa-var-star-exclamation); }\r\n.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }\r\n.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }\r\n.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }\r\n.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }\r\n.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }\r\n.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }\r\n.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }\r\n.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }\r\n.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }\r\n.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }\r\n.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }\r\n.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }\r\n.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }\r\n.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }\r\n.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }\r\n.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }\r\n.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }\r\n.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }\r\n.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }\r\n.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }\r\n.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }\r\n.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }\r\n.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }\r\n.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }\r\n.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }\r\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }\r\n.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }\r\n.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }\r\n.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }\r\n.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }\r\n.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }\r\n.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }\r\n.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }\r\n.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }\r\n.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }\r\n.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }\r\n.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }\r\n.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }\r\n.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }\r\n.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }\r\n.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }\r\n.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }\r\n.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }\r\n.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }\r\n.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }\r\n.#{$fa-css-prefix}-tablet-android:before { content: fa-content($fa-var-tablet-android); }\r\n.#{$fa-css-prefix}-tablet-android-alt:before { content: fa-content($fa-var-tablet-android-alt); }\r\n.#{$fa-css-prefix}-tablet-rugged:before { content: fa-content($fa-var-tablet-rugged); }\r\n.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }\r\n.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer); }\r\n.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }\r\n.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }\r\n.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }\r\n.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }\r\n.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }\r\n.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }\r\n.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }\r\n.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }\r\n.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }\r\n.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }\r\n.#{$fa-css-prefix}-tennis-ball:before { content: fa-content($fa-var-tennis-ball); }\r\n.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }\r\n.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }\r\n.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }\r\n.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }\r\n.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }\r\n.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }\r\n.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }\r\n.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }\r\n.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }\r\n.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }\r\n.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }\r\n.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }\r\n.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }\r\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }\r\n.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }\r\n.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }\r\n.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }\r\n.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket); }\r\n.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }\r\n.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }\r\n.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }\r\n.#{$fa-css-prefix}-times-hexagon:before { content: fa-content($fa-var-times-hexagon); }\r\n.#{$fa-css-prefix}-times-octagon:before { content: fa-content($fa-var-times-octagon); }\r\n.#{$fa-css-prefix}-times-square:before { content: fa-content($fa-var-times-square); }\r\n.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }\r\n.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }\r\n.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }\r\n.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }\r\n.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }\r\n.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }\r\n.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }\r\n.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }\r\n.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }\r\n.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }\r\n.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }\r\n.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }\r\n.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }\r\n.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }\r\n.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }\r\n.#{$fa-css-prefix}-tree-alt:before { content: fa-content($fa-var-tree-alt); }\r\n.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }\r\n.#{$fa-css-prefix}-triangle:before { content: fa-content($fa-var-triangle); }\r\n.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); }\r\n.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }\r\n.#{$fa-css-prefix}-trophy-alt:before { content: fa-content($fa-var-trophy-alt); }\r\n.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }\r\n.#{$fa-css-prefix}-truck-container:before { content: fa-content($fa-var-truck-container); }\r\n.#{$fa-css-prefix}-truck-couch:before { content: fa-content($fa-var-truck-couch); }\r\n.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }\r\n.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }\r\n.#{$fa-css-prefix}-truck-ramp:before { content: fa-content($fa-var-truck-ramp); }\r\n.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }\r\n.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }\r\n.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }\r\n.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }\r\n.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }\r\n.#{$fa-css-prefix}-tv-retro:before { content: fa-content($fa-var-tv-retro); }\r\n.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }\r\n.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }\r\n.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }\r\n.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }\r\n.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }\r\n.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }\r\n.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }\r\n.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }\r\n.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }\r\n.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }\r\n.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }\r\n.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }\r\n.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }\r\n.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }\r\n.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }\r\n.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }\r\n.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }\r\n.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }\r\n.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }\r\n.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }\r\n.#{$fa-css-prefix}-usd-circle:before { content: fa-content($fa-var-usd-circle); }\r\n.#{$fa-css-prefix}-usd-square:before { content: fa-content($fa-var-usd-square); }\r\n.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }\r\n.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }\r\n.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }\r\n.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }\r\n.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }\r\n.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }\r\n.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }\r\n.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }\r\n.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }\r\n.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }\r\n.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }\r\n.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }\r\n.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }\r\n.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }\r\n.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }\r\n.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }\r\n.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }\r\n.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }\r\n.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }\r\n.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }\r\n.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }\r\n.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }\r\n.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }\r\n.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }\r\n.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }\r\n.#{$fa-css-prefix}-utensil-fork:before { content: fa-content($fa-var-utensil-fork); }\r\n.#{$fa-css-prefix}-utensil-knife:before { content: fa-content($fa-var-utensil-knife); }\r\n.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }\r\n.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }\r\n.#{$fa-css-prefix}-utensils-alt:before { content: fa-content($fa-var-utensils-alt); }\r\n.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }\r\n.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }\r\n.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }\r\n.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }\r\n.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }\r\n.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }\r\n.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }\r\n.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }\r\n.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }\r\n.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }\r\n.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }\r\n.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }\r\n.#{$fa-css-prefix}-video-plus:before { content: fa-content($fa-var-video-plus); }\r\n.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }\r\n.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }\r\n.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }\r\n.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }\r\n.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }\r\n.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }\r\n.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }\r\n.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }\r\n.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }\r\n.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }\r\n.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }\r\n.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }\r\n.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }\r\n.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }\r\n.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }\r\n.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }\r\n.#{$fa-css-prefix}-warehouse-alt:before { content: fa-content($fa-var-warehouse-alt); }\r\n.#{$fa-css-prefix}-watch:before { content: fa-content($fa-var-watch); }\r\n.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }\r\n.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }\r\n.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }\r\n.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }\r\n.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }\r\n.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }\r\n.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }\r\n.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }\r\n.#{$fa-css-prefix}-whistle:before { content: fa-content($fa-var-whistle); }\r\n.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }\r\n.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }\r\n.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }\r\n.#{$fa-css-prefix}-window:before { content: fa-content($fa-var-window); }\r\n.#{$fa-css-prefix}-window-alt:before { content: fa-content($fa-var-window-alt); }\r\n.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }\r\n.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }\r\n.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }\r\n.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }\r\n.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }\r\n.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }\r\n.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }\r\n.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }\r\n.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }\r\n.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }\r\n.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }\r\n.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }\r\n.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }\r\n.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }\r\n.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }\r\n.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }\r\n.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }\r\n.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }\r\n.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }\r\n.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }\r\n.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }\r\n.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }\r\n.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }\r\n.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }\r\n.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }\r\n.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }\r\n.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }\r\n.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }\r\n.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }\r\n","// Screen Readers\r\n// -------------------------\r\n\r\n.sr-only { @include sr-only; }\r\n.sr-only-focusable { @include sr-only-focusable; }\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 400;\r\n src: url('#{$fa-font-path}/fa-regular-400.eot');\r\n src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');\r\n}\r\n\r\n.far {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 400;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 300;\r\n src: url('#{$fa-font-path}/fa-light-300.eot');\r\n src: url('#{$fa-font-path}/fa-light-300.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-light-300.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-light-300.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-light-300.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-light-300.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fal {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 300;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 900;\r\n src: url('#{$fa-font-path}/fa-solid-900.eot');\r\n src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fa,\r\n.fas {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 900;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Brands';\r\n font-style: normal;\r\n font-weight: normal;\r\n src: url('#{$fa-font-path}/fa-brands-400.eot');\r\n src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fab {\r\n font-family: 'Font Awesome 5 Brands';\r\n}\r\n","/*!\n * Copyright (c) 2017. tom@axisj.com\n * - github.com/thomasjang\n * - www.axisj.com\n */\n\n$hack_ie67: '.';\n\n@mixin placeholder($color: $input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: $color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder {\n color: $color;\n }\n // Internet Explorer 10+\n &::-webkit-input-placeholder {\n color: $color;\n }\n // Safari and Chrome\n}\n\n@mixin prefixer($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n } @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n } @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n } @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n } @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n } @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin box-shadow($shadows...) {\n @include prefixer(box-shadow, $shadows, spec);\n}\n\n@mixin background-size($lengths...) {\n @include prefixer(background-size, $lengths, spec);\n}\n\n@mixin ax-border-radius($border-radius, $direction:\"\", $adjust:0) {\n @if (type_of($border-radius) == \"list\") {\n @if ($direction == \"\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"top\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n } @else if ($direction == \"bottom\") {\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"left\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"right\") {\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n }\n } @else {\n @if ($direction == \"\") {\n border-radius: $border-radius+$adjust;\n } @else if ($direction == \"top\") {\n border-top-left-radius: $border-radius+$adjust;\n border-top-right-radius: $border-radius+$adjust;\n } @else if ($direction == \"bottom\") {\n border-bottom-left-radius: $border-radius+$adjust;\n border-bottom-right-radius: $border-radius+$adjust;\n } @else if ($direction == \"left\") {\n border-top-left-radius: $border-radius+$adjust;\n border-bottom-left-radius: $border-radius+$adjust;\n } @else if ($direction == \"right\") {\n border-top-right-radius: $border-radius+$adjust;\n border-bottom-right-radius: $border-radius+$adjust;\n }\n }\n}\n\n@mixin ax-background($pos, $g1: null, $g2: null) {\n\n $pos-type: type-of(nth($pos, 1));\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $g2: $g1;\n $g1: $pos;\n $pos: to top;\n } @else if ($g1 == null) {\n $g1: $pos;\n $pos: to top;\n }\n\n // @debug($g1);\n @if (length($g1) == 2) {\n $g2: nth($g1, 2);\n $g1: nth($g1, 1);\n @include linear-gradient($pos, $g1, $g2);\n } @else if (length($g1) == 3) {\n @include linear-gradient(nth($g1, 1), nth($g1, 2), nth($g1, 3));\n } @else {\n @if (type_of(nth($g2, 1)) == color) {\n $g2: nth($g2, 1);\n }\n @include linear-gradient($pos, $g1, $g2);\n }\n}\n","//==\n$ax5grid-border: 1px solid #ccc !default;\n$ax5grid-bg: #fff !default;\n$ax5grid-font-size: 12px !default;\n$ax5grid-column-border: 1px solid #ccc !default;\n\n//== header\n$ax5grid-header-column-color: #222 !default;\n$ax5grid-header-column-border: 1px solid #ccc !default;\n$ax5grid-header-column-box-shadow: inset 1px 1px 0px 0px #fff !default;\n$ax5grid-header-column-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-header-column-hover-bg-colors: (#eee, #eee) !default;\n$ax5grid-header-column-resizer-color: #ff3300 !default;\n$ax5grid-header-column-resizer-size: 4px !default;\n$ax5grid-header-sorter-size: 9px !default;\n$ax5grid-header-sorter-color: #000 !default;\n\n//== aside\n$ax5grid-aside-border: 1px solid darken(#ccc, 0%) !default;\n$ax5grid-aside-bg: #f2f2f2 !default;\n$ax5grid-aside-column-shadow: inset 1px 1px 0px 0px #fff !default;\n\n$ax5grid-frozen-line-border: 1px solid darken(#ccc, 10%) !default;\n\n//== footsum\n$ax5grid-footsum-bg: #ffe7e2 !default;\n$ax5grid-footsum-line-border: 1px solid darken(#ccc, 10%) !default;\n\n//== page\n$ax5grid-page-border: 1px solid #ccc !default;\n$ax5grid-page-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-page-navigation-padding: 5px !default;\n$ax5grid-page-navigation-font-size: 12px !default;\n$ax5grid-page-navigation-btn-min-width: 20px !default;\n$ax5grid-page-navigation-btn-border: 0px none !default;\n$ax5grid-page-navigation-btn-border-radius: 5px !default;\n$ax5grid-page-navigation-btn-bg: transparent !default;\n$ax5grid-page-navigation-btn-font-size: 11px !default;\n$ax5grid-page-navigation-btn-color: #222 !default;\n$ax5grid-page-navigation-btn-hover-bg: #888 !default;\n$ax5grid-page-navigation-btn-hover-color: #fff !default;\n\n$ax5grid-page-status-font-size: 12px !default;\n$ax5grid-page-status-padding: 10px !default;\n$ax5grid-page-status-color: #222 !default;\n\n//== scroll\n$ax5grid-scroll-track-border: 1px solid #ccc !default;\n$ax5grid-scroll-track-bg: #f3f3f3 !default;\n$ax5grid-scroll-corner-bg: #EAEDEF !default;\n\n$ax5grid-scroll-bar-border-radius: 10px !default;\n$ax5grid-scroll-bar-border: 0px solid #fff !default;\n$ax5grid-scroll-bar-bg: #ccc !default;\n$ax5grid-scroll-bar-hover-border: 0px solid #ccc !default;\n$ax5grid-scroll-bar-hover-bg: #bababa !default;\n\n//== body.row\n$ax5grid-row-bg-0: #f3f3f3 !default;\n$ax5grid-row-bg-1: #fff !default;\n$ax5grid-row-bg-2: #f3f3f3 !default;\n$ax5grid-row-bg-3: #fff !default;\n$ax5grid-row-hover-bg: lighten(#cce2f3, 5%) !default;\n$ax5grid-row-grouping-bg: #ffffe7 !default;\n$ax5grid-row-selected: lighten(#b1d7fe, 10%) !default;\n\n//== body.cell\n$ax5grid-cell-padding-row-selector: 5px !default;\n$ax5grid-cell-padding: 3px 5px !default;\n\n$ax5grid-cell-checkbox-border: 1px solid #ccc !default;\n$ax5grid-cell-checkbox-border-radius: 3px !default;\n$ax5grid-cell-checkbox-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-cell-disable-checkbox-bg-colors: (darken(nth($ax5grid-cell-checkbox-bg-colors, 2), 10%), darken(nth($ax5grid-cell-checkbox-bg-colors, 1), 10%)) !default;\n$ax5grid-cell-checkbox-arrow-color: $brand-primary !default;\n\n$ax5grid-cell-focused-box-shadow: inset 0px 0px 1px 1px #0581f2 !default;\n$ax5grid-cell-focused-bg: lighten(#b1d7fe, 10%) !default;\n$ax5grid-cell-focused-color: #000 !default;\n\n$ax5grid-cell-selected-border-color: #ccc !default;\n$ax5grid-cell-selected-bg: #b1d7fe !default;\n$ax5grid-cell-selected-color: #000 !default;\n\n//== resizer\n$ax5grid-resizer-color: #ff3300 !default;\n$ax5grid-resizer-size: 2px !default;\n\n\n// mixins\n@mixin gridBoxModal() {\n margin: 0;\n padding: 0;\n}\n\n@mixin gridColumn($container) {\n\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n padding: 0;\n font-size: $ax5grid-font-size;\n border: 0 none;\n\n &.hasBorder {\n border-right: $ax5grid-column-border;\n border-bottom: $ax5grid-column-border;\n }\n &.isLastColumn {\n\n }\n &.lineNumberColumn {\n\n }\n &.focused {\n box-shadow: $ax5grid-cell-focused-box-shadow;\n }\n\n @if ($container == \"header\") {\n cursor: pointer;\n box-shadow: $ax5grid-header-column-box-shadow;\n &:hover {\n @include ax-background(top, $ax5grid-header-column-hover-bg-colors);\n }\n &[data-ax5grid-column-row=\"null\"] {\n box-shadow: none;\n }\n }\n\n &[data-ax5grid-column-row=\"null\"] {\n border-right: 0 none;\n }\n\n &[data-ax5grid-column-selected] {\n background: $ax5grid-cell-selected-bg;\n border-color: $ax5grid-cell-selected-border-color;\n color: $ax5grid-cell-selected-color;\n }\n\n &[data-ax5grid-column-focused] {\n box-shadow: $ax5grid-cell-focused-box-shadow;\n background: $ax5grid-cell-focused-bg;\n color: $ax5grid-cell-focused-color;\n }\n\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n cursor: pointer;\n [data-ax5grid-cellHolder] {\n padding: $ax5grid-cell-padding-row-selector;\n }\n\n .checkBox {\n display: inline-block;\n position: relative;\n border: $ax5grid-cell-checkbox-border;\n border-radius: $ax5grid-cell-checkbox-border-radius;\n @include ax-background(top, $ax5grid-cell-checkbox-bg-colors);\n height: 100%;\n width: 100%;\n &:after {\n content: '';\n width: 60%;\n height: 40%;\n position: absolute;\n top: 20%;\n right: 20%;\n border: 0.2em solid $ax5grid-cell-checkbox-arrow-color;\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0.0;\n @include transform(rotate(-50deg));\n }\n }\n &[data-ax5grid-selected=\"true\"] {\n .checkBox {\n &:after {\n opacity: 1;\n }\n }\n }\n }\n\n &[data-ax5grid-column-attr=\"lineNumber\"] {\n }\n\n [data-ax5grid-cellHolder] {\n // 그리드 셀표현 : 그리드의 컬럼텍스트가 여기에 출력됨\n display: block;\n box-sizing: border-box;\n padding: $ax5grid-cell-padding;\n font-size: $ax5grid-font-size;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n @if ($container == \"header\") {\n //text-align: center;\n }\n\n &[data-ax5grid-text-align=\"left\"] {\n text-align: left;\n }\n &[data-ax5grid-text-align=\"center\"] {\n text-align: center;\n }\n &[data-ax5grid-text-align=\"right\"] {\n text-align: right;\n }\n &[data-ax5grid-cellHolder=\"multiLine\"] {\n white-space: normal;\n }\n\n [data-ax5grid-editor] {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 0 none;\n background: $ax5grid-bg;\n &::-ms-clear {\n display: none;\n }\n }\n\n [data-ax5select] {\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 0px none;\n background: $ax5grid-bg;\n .ax5select-display {\n height: 100%;\n border-radius: 0;\n }\n }\n\n [data-ax5grid-editor=\"checkbox\"] {\n display: inline-block;\n position: relative;\n border: $ax5grid-cell-checkbox-border;\n border-radius: $ax5grid-cell-checkbox-border-radius;\n @include ax-background(top, $ax5grid-cell-checkbox-bg-colors);\n height: 100%;\n &:after {\n content: '';\n width: 60%;\n height: 40%;\n position: absolute;\n top: 20%;\n right: 20%;\n border: 0.2em solid $ax5grid-cell-checkbox-arrow-color;\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0.0;\n @include transform(rotate(-50deg));\n }\n &[data-ax5grid-checked=\"true\"] {\n &:after {\n opacity: 1.0;\n }\n }\n }\n\n [data-ax5grid-tnode-arrow] {\n display: inline-block;\n box-sizing: content-box;\n text-align: right;\n text-shadow: 0 -1px #fff;\n padding: 0 5px 0 0;\n }\n a[data-ax5grid-tnode-arrow] {\n cursor: pointer;\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n [data-ax5grid-tnode-item=\"group\"] {\n display: inline-block;\n }\n [data-ax5grid-tnode-item=\"item\"] {\n display: inline-block;\n }\n }\n}\n\n@mixin gridRowBackground() {\n &.tr-0 {\n background: $ax5grid-row-bg-0;\n }\n &.tr-1 {\n background: $ax5grid-row-bg-1;\n }\n &.tr-2 {\n background: $ax5grid-row-bg-2;\n }\n &.tr-3 {\n background: $ax5grid-row-bg-3;\n }\n &.hover {\n background: $ax5grid-row-hover-bg;\n }\n &[data-ax5grid-grouping-tr=\"true\"] {\n background: $ax5grid-row-grouping-bg;\n }\n &[data-ax5grid-selected=\"true\"] {\n background: $ax5grid-row-selected;\n td {\n //color: #fff;\n //box-shadow: inset 1px 1px 0px 0px #fff;\n &[data-ax5grid-column-attr=\"rowSelector\"],\n &[data-ax5grid-column-attr=\"lineNumber\"] {\n box-shadow: none;\n }\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n .checkBox {\n &:after {\n opacity: 1;\n }\n }\n }\n }\n }\n &[data-ax5grid-disable-selection=\"true\"] {\n // background: $ax5grid-row-selected;\n td {\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n .checkBox {\n cursor: not-allowed;\n @include ax-background(top, $ax5grid-cell-disable-checkbox-bg-colors);\n &:after {\n opacity: 0;\n }\n }\n }\n }\n }\n\n // mergeCells 대상 컬럼 배경생 통일.\n td.merged {\n background: $ax5grid-row-bg-1;\n }\n}\n\n@mixin gridPanel($container) {\n [data-ax5grid-panel] {\n @include gridBoxModal();\n position: absolute;\n overflow: hidden;\n /*\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n transform: translate3d(0, 0, 0);\n */\n\n table {\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n border: 0 none;\n width: 100%;\n @if ($container == \"header\") {\n height: 100%;\n }\n tr {\n border-bottom: 0 none;\n @include gridRowBackground();\n td {\n @include gridColumn($container);\n\n }\n }\n }\n\n &[data-ax5grid-panel=\"aside-header\"] {\n border-right: $ax5grid-aside-border;\n table {\n tr {\n td {\n text-align: center;\n }\n }\n }\n }\n &[data-ax5grid-panel=\"top-aside-body\"],\n &[data-ax5grid-panel=\"aside-body\"],\n &[data-ax5grid-panel=\"bottom-aside-body\"] {\n border-right: $ax5grid-aside-border;\n background: $ax5grid-aside-bg;\n table {\n tr {\n background: $ax5grid-aside-bg;\n td {\n text-align: center;\n box-shadow: $ax5grid-aside-column-shadow;\n }\n }\n }\n }\n\n &[data-ax5grid-panel=\"left-header\"],\n &[data-ax5grid-panel=\"top-left-body\"],\n &[data-ax5grid-panel=\"left-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"] {\n border-right: $ax5grid-frozen-line-border; /// frozen Line color\n }\n\n &[data-ax5grid-panel=\"top-aside-body\"],\n &[data-ax5grid-panel=\"top-left-body\"],\n &[data-ax5grid-panel=\"top-body\"],\n &[data-ax5grid-panel=\"top-right-body\"] {\n border-bottom: $ax5grid-frozen-line-border; /// frozen Line color\n }\n\n &[data-ax5grid-panel=\"bottom-aside-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"],\n &[data-ax5grid-panel=\"bottom-body\"],\n &[data-ax5grid-panel=\"bottom-right-body\"] {\n border-top: $ax5grid-footsum-line-border; /// footSum Line color\n }\n\n &[data-ax5grid-panel=\"bottom-aside-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"],\n &[data-ax5grid-panel=\"bottom-body\"],\n &[data-ax5grid-panel=\"bottom-right-body\"] {\n background: $ax5grid-footsum-bg;\n }\n\n [data-ax5grid-panel-scroll] {\n position: absolute;\n left: 0;\n top: 0;\n }\n }\n}\n\n@mixin scrollBar($type) {\n position: absolute;\n top: 0;\n left: 0;\n @include border-top-radius($ax5grid-scroll-bar-border-radius);\n @include border-bottom-radius($ax5grid-scroll-bar-border-radius);\n box-sizing: border-box;\n border: $ax5grid-scroll-bar-border;\n background: $ax5grid-scroll-bar-bg;\n\n @if ($type == \"vertical-bar\") {\n cursor: ns-resize;\n } @else {\n cursor: ew-resize;\n }\n\n &:hover {\n border: $ax5grid-scroll-bar-hover-border;\n background: $ax5grid-scroll-bar-hover-bg;\n }\n}\n\n@mixin resizer($type: \"horizontal\") {\n display: none;\n &.live {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n background: $ax5grid-resizer-color;\n opacity: 0.5;\n\n @if ($type == \"vertical\") {\n height: $ax5grid-resizer-size;\n width: 100%;\n cursor: row-resize;\n } @else {\n height: 100%;\n width: $ax5grid-resizer-size;\n cursor: col-resize;\n }\n\n }\n}\n\n// body\n[data-ax5grid] {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n [data-ax5grid-container=\"root\"] {\n @include gridBoxModal();\n position: relative;\n background: $ax5grid-bg;\n border: $ax5grid-border;\n overflow: hidden;\n\n [data-ax5grid-container=\"hidden\"] {\n @include gridBoxModal();\n position: absolute;\n //z-index: 100;\n left: -100%;\n top: -100%;\n height: 100%;\n width: 100%;\n }\n\n [data-ax5grid-container=\"header\"] {\n user-select: none;\n @include gridBoxModal();\n position: relative;\n overflow: hidden;\n @include ax-background(top, $ax5grid-header-column-bg-colors);\n border: 0px none;\n border-bottom: $ax5grid-header-column-border;\n @include gridPanel(\"header\");\n color: $ax5grid-header-column-color;\n [data-ax5grid-column-resizer] {\n position: absolute;\n right: 0;\n top: 0;\n width: $ax5grid-header-column-resizer-size;\n height: 100%;\n cursor: col-resize;\n &:hover {\n background: $ax5grid-header-column-resizer-color;\n opacity: 0.5;\n }\n }\n [data-ax5grid-column-sort] {\n position: relative;\n //right: 0;\n //top: 2px;\n width: 10px;\n height: 10px;\n display: inline-block;\n\n @mixin sort-arrow($arrow-size, $ratio-0, $ratio-1, $arrow-color, $opacity, $direction) {\n position: absolute;\n content: ' ';\n width: 0;\n height: 0;\n display: inline-block;\n border-left: $arrow-size/$ratio-0 solid transparent;\n border-right: $arrow-size/$ratio-0 solid transparent;\n @if ($direction == \"up\") {\n border-bottom: ($arrow-size)/$ratio-1 solid $arrow-color;\n } @else {\n border-top: ($arrow-size)/$ratio-1 solid $arrow-color;\n }\n background: transparent;\n opacity: $opacity;\n }\n\n &:before {\n top: 0;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size, 2.5, 2.2, $ax5grid-header-sorter-color, 0.3, \"up\");\n }\n &:after {\n bottom: 0;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size, 2.5, 2.2, $ax5grid-header-sorter-color, 0.3, \"down\");\n }\n\n &[data-ax5grid-column-sort-order=\"asc\"] {\n &:before {\n top: 2px;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size + 1, 2.5, 2.0, $ax5grid-header-sorter-color, 0.8, \"up\");\n }\n &:after {\n display: none;\n }\n }\n &[data-ax5grid-column-sort-order=\"desc\"] {\n &:before {\n display: none;\n }\n &:after {\n bottom: 2px;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size + 1, 2.5, 2.0, $ax5grid-header-sorter-color, 0.8, \"down\");\n }\n }\n\n }\n [data-ax5grid-column-filter] {\n // 개발중..\n $filter-size: 10px;\n\n position: absolute;\n left: 0;\n top: 0;\n width: 10px;\n height: 10px;\n cursor: pointer;\n\n &:before {\n content: ' ';\n width: 0;\n height: 0;\n display: inline-block;\n border-left: $filter-size/2 solid transparent;\n border-right: $filter-size/2 solid transparent;\n border-top: ($filter-size) solid #000;\n background: transparent;\n opacity: 1;\n }\n\n }\n }\n\n [data-ax5grid-container=\"body\"] {\n @include gridBoxModal();\n position: relative;\n overflow: hidden;\n @include gridPanel(\"body\");\n\n /*\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n [data-ax5grid-panel-scroll=\"body\"]{\n table {\n @include animation(fadein 0.3s);\n }\n }\n */\n\n }\n\n [data-ax5grid-container=\"page\"] {\n @include gridBoxModal();\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n overflow: hidden;\n @include ax-background(top, $ax5grid-page-bg-colors);\n border: 0px none;\n border-top: $ax5grid-page-border;\n\n [data-ax5grid-page=\"holder\"] {\n @include gridBoxModal();\n display: table;\n //table-layout: fixed;\n width: 100%;\n height: 100%;\n [data-ax5grid-page=\"navigation\"] {\n @include gridBoxModal();\n display: table-cell;\n vertical-align: middle;\n text-align: left;\n padding-left: $ax5grid-page-navigation-padding;\n font-size: $ax5grid-page-navigation-font-size;\n\n [data-ax5grid-page-navigation=\"holder\"] {\n display: table;\n [data-ax5grid-page-navigation=\"cell\"], [data-ax5grid-page-navigation=\"cell-paging\"] {\n display: table-cell;\n vertical-align: middle;\n }\n [data-ax5grid-page-navigation=\"cell-paging\"] {\n padding: 0 $ax5grid-page-navigation-padding;\n }\n\n [data-ax5grid-page-move] {\n box-sizing: border-box;\n min-width: $ax5grid-page-navigation-btn-min-width;\n border-radius: $ax5grid-page-navigation-btn-border-radius;\n padding: 1px;\n border: $ax5grid-page-navigation-btn-border;\n background: $ax5grid-page-navigation-btn-bg;\n font-size: $ax5grid-page-navigation-btn-font-size;\n color: $ax5grid-page-navigation-btn-color;\n outline: 0;\n\n &[data-ax5grid-page-selected=\"true\"], &:active {\n background-color: $ax5grid-page-navigation-btn-hover-bg;\n color: $ax5grid-page-navigation-btn-hover-color;\n }\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n }\n [data-ax5grid-page=\"status\"] {\n @include gridBoxModal();\n display: table-cell;\n text-align: right;\n vertical-align: middle;\n padding-right: $ax5grid-page-status-padding;\n font-size: $ax5grid-page-status-font-size;\n color: $ax5grid-page-status-color;\n }\n }\n }\n\n [data-ax5grid-container=\"scroller\"] {\n @include gridBoxModal();\n position: absolute;\n right: 0px;\n bottom: 0px;\n\n $scroller-size: 15px;\n [data-ax5grid-scroller=\"vertical\"] {\n box-sizing: border-box;\n position: absolute;\n display: none;\n right: 0;\n bottom: 0;\n width: $scroller-size;\n height: 100%;\n background: $ax5grid-scroll-track-bg;\n border-left: $ax5grid-scroll-track-border;\n\n [data-ax5grid-scroller=\"vertical-bar\"] {\n @include scrollBar(\"vertical-bar\");\n }\n }\n [data-ax5grid-scroller=\"horizontal\"] {\n box-sizing: border-box;\n position: absolute;\n display: none;\n right: 0;\n bottom: 0;\n height: $scroller-size;\n width: 100%;\n background: $ax5grid-scroll-track-bg;\n border-top: $ax5grid-scroll-track-border;\n\n [data-ax5grid-scroller=\"horizontal-bar\"] {\n @include scrollBar(\"horizontal-bar\");\n }\n }\n [data-ax5grid-scroller=\"corner\"] {\n position: absolute;\n display: none;\n right: 0px;\n bottom: 0px;\n width: $scroller-size;\n height: $scroller-size;\n\n background: $ax5grid-scroll-corner-bg;\n border-top: $ax5grid-scroll-track-border;\n border-left: $ax5grid-scroll-track-border;\n }\n }\n\n [data-ax5grid-resizer=\"horizontal\"] {\n @include resizer(\"horizontal\");\n }\n [data-ax5grid-resizer=\"vertical\"] {\n @include resizer(\"vertical\");\n }\n }\n}","$output-bourbon-deprecation-warnings: false !default;\n\n/// @type cubic-bezier\n$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);\n$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);\n$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);\n$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);\n$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);\n$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);\n\n$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);\n$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);\n$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);\n$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);\n$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);\n$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);\n$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);\n\n$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);\n$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);\n$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);\n$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);\n$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);\n$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);\n$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);\n$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);\n\n$prefix-for-webkit: true !default;\n$prefix-for-mozilla: true !default;\n$prefix-for-microsoft: true !default;\n$prefix-for-opera: true !default;\n$prefix-for-spec: true !default;\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n\n// Opacity\n@mixin opacity($opacity) {\n opacity: $opacity;\n // IE8 filter\n $opacity-ie: ($opacity * 100);\n filter: alpha(opacity=$opacity-ie);\n}\n\n@mixin keyframes($name) {\n $original-prefix-for-webkit: $prefix-for-webkit;\n $original-prefix-for-mozilla: $prefix-for-mozilla;\n $original-prefix-for-microsoft: $prefix-for-microsoft;\n $original-prefix-for-opera: $prefix-for-opera;\n $original-prefix-for-spec: $prefix-for-spec;\n\n @if $original-prefix-for-webkit {\n @include disable-prefix-for-all();\n $prefix-for-webkit: true !global;\n @-webkit-keyframes #{$name} {\n @content;\n }\n }\n\n @if $original-prefix-for-mozilla {\n @include disable-prefix-for-all();\n $prefix-for-mozilla: true !global;\n @-moz-keyframes #{$name} {\n @content;\n }\n }\n\n $prefix-for-webkit: $original-prefix-for-webkit !global;\n $prefix-for-mozilla: $original-prefix-for-mozilla !global;\n $prefix-for-microsoft: $original-prefix-for-microsoft !global;\n $prefix-for-opera: $original-prefix-for-opera !global;\n $prefix-for-spec: $original-prefix-for-spec !global;\n\n @if $original-prefix-for-spec {\n @keyframes #{$name} {\n @content;\n }\n }\n}\n\n///// bourbon support\n\n// Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content\n@mixin keyframes($name) {\n $original-prefix-for-webkit: $prefix-for-webkit;\n $original-prefix-for-mozilla: $prefix-for-mozilla;\n $original-prefix-for-microsoft: $prefix-for-microsoft;\n $original-prefix-for-opera: $prefix-for-opera;\n $original-prefix-for-spec: $prefix-for-spec;\n\n @if $original-prefix-for-webkit {\n @include disable-prefix-for-all();\n $prefix-for-webkit: true !global;\n @-webkit-keyframes #{$name} {\n @content;\n }\n }\n\n @if $original-prefix-for-mozilla {\n @include disable-prefix-for-all();\n $prefix-for-mozilla: true !global;\n @-moz-keyframes #{$name} {\n @content;\n }\n }\n\n $prefix-for-webkit: $original-prefix-for-webkit !global;\n $prefix-for-mozilla: $original-prefix-for-mozilla !global;\n $prefix-for-microsoft: $original-prefix-for-microsoft !global;\n $prefix-for-opera: $original-prefix-for-opera !global;\n $prefix-for-spec: $original-prefix-for-spec !global;\n\n @if $original-prefix-for-spec {\n @keyframes #{$name} {\n @content;\n }\n }\n}\n\n@mixin transform($property: none) {\n // none | \n @include prefixer(transform, $property, webkit moz ms o spec);\n}\n\n@mixin transform-origin($axes: 50%) {\n // x-axis - left | center | right | length | %\n // y-axis - top | center | bottom | length | %\n // z-axis - length\n @include prefixer(transform-origin, $axes, webkit moz ms o spec);\n}\n\n@mixin transform-style($style: flat) {\n @include prefixer(transform-style, $style, webkit moz ms o spec);\n}\n\n@mixin display($value) {\n // flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n } @else if $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n } @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse)\n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: normal;\n\n @if $value == row {\n $value-2009: horizontal;\n } @else if $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n } @else if $value == column {\n $value-2009: vertical;\n } @else if $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @include prefixer(box-direction, $direction, webkit moz spec);\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n // Alt values\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n } @else if $value == wrap {\n $alt-value: multiple;\n } @else if $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n } @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n } @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n } @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property($properties...) {\n -webkit-transition-property: transition-property-names($properties, \"webkit\");\n -moz-transition-property: transition-property-names($properties, \"moz\");\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function($motions...) {\n // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n\n// http://www.w3.org/TR/css3-animations/#the-animation-name-property-\n// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.\n\n@mixin animation($animations...) {\n @include prefixer(animation, $animations, webkit moz spec);\n}\n\n@mixin animation-name($names...) {\n @include prefixer(animation-name, $names, webkit moz spec);\n}\n\n@mixin animation-duration($times...) {\n @include prefixer(animation-duration, $times, webkit moz spec);\n}\n\n@mixin animation-timing-function($motions...) {\n // ease | linear | ease-in | ease-out | ease-in-out\n @include prefixer(animation-timing-function, $motions, webkit moz spec);\n}\n\n@mixin animation-iteration-count($values...) {\n // infinite | \n @include prefixer(animation-iteration-count, $values, webkit moz spec);\n}\n\n@mixin animation-direction($directions...) {\n // normal | alternate\n @include prefixer(animation-direction, $directions, webkit moz spec);\n}\n\n@mixin animation-play-state($states...) {\n // running | paused\n @include prefixer(animation-play-state, $states, webkit moz spec);\n}\n\n@mixin animation-delay($times...) {\n @include prefixer(animation-delay, $times, webkit moz spec);\n}\n\n@mixin animation-fill-mode($modes...) {\n // none | forwards | backwards | both\n @include prefixer(animation-fill-mode, $modes, webkit moz spec);\n}\n\n@mixin linear-gradient($pos, $g1, $g2: null,\n $g3: null, $g4: null,\n $g5: null, $g6: null,\n $g7: null, $g8: null,\n $g9: null, $g10: null,\n $fallback: null) {\n\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5;\n $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;\n\n // Set $g1 as the default fallback color\n $fallback-color: nth($g1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n\n@function _linear-positions-parser($pos) {\n $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;\n $output-bourbon-deprecation-warnings: false !global;\n\n $type: type-of(nth($pos, 1));\n $spec: null;\n $degree: null;\n $side: null;\n $corner: null;\n $length: length($pos);\n // Parse Side and corner positions\n @if ($length > 1) {\n @if nth($pos, 1) == \"to\" { // Newer syntax\n $side: nth($pos, 2);\n\n @if $length == 2 { // eg. to top\n // Swap for backwards compatibility\n $degree: _position-flipper(nth($pos, 2));\n }\n @else if $length == 3 { // eg. to top left\n $corner: nth($pos, 3);\n }\n }\n @else if $length == 2 { // Older syntax (\"top left\")\n $side: _position-flipper(nth($pos, 1));\n $corner: _position-flipper(nth($pos, 2));\n }\n\n @if (\"#{$side} #{$corner}\" == \"left top\") or (\"#{$side} #{$corner}\" == \"top left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right top\") or (\"#{$side} #{$corner}\" == \"top right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right bottom\") or (\"#{$side} #{$corner}\" == \"bottom right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"left bottom\") or (\"#{$side} #{$corner}\" == \"bottom left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n $spec: to $side $corner;\n }\n @else if $length == 1 {\n // Swap for backwards compatibility\n @if $type == string {\n $degree: $pos;\n $spec: to _position-flipper($pos);\n }\n @else {\n $degree: -270 - $pos; //rotate the gradient opposite from spec\n $spec: $pos;\n }\n }\n $degree: unquote($degree + \",\");\n $spec: unquote($spec + \",\");\n\n $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;\n\n @return $degree $spec;\n}\n\n@function _position-flipper($pos) {\n @return if($pos == left, right, null)\n if($pos == right, left, null)\n if($pos == top, bottom, null)\n if($pos == bottom, top, null);\n}\n\n/// border-radius\n@mixin border-top-radius($radii) {\n border-top-left-radius: $radii;\n border-top-right-radius: $radii;\n}\n\n@mixin border-right-radius($radii) {\n border-bottom-right-radius: $radii;\n border-top-right-radius: $radii;\n}\n\n@mixin border-bottom-radius($radii) {\n border-bottom-left-radius: $radii;\n border-bottom-right-radius: $radii;\n}\n\n@mixin border-left-radius($radii) {\n border-bottom-left-radius: $radii;\n border-top-left-radius: $radii;\n}\n\n/// perspective\n@mixin perspective($depth: none) {\n @include prefixer(perspective, $depth, webkit moz spec);\n}\n\n@mixin perspective-origin($value: 50% 50%) {\n @include prefixer(perspective-origin, $value, webkit moz spec);\n}\n\n//// ellipsis\n@mixin ellipsis($width: 100%) {\n display: inline-block;\n max-width: $width;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n}","$ax5mask-z-index: 1000 !default;\n$ax5mask-bg-opacity: 0.6 !default;\n\n$ax5mask-bg: #000 !default;\n$ax5mask-text-color: #fff !default;\n$ax5mask-text-shadow:0px 1px 0px #000 !default;\n\n$ax5mask-easing-time-open: 0.25s !default;\n$ax5mask-easing-time-close: 0.25s !default;\n\n@mixin ax-mask() {\n position: absolute;\n}\n\n@mixin ax-panel-mask() {\n position: absolute;\n}\n\n// mixins --------------------------------------------- end\n\n@include keyframes(ax-mask) {\n from {\n opacity: 0.0;\n }\n to {\n opacity: $ax5mask-bg-opacity;\n }\n}\n\n@include keyframes(ax-mask-fade-out) {\n from {\n opacity: $ax5mask-bg-opacity;\n }\n to {\n opacity: 0.0;\n }\n}\n\n.ax-masking {\n -webkit-filter: blur(3px);\n //position: fixed;\n @include transform(scale(0.96));\n @include transform(translateZ(0));\n}\n\n.ax-mask {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n z-index: $ax5mask-z-index;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n .ax-mask-bg {\n z-index: 1;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: $ax5mask-bg;\n opacity: $ax5mask-bg-opacity;\n }\n .ax-mask-content {\n z-index: 2;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: table;\n vertical-align: middle;\n text-align: center;\n color: $ax5mask-text-color;\n text-shadow: $ax5mask-text-shadow;\n * {\n color: inherit;\n }\n > div {\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n }\n }\n\n &.fade-out {\n @include animation(ax-mask-fade-out $ax5mask-easing-time-close);\n opacity: 0.0;\n }\n}","//==============\n//== modal\n$ax5modal-z-index: 2000 !default;\n$ax5modal-box-model: border-box !default;\n$ax5modal-bg: #fff !default;\n$ax5modal-border: 1px solid #ddd !default;\n$ax5modal-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.60) !default;\n$ax5modal-body-padding: 0px !default;\n$ax5modal-header-padding: 10px 15px !default;\n\n$ax5modal-header-addon-padding: 10px 10px !default;\n$ax5modal-header-addon-btn-padding: 0px 2px !default;\n\n$ax5modal-border-radius: 4px !default;\n$ax5modal-easing-time-open: 0.3s !default;\n$ax5modal-easing-time-close: 0.3s !default;\n$ax5modal-easing-open: $ease-out-back !default;\n$ax5modal-easing-close: $ease-out-back !default;\n\n//== modal resizer\n$ax5modal-resizer-bg: #ccc !default;\n$ax5modal-resizer-border: 1px solid #ff0000 !default;\n$ax5modal-resizer-box-shaodw: 0px 0px 5px 0px rgba(0, 0, 0, 0.60) !default;\n$ax5modal-resizer-opacity : 0.3 !default;\n\n//** Border color for elements within dialog\n$ax5modal-default-text: #222 !default;\n$ax5modal-default-border: 1px solid #ddd !default;\n$ax5modal-default-header-bg: #f5f5f5 !default;\n\n@mixin ax-modal() {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n background-color: $ax5modal-bg;\n border: $ax5modal-border;\n\n @include ax-border-radius($ax5modal-border-radius);\n @include box-shadow($ax5modal-box-shadow);\n\n z-index: $ax5modal-z-index;\n position: fixed;\n left: 0px;\n top: 0px;\n //overflow: hidden;\n box-sizing: content-box;\n}\n\n@mixin ax-modal-section() {\n .ax-modal-header {\n user-select: none;\n //font-size: 1em;\n font-weight: 600;\n padding: $ax5modal-header-padding;\n border-bottom: 1px solid transparent;\n border-top-left-radius: $ax5modal-border-radius;\n border-top-right-radius: $ax5modal-border-radius;\n\n cursor: move;\n .ax-modal-header-addon{\n position: absolute;\n right: 0px;\n top: 0px;\n padding: $ax5modal-header-addon-padding;\n [data-modal-header-btn]{\n border: 0;\n padding: $ax5modal-header-addon-btn-padding;\n background: transparent;\n display: inline-block;\n text-align: center;\n cursor: pointer;\n outline: 0;\n }\n }\n }\n .ax-modal-body {\n border-bottom-left-radius: $ax5modal-border-radius;\n border-bottom-right-radius: $ax5modal-border-radius;\n\n padding: $ax5modal-body-padding;\n text-align: center;\n @include flex(1);\n position: relative;\n overflow: hidden;\n\n iframe {\n border: 0 none;\n }\n\n .fadeIn{\n @include animation(ax-modal-fade-in $ax5modal-easing-time-open $ease-out-back forwards);\n }\n .fadeOut{\n @include animation(ax-modal-fade-out $ax5modal-easing-time-open $ease-out-back forwards);\n }\n }\n}\n\n@mixin modal-variant($text-color, $border, $header-bg-color) {\n .ax-modal-header {\n color: $text-color;\n background: $header-bg-color;\n .ax-modal-header-addon{\n a{\n color: $text-color;\n outline: 0;\n }\n }\n }\n .ax-modal-body {\n\n }\n}\n\n@include keyframes(ax-modal) {\n 0% {\n opacity: 0.0;\n //@include transform(translateY(20%));\n @include transform(scale(0.8));\n }\n 100% {\n opacity: 1.0;\n @include transform(scale(1.0));\n }\n /*\n 0% {\n opacity: 0.0;\n -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 0.1% {\n opacity: 1.0;\n -webkit-transform: matrix3d(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 5.9% {\n -webkit-transform: matrix3d(0.711, 0, 0, 0, 0, 0.742, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.711, 0, 0, 0, 0, 0.742, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 7.7% {\n -webkit-transform: matrix3d(0.768, 0, 0, 0, 0, 0.812, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.768, 0, 0, 0, 0, 0.812, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 11.5% {\n -webkit-transform: matrix3d(0.869, 0, 0, 0, 0, 0.935, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.869, 0, 0, 0, 0, 0.935, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 11.7% {\n -webkit-transform: matrix3d(0.873, 0, 0, 0, 0, 0.94, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.873, 0, 0, 0, 0, 0.94, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 15.2% {\n -webkit-transform: matrix3d(0.941, 0, 0, 0, 0, 1.014, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.941, 0, 0, 0, 0, 1.014, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 17.5% {\n -webkit-transform: matrix3d(0.973, 0, 0, 0, 0, 1.045, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.973, 0, 0, 0, 0, 1.045, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 19% {\n -webkit-transform: matrix3d(0.99, 0, 0, 0, 0, 1.058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.99, 0, 0, 0, 0, 1.058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 22.8% {\n -webkit-transform: matrix3d(1.019, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.019, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 23.2% {\n -webkit-transform: matrix3d(1.021, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.021, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 30.3% {\n -webkit-transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 30.4% {\n -webkit-transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 37.5% {\n -webkit-transform: matrix3d(1.028, 0, 0, 0, 0, 1.016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.028, 0, 0, 0, 0, 1.016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 44.6% {\n -webkit-transform: matrix3d(1.016, 0, 0, 0, 0, 0.997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.016, 0, 0, 0, 0, 0.997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 50.3% {\n -webkit-transform: matrix3d(1.008, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.008, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 51.7% {\n -webkit-transform: matrix3d(1.006, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.006, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 70.3% {\n -webkit-transform: matrix3d(0.998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 80.3% {\n -webkit-transform: matrix3d(0.999, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.999, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 100% {\n -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n */\n}\n\n@include keyframes(ax-modal-destroy) {\n /*\n from {\n @include transform(scale(1));\n opacity: 1.0;\n }\n to {\n @include transform(scale(0.5));\n opacity: 0.0;\n }\n */\n 100% {\n opacity: 0.0;\n @include transform(translateY(20%));\n }\n 0% {\n opacity: 1.0;\n @include transform(translateY(0));\n }\n\n}\n\n@include keyframes(ax-modal-fullscreen) {\n 0% {\n @include transform(translateY(20%));\n }\n 100% {\n @include transform(translateY(0));\n }\n}\n\n@include keyframes(ax-modal-fullscreen-destroy) {\n 0% {\n @include transform(translateY(0));\n }\n 100% {\n @include transform(translateY(100%));\n }\n}\n\n@include keyframes(ax-modal-fade-in){\n 0% {\n opacity: 0.0;\n }\n 100% {\n opacity: 1.0;\n }\n}\n\n@include keyframes(ax-modal-fade-out){\n 0% {\n opacity: 1.0;\n }\n 100% {\n opacity: 0.0;\n }\n}\n\n// mixins --------------------------------------------- end\n\n.ax5modal {\n * {\n box-sizing: border-box;\n }\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n @include animation(ax-modal $ax5modal-easing-time-open $ax5modal-easing-open forwards);\n @include transform(translateZ(0px));\n //@include transition(all $ax5modal-easing-time-open linear);\n\n @include ax-modal();\n @include ax-modal-section();\n @include modal-variant($ax5modal-default-text, $ax5modal-default-border, $ax5modal-default-header-bg);\n\n &.destroy {\n @include animation(ax-modal-destroy $ax5modal-easing-time-close $ax5modal-easing-close forwards);\n }\n\n &.fullscreen {\n border: 0px none;\n @include ax-border-radius(0px);\n @include box-shadow(none);\n @include animation(ax-modal-fullscreen $ax5modal-easing-time-open $ease-out-back forwards);\n\n &.destroy {\n @include animation(ax-modal-fullscreen-destroy $ax5modal-easing-time-close $ease-out-expo forwards);\n }\n }\n\n &.draged{\n .ax-modal-header {\n opacity: 0.5;\n }\n .ax-modal-body {\n opacity: 0.5;\n }\n }\n [data-ax5modal-resizer]{\n position: absolute;\n display: block;\n &:before{\n position: absolute;\n content: ' ';\n display: block;\n width: auto;\n height: auto;\n left: auto;\n top: auto;\n right: auto;\n bottom: auto;\n //background: #ff3300;\n //opacity: 0.3;\n }\n\n &[data-ax5modal-resizer=\"top\"]{\n left: 0;\n top: 0;\n width: 100%;\n height: 0;\n\n &:before{\n width: 100%;\n height: 8px;\n left: 0;\n top: -4px;\n cursor: row-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom\"]{\n left: 0;\n bottom: 0;\n width: 100%;\n height: 0;\n\n &:before{\n width: 100%;\n height: 8px;\n left: 0;\n top: -4px;\n cursor: row-resize;\n }\n }\n &[data-ax5modal-resizer=\"left\"]{\n left: 0;\n top: 0;\n width: 0;\n height: 100%;\n\n &:before{\n width: 8px;\n height: 100%;\n left: -4px;\n top: 0;\n cursor: col-resize;\n }\n }\n &[data-ax5modal-resizer=\"right\"]{\n right: 0;\n top: 0;\n width: 0;\n height: 100%;\n\n &:before{\n width: 8px;\n height: 100%;\n left: -4px;\n top: 0;\n cursor: col-resize;\n }\n }\n &[data-ax5modal-resizer=\"top-left\"]{\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nwse-resize;\n }\n }\n &[data-ax5modal-resizer=\"top-right\"]{\n right: 0;\n top: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nesw-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom-left\"]{\n left: 0;\n bottom: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nesw-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom-right\"]{\n right: 0;\n bottom: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nwse-resize;\n }\n }\n }\n}\n\n// resizer가 활성화 되면 리사이저 백그라운드도 함께 활성화 됩니다. 백그라운드는 페이지 전체를 투명 레이어로 덮어 리사이저가 자유롭게 활동 하도록 도와 줍니다.\n.ax5modal-resizer-background{\n position: fixed;\n left: 0px;\n top: 0px;\n width: 100%;\n height: 100%;\n background: transparent;\n z-index: $ax5modal-z-index;\n //opacity: 0.1;\n cursor: move;\n}\n.ax5modal-resizer{\n position: absolute;\n left: 0px;\n top: 0px;\n\n z-index: $ax5modal-z-index + 1;\n cursor: move;\n\n box-sizing: $ax5modal-box-model;\n background-color: $ax5modal-resizer-bg;\n border: $ax5modal-resizer-border;\n opacity: $ax5modal-resizer-opacity;\n\n @include ax-border-radius($ax5modal-border-radius);\n @include box-shadow($ax5modal-box-shadow);\n}","//============== toast\n$ax5toast-z-index: 2000;\n// 0:left,top / 1:right,top / 2:right,bottom / 3:left,bottom\n$ax5toast-container-width: auto !default;\n$ax5toast-container-padding: 10px !default;\n$ax5toast-box-model: border-box !default;\n$ax5toast-border: 1px solid rgb(255/2, 255/2, 255/2) !default;\n$ax5toast-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.175) !default;\n$ax5toast-body-padding: 6px !default;\n$ax5toast-border-radius: 8px !default;\n$ax5toast-opacity: 0.9 !default;\n$ax5toast-box-margin: 5px 0px 5px 0px !default;\n$ax5toast-icon-size: 24px;\n$ax5toast-easing: $ease-in-out-quint;\n$ax5toast-easing-time: 0.3s;\n\n//** Border color for elements within toast\n$ax5toast-default-text: #282828 !default;\n$ax5toast-default-bg: #fff !default;\n$ax5toast-default-color: $body-color !default;\n\n$ax5toast-primary-text: $brand-primary !default;\n$ax5toast-primary-bg: #fff !default;\n$ax5toast-primary-color: $brand-primary !default;\n\n$ax5toast-success-text: $brand-success !default;\n$ax5toast-success-bg: #fff !default;\n$ax5toast-success-color: $brand-success !default;\n\n$ax5toast-info-text: $brand-info !default;\n$ax5toast-info-bg: #fff !default;\n$ax5toast-info-color: $brand-info !default;\n\n$ax5toast-warning-text: #fff !default;\n$ax5toast-warning-bg: $brand-warning !default;\n$ax5toast-warning-color: $brand-warning !default;\n\n$ax5toast-danger-text: #fff !default;\n$ax5toast-danger-bg: $brand-warning !default;\n$ax5toast-danger-color: $brand-danger !default;\n\n@mixin ax-toast() {\n box-sizing: $ax5toast-box-model;\n border: $ax5toast-border;\n opacity: $ax5toast-opacity;\n\n @include ax-border-radius($ax5toast-border-radius);\n box-shadow: $ax5toast-box-shadow;\n position: relative;\n margin: $ax5toast-box-margin;\n}\n\n@mixin ax-toast-section() {\n display: table;\n padding: $ax5toast-body-padding;\n .ax-toast-icon {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: left;\n font-size: $ax5toast-icon-size;\n width: $ax5toast-icon-size;\n vertical-align: middle;\n }\n .ax-toast-body {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: left;\n vertical-align: middle;\n }\n .ax-toast-buttons {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: right;\n vertical-align: middle;\n button {\n &:not(:last-child) {\n margin-right: 3px;\n }\n }\n }\n .ax-toast-close {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: right;\n vertical-align: top;\n text-decoration: none;\n cursor: pointer;\n }\n}\n\n@mixin toast-variant($text-color, $bg-color, $color) {\n background: $bg-color;\n color: $text-color;\n .ax-toast-icon {\n color: $color;\n }\n .ax-toast-close {\n color: $text-color;\n }\n}\n\n@include keyframes(ax-toast-bottom) {\n from {\n @include transform(translateY(-100px) scale(0.7));\n }\n to {\n //@include opacity($mask-bg-opacity);\n @include transform(translateY(0px) scale(1))\n }\n}\n\n@include keyframes(ax-toast-top) {\n from {\n @include transform(translateY(100px) scale(0.7));\n }\n to {\n //@include opacity($mask-bg-opacity);\n @include transform(translateY(0px) scale(1))\n }\n}\n\n@include keyframes(ax-toast-removed-bottom) {\n from {\n @include transform(translateY(0px));\n opacity: 1.0;\n }\n to {\n @include transform(translateY(10px) scale(0.7));\n opacity: 0.0;\n }\n}\n\n@include keyframes(ax-toast-removed-top) {\n from {\n @include transform(translateY(0px));\n opacity: 1.0;\n }\n to {\n @include transform(translateY(-10px) scale(0.7));\n opacity: 0.0;\n }\n}\n\n@include keyframes(ax-toast-destroy) {\n from {\n @include transform(scale(1));\n opacity: 1.0;\n }\n to {\n @include transform(scale(1.5));\n opacity: 0.0;\n }\n}\n\n// mixins --------------------------------------------- end\n\n.ax5-ui-toast-container {\n z-index: $ax5toast-z-index;\n position: fixed;\n width: $ax5toast-container-width;\n padding: $ax5toast-container-padding;\n\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n .ax5-ui-toast {\n @include ax-toast();\n @include ax-toast-section();\n @include transition(all $ax5toast-easing-time ease-in-out);\n\n @include toast-variant($ax5toast-default-text, $ax5toast-default-bg, $ax5toast-default-color);\n\n &.primary {\n @include toast-variant($ax5toast-primary-text, $ax5toast-primary-bg, $ax5toast-primary-color);\n }\n &.success {\n @include toast-variant($ax5toast-success-text, $ax5toast-success-bg, $ax5toast-success-color);\n }\n &.info {\n @include toast-variant($ax5toast-info-text, $ax5toast-info-bg, $ax5toast-info-color);\n }\n &.warning {\n @include toast-variant($ax5toast-warning-text, $ax5toast-warning-bg, $ax5toast-warning-color);\n }\n &.danger {\n @include toast-variant($ax5toast-danger-text, $ax5toast-danger-bg, $ax5toast-danger-color);\n }\n }\n\n &.bottom-left {\n left: 0;\n bottom: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-top $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-bottom $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n &.bottom-right {\n right: 0;\n bottom: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-top $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-bottom $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n\n }\n\n &.top-left {\n left: 0;\n top: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-bottom $ax5toast-easing-time $ax5toast-easing);\n\n &.removed {\n @include animation(ax-toast-removed-top $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n\n &.top-right {\n right: 0;\n top: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-bottom $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-top $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n\n}\n\n","\r\n.ui-datepicker {\r\n padding:0;\r\n font-family:inherit;\r\n\r\n .ui-icon {\r\n background-image:none;\r\n }\r\n\r\n &.ui-widget.ui-widget-content {\r\n border:0 none;\r\n box-shadow:0 0 10px rgba(#000, 0.4);\r\n }\r\n\r\n th {\r\n font-weight:400;\r\n }\r\n\r\n td {\r\n padding:0;\r\n text-align:center;\r\n\r\n .ui-state-default {\r\n background-color:transparent;\r\n border:0 none;\r\n text-align:center;\r\n\r\n &:hover {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n }\r\n }\r\n\r\n .ui-state-highlight {\r\n color:$brand-primary;\r\n }\r\n\r\n .ui-state-active {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n }\r\n\r\n }\r\n\r\n .ui-widget-header {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n border:0 none;\r\n border-bottom-left-radius:0;\r\n border-bottom-right-radius:0;\r\n }\r\n\r\n .ui-datepicker-header {\r\n padding:0;\r\n height:30px;\r\n @include display-flex();\r\n align-items: center;\r\n }\r\n\r\n .ui-datepicker-prev,\r\n .ui-datepicker-next {\r\n text-align: center;\r\n width:30px;\r\n height:30px;\r\n top:0px;\r\n @include display-flex();\r\n align-items: center;\r\n justify-content: center;\r\n border-radius:0px;\r\n\r\n &.ui-datepicker-prev-hover,\r\n &.ui-datepicker-next-hover{\r\n background-color:darken($brand-primary, 7.5%);\r\n color:#fff;\r\n border:0 none;\r\n cursor:pointer;\r\n }\r\n }\r\n\r\n .ui-datepicker-prev {\r\n left:0;\r\n }\r\n\r\n .ui-datepicker-next {\r\n right:0;\r\n }\r\n\r\n .ui-datepicker-title {\r\n width:100%;\r\n select {\r\n vertical-align: middle;\r\n background: transparent;\r\n border: 0 none;\r\n color: #fff;\r\n height:30px;\r\n line-height:30px;\r\n outline: 0 none !important;\r\n text-align:center;\r\n margin:0;\r\n font-family:inherit;\r\n\r\n option {\r\n color:#333;\r\n }\r\n }\r\n }\r\n}","#login-form {\r\n width:100%;\r\n height:100%;\r\n display:flex;\r\n background:url(../images/admin/login-bg.jpg);\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .login-logo {\r\n font-size:32px;\r\n font-weight:900;\r\n color:#fff;\r\n -webkit-animation: SLIDE-UP 0.6s linear forwards;\r\n -o-animation: SLIDE-UP 0.6s linear forwards;\r\n animation: SLIDE-UP 0.6s linear forwards;\r\n margin-bottom:20px;\r\n text-align:center;\r\n }\r\n\r\n .login-notice {\r\n color:#ccc;\r\n font-size:12px;\r\n text-align:center;\r\n letter-spacing: -0.04em;\r\n margin-top:10px;\r\n }\r\n .login-panel {\r\n -webkit-animation: SLIDE-DOWN 0.6s linear forwards;\r\n -o-animation: SLIDE-DOWN 0.6s linear forwards;\r\n animation: SLIDE-DOWN 0.6s linear forwards;\r\n border:1px solid #788694;\r\n width: 320px;\r\n box-shadow: 0 0 10px #000;\r\n border-radius: 8px;\r\n overflow: hidden;\r\n background: rgba(0,0,0,0.5);\r\n margin:0 auto;\r\n\r\n .login-heading {\r\n padding: 10px 15px;\r\n border-top-right-radius: 2px;\r\n border-top-left-radius: 2px;\r\n color: #ccc;\r\n border-bottom: 1px solid #788694;\r\n font-size: 0.9em;\r\n background: rgba(255,255,255,0.1);\r\n text-align:center;\r\n }\r\n\r\n .login-body {\r\n padding: 20px 20px;\r\n color: #eee;\r\n text-align: left;\r\n }\r\n\r\n .form-control {\r\n background:transparent;\r\n text-align:center;\r\n color:#fff;\r\n border: #ccc 1px solid;\r\n }\r\n\r\n .btn {\r\n background:#000;\r\n color:#fff;\r\n border:1px solid #ccc;\r\n padding: 10px;\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["admin.scss","boot/_fonts.scss","admin.min.css","boot/_reset.scss","common/_animation.scss","common/_layout.scss","common/_utility.scss","_variables.scss","boot/_mixins.scss","components/_buttons.scss","boot/_function.scss","components/_dropdown.scss","components/_grid.scss","components/_form.scss","components/_pagination.scss","plugins/_jquery_ui.scss","plugins/fontawesome5/fontawesome.scss","plugins/fontawesome5/_core.scss","plugins/fontawesome5/_larger.scss","plugins/fontawesome5/_fixed-width.scss","plugins/fontawesome5/_list.scss","plugins/fontawesome5/_variables.scss","plugins/fontawesome5/_bordered-pulled.scss","plugins/fontawesome5/_animated.scss","plugins/fontawesome5/_rotated-flipped.scss","plugins/fontawesome5/_mixins.scss","plugins/fontawesome5/_stacked.scss","plugins/fontawesome5/_icons.scss","plugins/fontawesome5/_screen-reader.scss","plugins/fontawesome5/fa-regular.scss","plugins/fontawesome5/fa-light.scss","plugins/fontawesome5/fa-solid.scss","plugins/fontawesome5/fa-brands.scss","plugins/ax5ui/_mixin.scss","plugins/ax5ui/_ax5grid.scss","plugins/ax5ui/_bourbon_support.scss","plugins/ax5ui/_ax5mask.scss","plugins/ax5ui/_ax5modal.scss","plugins/ax5ui/_ax5toast.scss","plugins/_plugins_custom.scss","pages/_login.scss"],"names":[],"mappings":"iBA4BA,uBC5BA,WACE,EAAA,IAAA,KAAW,KAAE,iBCEd,WAAY,KDOb,cACE,IAAA,MAAa,KCNd,YAAa,IAAI,MAAM,KDexB,aACE,IAAA,MAAW,KCdZ,WAAY,IAAI,MAAM,KDuBvB,MAAA,KCrBC,YAAa,gBAAgB,CAAE,SAAS,CAAE,KAAK,CAAE,WDgClD,QAAU,IC9BT,aAAc,EDwCf,YACE,ICvCD,SAAU,SD8CX,QAAU,KC5CT,gBAAiB,WDoDlB,WACE,WCnDD,QAAS,KAEV,kCCnBA,QAAA,IAAA,EAAA,IAAA,IASA,8BDeC,SAAU,SCJT,KAAA,EDMD,IAAK,ECDN,MAAO,KDGN,OAAQ,MCCT,WACQ,IDAP,OAAQ,KAIT,8BCgBA,OAAQ,eDZR,iBCqBA,sBACI,KDpBH,oBAAqB,KC2BtB,mBAEE,KD3BD,iBAAkB,KC+BnB,gBAGE,KDhCD,eAAgB,KCoCjB,YAEA,KDlCA,4BAA8B,WAAY,IC2C1C,iCAEC,WAAA,IAED,qCD3CC,QAAS,aC+CV,SACE,OD9CD,WAAY,KCsDb,yBDlDC,gBAAiB,WCsDlB,WAEE,WDtDD,QAAS,EC4DV,OAAM,EDxDN,0CAA2C,0CC4D1C,QACM,KDzDP,iDAAkD,iDCwDjD,QAWO,MD/DR,0CCoDC,MAWO,MD7DP,MAAO,KC8ER,YAEG,IAMH,qDDlFC,MAAO,MCyFR,aACQ,IDxFP,YAAa,ECgGd,2DD5FC,MAAO,MCqGR,0CDjGC,MAAO,KCyGR,MACE,KDxGD,WAAY,OC4Gb,YACE,ID3GD,WAAY,EAEb,qDC6GA,MAAM,MD3GL,aAAc,ICoHf,YACM,EDjHN,oECgIA,WACA,ID/HC,cAAe,IC0IhB,2CDtIC,SAAU,SC8IX,WAAW,OD1IX,uCAEA,oCCqJA,oCAKA,4CDxJC,iBAAkB,o5DC2KnB,uCDvKC,QAAS,GC2KV,oBAAe,MAAA,MDzKd,QAAS,aC8KV,MAAM,ID5KL,OAAQ,KCiLT,eAAe,OD7Kf,oCCyLA,MAAO,KDvLN,oBAAqB,MAAM,EAE5B,4CC8LA,MAAQ,KD5LP,oBAAqB,MAAM,ECgM5B,YACE,ID7LF,oCACC,MEnIK,MFoIL,oBElIoB,EAAE,EFqIvB,oCACA,oCACA,4CACC,iBAAkB,YEzHnB,kBAAU,UF2HT,OExHG,EAAA,KFyHH,OExHG,QFyHH,QExHG,MFyHH,OExHG,KFyHH,QExHG,GF0HH,QEtHG,OAAA,KFuHH,SEtHG,OFuHH,QEtHG,EFuHH,SEtHG,SFuHH,YEtHY,KFuHZ,YAAa,OEnHd,MAAA,KFqHC,UElHG,EAQJ,uDF6GA,uDAEC,ME5GG,KF6GH,oBE1Ge,MAAA,MF2Gf,OE1GG,KF2GH,MAAO,KEvGR,QAAU,MFyGT,YEtGG,KFuGH,WEtGG,IFyGJ,kEADA,kEAEC,MErGK,KFsGL,YEpGG,EFqGH,aEpGG,KFuGJ,uDACC,oBAAqB,MAAM,EEjG5B,cAAA,IFmGC,WE9FG,EFiGJ,2DACC,OAAQ,MErFT,SAAA,OFuFC,cEpFG,IAAgB,MAAA,KFuFpB,mEACC,WElFG,QFmFH,WElFG,IAAA,MAAgB,KFmFnB,MElFG,KFmFH,UElFG,KFmFH,WElFY,OFmFZ,gBAAiB,SE/ElB,OAAA,QFiFC,oBE5EG,EF6EH,OAAQ,KEzET,YAAA,KASA,+EFqEC,iBElEiB,EFsElB,0CACA,0CAFA,kDAGC,QEhEG,ECnJJ,qCHwNC,QAAS,OGlNV,SACE,SHmND,QAAS,KGpNV,OAaE,EHyMD,QAAS,IAAI,IGtNd,UAmBE,KHqMD,YAAa,KGxNd,YA0BE,IHgMD,iBAAkB,KG1NnB,MA0BE,KHkMD,MAAO,MG5NR,WA0CE,OHoLD,OAAQ,QG/JT,gDHmKC,gBAAiB,UGnKlB,6CHuKC,QAAS,EGvKV,oDH2KC,OAAQ,IAAI,MAAM,KG3KnB,SASE,SHoKD,MAAO,EG7KR,IASE,KHsKD,QAAS,IG/KV,QASE,KHwKD,WAAY,KGjLb,WASE,MH0KD,WAAY,OGnLb,uEAoF6B,MACjB,KHkGZ,sEAAyE,MAAO,IGvLhF,6EHyLC,MAAO,KGzLR,WASE,QHoLF,uEG7LA,QASE,IAAA,KAAA,IAAgB,IHsLjB,gBAAiB,eG9DlB,sFHkEC,WAAY,KGlEb,WAGE,QAAA,EAAA,IACE,IAAA,EAAA,MHgEH,MAAO,KGpER,YAGE,IHqEF,qCGxDA,MAOE,MHmDD,WAAY,MG1Db,wCH8DC,MAAO,KG9DR,oCHkEC,MAAO,K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,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBADV,MACE,OAAQ,gBAIV,IACE,MAAO,cADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,KACE,MAAO,eADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBADT,MACE,MAAO,gBAIT,IACE,OAAO,IAET,KACE,WAAW,IAEb,KACE,aAAa,IAEf,KACE,cAAc,IAEhB,KACE,YAAY,IAEd,KACE,YAAY,IAEd,KACE,cAAc,IAEhB,KACE,eAAe,IAEjB,KACE,aAAa,IAEf,IACE,QAAQ,IA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KA5BV,KACE,OAAO,KAET,MACE,WAAW,KAEb,MACE,aAAa,KAEf,MACE,cAAc,KAEhB,MACE,YAAY,KAEd,MACE,YAAY,KAEd,MACE,cAAc,KAEhB,MACE,eAAe,KAEjB,MACE,aAAa,KAEf,KACE,QAAQ,KAIZ,aACE,WAAW,iBAGb,WACE,WAAW,eAGb,YACE,WAAW,gBAKX,cACE,MC5Da,QD2Df,gBACE,MC3De,QD0DjB,cACE,MC1Da,QDyDf,WACE,MCzDU,QDwDZ,cACE,MCxDa,QDuDf,aACE,MCvDY,QDsDd,YACE,MCtDW,QDqDb,WACE,MCrDU,QEbd,KACE,QAAS,aACT,YAAa,IACb,MFYY,QEXZ,WAAY,OACZ,eAAgB,OAChB,YAAa,KACb,iBAAkB,YAClB,OAAQ,IAAA,MAAA,YDiCR,QDJsB,IACA,KCItB,UDHsB,KCItB,YDhBkB,MCiBlB,cDHyB,ICvBzB,mBAFqC,IAAb,IDcL,KCXnB,gBAHqC,IAAb,IDcL,KCVnB,eAJqC,IAAb,IDcL,KCTnB,cALqC,IAAb,IDcL,KCRnB,WANqC,IAAb,IDcL,KE9BrB,WAaI,MFEU,QEDV,gBAAiB,KAdrB,WAAA,WAmBI,QAAS,EACT,WAAW,KApBf,cAAA,cAyBI,QAAS,GACT,WAAW,KA1Bf,mCA8BI,OAAQ,QAYZ,eACA,wBACE,eAAgB,KAIhB,aDAA,MEtCU,QFuCV,iBD3Ce,QC4Cf,aD5Ce,QC8Cf,mBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,MExDQ,QFyDR,iBD7Da,QC8Db,aD9Da,QE0Cf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,eDAA,MEtCU,QFuCV,iBD1CiB,QC2CjB,aD3CiB,QC6CjB,qBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,wBChBA,wBDkBE,MExDQ,QFyDR,iBD5De,QC6Df,aD7De,QEyCjB,oDDuBA,oDAEA,qCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,aDAA,MExCU,QFyCV,iBDzCe,QC0Cf,aD1Ce,QC4Cf,mBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,ME1DQ,QF2DR,iBD3Da,QC4Db,aD5Da,QEwCf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,UDAA,MEtCU,QFuCV,iBDxCY,QCyCZ,aDzCY,QC2CZ,gBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,mBChBA,mBDkBE,MExDQ,QFyDR,iBD1DU,QC2DV,aD3DU,QEuCZ,+CDuBA,+CAEA,gCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,aDAA,MExCU,QFyCV,iBDvCe,QCwCf,aDxCe,QC0Cf,mBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBChBA,sBDkBE,ME1DQ,QF2DR,iBDzDa,QC0Db,aD1Da,QEsCf,kDDuBA,kDAEA,mCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,YDAA,MEtCU,QFuCV,iBDtCc,QCuCd,aDvCc,QCyCd,kBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,qBChBA,qBDkBE,MExDQ,QFyDR,iBDxDY,QCyDZ,aDzDY,QEqCd,iDDuBA,iDAEA,kCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,WDAA,MExCU,QFyCV,iBDrCa,QCsCb,aDtCa,QCwCb,iBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,oBChBA,oBDkBE,ME1DQ,QF2DR,iBDvDW,QCwDX,aDxDW,QEoCb,gDDuBA,gDAEA,iCACE,MElEQ,QFmER,iBA5B+I,QA6B/I,aA7ByL,QCC3L,UDAA,MEtCU,QFuCV,iBDpCY,QCqCZ,aDrCY,QCuCZ,gBACE,ME3CQ,QF4CR,iBAP2D,QAQ3D,aARqG,QAiBvG,mBChBA,mBDkBE,MExDQ,QFyDR,iBDtDU,QCuDV,aDvDU,QEmCZ,+CDuBA,+CAEA,gCACE,MEhEQ,QFiER,iBA5B+I,QA6B/I,aA7ByL,QCM7L,UACE,QAAQ,EAGV,aDTE,MExCU,QFyCV,iBCSwB,KDRxB,aCQ8B,QDN9B,mBACE,ME7CQ,QF8CR,iBAP2D,QAQ3D,aARqG,QAiBvG,sBCPF,sBDSI,ME1DQ,QF2DR,iBCTsB,KDUtB,aCV4B,QADhC,kDDcE,kDAEA,mCACE,MElEQ,QFmER,iBA5B+I,QA6B/I,aA7ByL,KCc7L,QDpBE,QDE4B,IACA,KCF5B,UDG4B,KCF5B,YDhBkB,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AAW,cDZb,eCYE,UAAW,eDXb,eCWE,UAAW,eDTb,oBCcE,UAAW,YDbb,kBCaE,UAAW,YDZb,qCCYE,UAAW,aDPb,0BAAA,wBAAA,qBAAA,qBAAA,oBAMI,OAAQ,KEjBZ,UACE,QAAS,aACT,OAAQ,IACR,YAAa,IACb,SAAU,SACV,eAAgB,OAChB,MAAO,IAGT,aACA,aACE,KAAM,EACN,SAAU,SACV,WAAY,OACZ,MAAO,KAGT,aACE,YAAa,QAGf,aACE,UAAW,IAGb,YACE,MLrB4B,KML9B,iBAAkC,QNUxB,QMTV,2BAA4C,QNSlC,QMRV,oBAAqC,QNQ3B,QMPV,wBAAyC,QNO/B,QMNV,wBAAyC,QNM/B,QMLV,kBAAmC,QNKzB,QMJV,eAAgC,QNItB,QMHV,oBAAqC,QNG3B,QMFV,0BAA2C,QNEjC,QMDV,uBAAwC,QNC9B,QMAV,mBAAoC,QNA1B,QMCV,wBAAyC,QND/B,QMEV,yBAA0C,QNFhC,QMGV,sBAAuC,QNH7B,QMIV,uBAAwC,QNJ9B,QMKV,qBAAsC,QNL5B,QMMV,kBAAmC,QNNzB,QMOV,sBAAuC,QNP7B,QMQV,qBAAsC,QNR5B,QMSV,+CAAgE,QNTtD,QMUV,kBAAmC,QNVzB,QMWV,kBAAmC,QNXzB,QMYV,mBAAoC,QNZ1B,QMaV,qBAAsC,QNb5B,QMcV,6BAA8C,QNdpC,QMeV,6BAA8C,QNfpC,QMgBV,8BAA+C,QNhBrC,QMiBV,2BAA4C,QNjBlC,QMkBV,sBAAuC,QNlB7B,QMmBV,sBAAuC,QNnB7B,QMoBV,uBAAwC,QNpB9B,QMqBV,oBAAqC,QNrB3B,QMsBV,iBAAkC,QNtBxB,QMuBV,yBAA0C,QNvBhC,QMwBV,mBAAoC,QNxB1B,QMyBV,qBAAsC,QNzB5B,QM0BV,yBAA0C,QN1BhC,QM2BV,iBAAkC,QN3BxB,QM4BV,iBAAkC,QN5BxB,QM6BV,qBAAsC,QN7B5B,QM8BV,mBAAoC,QN9B1B,QM+BV,mBAAoC,QN/B1B,QMgCV,iCAAkD,QNhCxC,QMiCV,iCAAkD,QNjCxC,QMkCV,kCAAmD,QNlCzC,QMmCV,+BAAgD,QNnCtC,QMoCV,0BAA2C,QNpCjC,QMqCV,iCAAkD,QNrCxC,QMsCV,+BAAgD,QNtCtC,QMuCV,gCAAiD,QNvCvC,QMwCV,8BAA+C,QNxCrC,QMyCV,0BAA2C,QNzCjC,QM0CV,2BAA4C,QN1ClC,QM2CV,iCAAkD,QN3CxC,QM4CV,iCAAkD,QN5CxC,QM6CV,kCAAmD,QN7CzC,QM8CV,+BAAgD,QN9CtC,QM+CV,+BAAgD,QN/CtC,QMgDV,6BAA8C,QNhDpC,QMiDV,8BAA+C,QNjDrC,QMkDV,4BAA6C,QNlDnC,QMmDV,wBAAyC,QNnD/B,QMoDV,6BAA8C,QNpDpC,QMqDV,6BAA8C,QNrDpC,QMsDV,8BAA+C,QNtDrC,QMuDV,2BAA4C,QNvDlC,QMwDV,sBAAuC,QNxD7B,QMyDV,6BAA8C,QNzDpC,QM0DV,2BAA4C,QN1DlC,QM2DV,4BAA6C,QN3DnC,QM4DV,0BAA2C,QN5DjC,QM6DV,sBAAuC,QN7D7B,QM8DV,uBAAwC,QN9D9B,QM+DV,6BAA8C,QN/DpC,QMgEV,6BAA8C,QNhEpC,QMiEV,8BAA+C,QNjErC,QMkEV,2BAA4C,QNlElC,QMmEV,2BAA4C,QNnElC,QMoEV,yBAA0C,QNpEhC,QMqEV,0BAA2C,QNrEjC,QMsEV,wBAAyC,QNtE/B,QMuEV,oBAAqC,QNvE3B,QMwEV,kBAAmC,QNxEzB,QMyEV,sBAAuC,QNzE7B,QM0EV,wBAAyC,QN1E/B,QM2EV,wBAAyC,QN3E/B,QM4EV,oBAAqC,QN5E3B,QM6EV,oBAAqC,QN7E3B,QM8EV,uCAAwD,QN9E9C,QM+EV,oBAAqC,QN/E3B,QMgFV,sBAAuC,QNhF7B,QMiFV,cAA+B,QNjFrB,QMkFV,iBAAkC,QNlFxB,QMmFV,mBAAoC,QNnF1B,QMoFV,6BAA8C,QNpFpC,QMqFV,wBAAyC,QNrF/B,QMsFV,mBAAoC,QNtF1B,QMuFV,kBAAmC,QNvFzB,QMwFV,iBAAkC,QNxFxB,QMyFV,eAAgC,QNzFtB,QM0FV,qBAAsC,QN1F5B,QM2FV,oBAAqC,QN3F3B,QM4FV,iBAAkC,QN5FxB,QM6FV,uBAAwC,QN7F9B,QM8FV,yBAA0C,QN9FhC,QM+FV,8BAA+C,QN/FrC,QMgGV,+BAAgD,QNhGtC,QMiGV,eAAgC,QNjGtB,QMkGV,oBAAqC,QNlG3B,QMmGV,oBAAqC,QNnG3B,QMoGV,mBAAoC,QNpG1B,QMqGV,uBAAwC,QNrG9B,QMsGV,wBAAyC,QNtG/B,QMuGV,wBAAyC,QNvG/B,QMwGV,gBAAiC,QNxGvB,QMyGV,oBAAqC,QNzG3B,QM0GV,yBAA0C,QN1GhC,QM2GV,2BAA4C,QN3GlC,QM4GV,2BAA4C,QN5GlC,QM6GV,gBAAiC,QN7GvB,QM8GV,wBAAyC,QN9G/B,QM+GV,yBAA0C,QN/GhC,QMgHV,wBAAyC,QNhH/B,QMiHV,wBAAyC,QNjH/B,QMkHV,2BAA4C,QNlHlC,QMmHV,yBAA0C,QNnHhC,QMoHV,kCAAmD,QNpHzC,QMqHV,eAAgC,QNrHtB,QMsHV,gBAAiC,QNtHvB,QMuHV,mBAAoC,QNvH1B,QMwHV,0BAA2C,QNxHjC,QMyHV,gBAAiC,QNzHvB,QM0HV,sBAAuC,QN1H7B,QM2HV,wBAAyC,QN3H/B,QM4HV,mBAAoC,QN5H1B,QM6HV,qBAAsC,QN7H5B,QM8HV,sBAAuC,QN9H7B,QM+HV,yBAA0C,QN/HhC,QMgIV,qBAAsC,QNhI5B,QMiIV,mBAAoC,QNjI1B,QMkIV,gBAAiC,QNlIvB,QMmIV,qBAAsC,QNnI5B,QMoIV,sBAAuC,QNpI7B,QMqIV,mBAAoC,QNrI1B,QMsIV,mBAAoC,QNtI1B,QMuIV,iBAAkC,QNvIxB,QMwIV,mBAAoC,QNxI1B,QMyIV,qBAAsC,QNzI5B,QM0IV,qBAAsC,QN1I5B,QM2IV,uBAAwC,QN3I9B,QM4IV,gBAAiC,QN5IvB,QM6IV,gBAAiC,QN7IvB,QM8IV,gBAAiC,QN9IvB,QM+IV,gBAAiC,QN/IvB,QMgJV,gBAAiC,QNhJvB,QMiJV,sBAAuC,QNjJ7B,QMkJV,qBAAsC,QNlJ5B,QMmJV,oBAAqC,QNnJ3B,QMoJV,wBAAyC,QNpJ/B,QMqJV,wBAAyC,QNrJ/B,QMsJV,eAAgC,QNtJtB,QMuJV,mBAAoC,QNvJ1B,QMwJV,qBAAsC,QNxJ5B,QMyJV,uBAAwC,QNzJ9B,QM0JV,oBAAqC,QN1J3B,QM2JV,qBAAsC,QN3J5B,QM4JV,oBAAqC,QN5J3B,QM6JV,kBAAmC,QN7JzB,QM8JV,mBAAoC,QN9J1B,QM+JV,iBAAkC,QN/JxB,QMgKV,qBAAsC,QNhK5B,QMiKV,wBAAyC,QNjK/B,QMkKV,mBAAoC,QNlK1B,QMmKV,qBAAsC,QNnK5B,QMoKV,6BAA8C,QNpKpC,QMqKV,2BAA4C,QNrKlC,QMsKV,iBAAkC,QNtKxB,QMuKV,mBAAoC,QNvK1B,QMwKV,iBAAkC,QNxKxB,QMyKV,eAAgC,QNzKtB,QM0KV,eAAgC,QN1KtB,QM2KV,oBAAqC,QN3K3B,QM4KV,oBAAqC,QN5K3B,QM6KV,oBAAqC,QN7K3B,QM8KV,gBAAiC,QN9KvB,QM+KV,4BAA6C,QN/KnC,QMgLV,eAAgC,QNhLtB,QMiLV,mBAAoC,QNjL1B,QMkLV,sBAAuC,QNlL7B,QMmLV,sBAAuC,QNnL7B,QMoLV,oBAAqC,QNpL3B,QMqLV,wBAAyC,QNrL/B,QMsLV,0BAA2C,QNtLjC,QMuLV,yBAA0C,QNvLhC,QMwLV,gCAAiD,QNxLvC,QMyLV,0BAA2C,QNzLjC,QM0LV,yBAA0C,QN1LhC,QM2LV,0BAA2C,QN3LjC,QM4LV,kBAAmC,QN5LzB,QM6LV,sBAAuC,QN7L7B,QM8LV,wBAAyC,QN9L/B,QM+LV,oBAAqC,QN/L3B,QMgMV,oBAAqC,QNhM3B,QMiMV,eAAgC,QNjMtB,QMkMV,6BAA8C,QNlMpC,QMmMV,6BAA8C,QNnMpC,QMoMV,8BAA+C,QNpMrC,QMqMV,2BAA4C,QNrMlC,QMsMV,sBAAuC,QNtM7B,QMuMV,sBAAuC,QNvM7B,QMwMV,uBAAwC,QNxM9B,QMyMV,6BAA8C,QNzMpC,QM0MV,6BAA8C,QN1MpC,QM2MV,8BAA+C,QN3MrC,QM4MV,2BAA4C,QN5MlC,QM6MV,oBAAqC,QN7M3B,QM8MV,2BAA4C,QN9MlC,QM+MV,qBAAsC,QN/M5B,QMgNV,yBAA0C,QNhNhC,QMiNV,mBAAoC,QNjN1B,QMkNV,wBAAyC,QNlN/B,QMmNV,0BAA2C,QNnNjC,QMoNV,uBAAwC,QNpN9B,QMqNV,kBAAmC,QNrNzB,QMsNV,yBAA0C,QNtNhC,QMuNV,qBAAsC,QNvN5B,QMwNV,qBAAsC,QNxN5B,QMyNV,mBAAoC,QNzN1B,QM0NV,sBAAuC,QN1N7B,QM2NV,uBAAwC,QN3N9B,QM4NV,sBAAuC,QN5N7B,QM6NV,8BAA+C,QN7NrC,QM8NV,sBAAuC,QN9N7B,QM+NV,qBAAsC,QN/N5B,QMgOV,sBAAuC,QNhO7B,QMiOV,qBAAsC,QNjO5B,QMkOV,iBAAkC,QNlOxB,QMmOV,wBAAyC,QNnO/B,QMoOV,wBAAyC,QNpO/B,QMqOV,wBAAyC,QNrO/B,QMsOV,iBAAkC,QNtOxB,QMuOV,wBAAyC,QNvO/B,QMwOV,4BAA6C,QNxOnC,QMyOV,uBAAwC,QNzO9B,QM0OV,uBAAwC,QN1O9B,QM2OV,2BAA4C,QN3OlC,QM4OV,sBAAuC,QN5O7B,QM6OV,0BAA2C,QN7OjC,QM8OV,wBAAyC,QN9O/B,QM+OV,4BAA6C,QN/OnC,QMgPV,sBAAuC,QNhP7B,QMiPV,0BAA2C,QNjPjC,QMkPV,uBAAwC,QNlP9B,QMmPV,2BAA4C,QNnPlC,QMoPV,sBAAuC,QNpP7B,QMqPV,0BAA2C,QNrPjC,QMsPV,+BAAgD,QNtPtC,QMuPV,+BAAgD,QNvPtC,QMwPV,gCAAiD,QNxPvC,QMyPV,6BAA8C,QNzPpC,QM0PV,+BAAgD,QN1PtC,QM2PV,+BAAgD,QN3PtC,QM4PV,gCAAiD,QN5PvC,QM6PV,6BAA8C,QN7PpC,QM8PV,wBAAyC,QN9P/B,QM+PV,wBAAyC,QN/P/B,QMgQV,yBAA0C,QNhQhC,QMiQV,+BAAgD,QNjQtC,QMkQV,+BAAgD,QNlQtC,QMmQV,gCAAiD,QNnQvC,QMoQV,6BAA8C,QNpQpC,QMqQV,sBAAuC,QNrQ7B,QMsQV,iBAAkC,QNtQxB,QMuQV,kBAAmC,QNvQzB,QMwQV,kBAAmC,QNxQzB,QMyQV,kBAAmC,QNzQzB,QM0QV,wBAAyC,QN1Q/B,QM2QV,qBAAsC,QN3Q5B,QM4QV,2BAA4C,QN5QlC,QM6QV,0BAA2C,QN7QjC,QM8QV,iBAAkC,QN9QxB,QM+QV,iBAAkC,QN/QxB,QMgRV,6BAA8C,QNhRpC,QMiRV,iBAAkC,QNjRxB,QMkRV,0BAA2C,QNlRjC,QMmRV,8BAA+C,QNnRrC,QMoRV,wBAAyC,QNpR/B,QMqRV,4BAA6C,QNrRnC,QMsRV,sBAAuC,QNtR7B,QMuRV,sBAAuC,QNvR7B,QMwRV,wBAAyC,QNxR/B,QMyRV,gBAAiC,QNzRvB,QM0RV,oBAAqC,QN1R3B,QM2RV,gBAAiC,QN3RvB,QM4RV,uBAAwC,QN5R9B,QM6RV,uBAAwC,QN7R9B,QM8RV,sBAAuC,QN9R7B,QM+RV,mBAAoC,QN/R1B,QMgSV,oBAAqC,QNhS3B,QMiSV,kBAAmC,QNjSzB,QMkSV,eAAgC,QNlStB,QMmSV,gBAAiC,QNnSvB,QMoSV,iBAAkC,QNpSxB,QMqSV,mBAAoC,QNrS1B,QMsSV,mBAAoC,QNtS1B,QMuSV,uBAAwC,QNvS9B,QMwSV,6BAA8C,QNxSpC,QMySV,4BAA6C,QNzSnC,QM0SV,4BAA6C,QN1SnC,QM2SV,mCAAoD,QN3S1C,QM4SV,6BAA8C,QN5SpC,QM6SV,6BAA8C,QN7SpC,QM8SV,4BAA6C,QN9SnC,QM+SV,6BAA8C,QN/SpC,QMgTV,6BAA8C,QNhTpC,QMiTV,6BAA8C,QNjTpC,QMkTV,yBAA0C,QNlThC,QMmTV,wBAAyC,QNnT/B,QMoTV,wBAAyC,QNpT/B,QMqTV,+BAAgD,QNrTtC,QMsTV,yBAA0C,QNtThC,QMuTV,yBAA0C,QNvThC,QMwTV,wBAAyC,QNxT/B,QMyTV,yBAA0C,QNzThC,QM0TV,yBAA0C,QN1ThC,QM2TV,yBAA0C,QN3ThC,QM4TV,oBAAqC,QN5T3B,QM6TV,wBAAyC,QN7T/B,QM8TV,wBAAyC,QN9T/B,QM+TV,mBAAoC,QN/T1B,QMgUV,oBAAqC,QNhU3B,QMiUV,wBAAyC,QNjU/B,QMkUV,yBAA0C,QNlUhC,QMmUV,0BAA2C,QNnUjC,QMoUV,0BAA2C,QNpUjC,QMqUV,6BAA8C,QNrUpC,QMsUV,kBAAmC,QNtUzB,QMuUV,yBAA0C,QNvUhC,QMwUV,6BAA8C,QNxUpC,QMyUV,kBAAmC,QNzUzB,QM0UV,uBAAwC,QN1U9B,QM2UV,gBAAiC,QN3UvB,QM4UV,qBAAsC,QN5U5B,QM6UV,iBAAkC,QN7UxB,QM8UV,kBAAmC,QN9UzB,QM+UV,4BAA6C,QN/UnC,QMgVV,+BAAgD,QNhVtC,QMiVV,+BAAgD,QNjVtC,QMkVV,kCAAmD,QNlVzC,QMmVV,kCAAmD,QNnVzC,QMoVV,+BAAgD,QNpVtC,QMqVV,+BAAgD,QNrVtC,QMsVV,mCAAoD,QNtV1C,QMuVV,kCAAmD,QNvVzC,QMwVV,+BAAgD,QNxVtC,QMyVV,qCAAsD,QNzV5C,QM0VV,0CAA2D,QN1VjD,QM2VV,kCAAmD,QN3VzC,QM4VV,iCAAkD,QN5VxC,QM6VV,uBAAwC,QN7V9B,QM8VV,6BAA8C,QN9VpC,QM+VV,6BAA8C,QN/VpC,QMgWV,mBAAoC,QNhW1B,QMiWV,gBAAiC,QNjWvB,QMkWV,oBAAqC,QNlW3B,QMmWV,sBAAuC,QNnW7B,QMoWV,gBAAiC,QNpWvB,QMqWV,iBAAkC,QNrWxB,QMsWV,gBAAiC,QNtWvB,QMuWV,oBAAqC,QNvW3B,QMwWV,gBAAiC,QNxWvB,QMyWV,iBAAkC,QNzWxB,QM0WV,mBAAoC,QN1W1B,QM2WV,eAAgC,QN3WtB,QM4WV,sBAAuC,QN5W7B,QM6WV,mBAAoC,QN7W1B,QM8WV,oBAAqC,QN9W3B,QM+WV,oBAAqC,QN/W3B,QMgXV,gBAAiC,QNhXvB,QMiXV,qBAAsC,QNjX5B,QMkXV,qBAAsC,QNlX5B,QMmXV,mBAAoC,QNnX1B,QMoXV,mBAAoC,QNpX1B,QMqXV,uBAAwC,QNrX9B,QMsXV,sBAAuC,QNtX7B,QMuXV,qBAAsC,QNvX5B,QMwXV,mBAAoC,QNxX1B,QMyXV,gBAAiC,QNzXvB,QM0XV,qBAAsC,QN1X5B,QM2XV,qBAAsC,QN3X5B,QM4XV,oBAAqC,QN5X3B,QM6XV,oBAAqC,QN7X3B,QM8XV,sBAAuC,QN9X7B,QM+XV,oBAAqC,QN/X3B,QMgYV,gBAAiC,QNhYvB,QMiYV,yBAA0C,QNjYhC,QMkYV,8BAA+C,QNlYrC,QMmYV,mBAAoC,QNnY1B,QMoYV,qBAAsC,QNpY5B,QMqYV,kBAAmC,QNrYzB,QMsYV,iBAAkC,QNtYxB,QMuYV,eAAgC,QNvYtB,QMwYV,kBAAmC,QNxYzB,QMyYV,kBAAmC,QNzYzB,QM0YV,uBAAwC,QN1Y9B,QM2YV,iBAAkC,QN3YxB,QM4YV,uBAAwC,QN5Y9B,QM6YV,yBAA0C,QN7YhC,QM8YV,6BAA8C,QN9YpC,QM+YV,+BAAgD,QN/YtC,QMgZV,kBAAmC,QNhZzB,QMiZV,uBAAwC,QNjZ9B,QMkZV,qBAAsC,QNlZ5B,QMmZV,sBAAuC,QNnZ7B,QMoZV,gBAAiC,QNpZvB,QMqZV,oBAAqC,QNrZ3B,QMsZV,yBAA0C,QNtZhC,QMuZV,4BAA6C,QNvZnC,QMwZV,oBAAqC,QNxZ3B,QMyZV,2BAA4C,QNzZlC,QM0ZV,mBAAoC,QN1Z1B,QM2ZV,gBAAiC,QN3ZvB,QM4ZV,yBAA0C,QN5ZhC,QM6ZV,kBAAmC,QN7ZzB,QM8ZV,oBAAqC,QN9Z3B,QM+ZV,kBAAmC,QN/ZzB,QMgaV,sBAAuC,QNha7B,QMiaV,gBAAiC,QNjavB,QMkaV,gBAAiC,QNlavB,QMmaV,gBAAiC,QNnavB,QMoaV,iBAAkC,QNpaxB,QMqaV,qBAAsC,QNra5B,QMsaV,sBAAuC,QNta7B,QMuaV,0BAA2C,QNvajC,QMwaV,sBAAuC,QNxa7B,QMyaV,0BAA2C,QNzajC,QM0aV,iBAAkC,QN1axB,QM2aV,kBAAmC,QN3azB,QM4aV,oBAAqC,QN5a3B,QM6aV,yBAA0C,QN7ahC,QM8aV,2BAA4C,QN9alC,QM+aV,kBAAmC,QN/azB,QMgbV,kBAAmC,QNhbzB,QMibV,kBAAmC,QNjbzB,QMkbV,kBAAmC,QNlbzB,QMmbV,oBAAqC,QNnb3B,QMobV,gBAAiC,QNpbvB,QMqbV,qBAAsC,QNrb5B,QMsbV,oBAAqC,QNtb3B,QMubV,wBAAyC,QNvb/B,QMwbV,uBAAwC,QNxb9B,QMybV,8BAA+C,QNzbrC,QM0bV,8BAA+C,QN1brC,QM2bV,gCAAiD,QN3bvC,QM4bV,kBAAmC,QN5bzB,QM6bV,sBAAuC,QN7b7B,QM8bV,yBAA0C,QN9bhC,QM+bV,6BAA8C,QN/bpC,QMgcV,uBAAwC,QNhc9B,QMicV,wBAAyC,QNjc/B,QMkcV,yBAA0C,QNlchC,QMmcV,6BAA8C,QNncpC,QMocV,gCAAiD,QNpcvC,QMqcV,oCAAqD,QNrc3C,QMscV,eAAgC,QNtctB,QMucV,uBAAwC,QNvc9B,QMwcV,qBAAsC,QNxc5B,QMycV,oBAAqC,QNzc3B,QM0cV,sBAAuC,QN1c7B,QM2cV,8BAA+C,QN3crC,QM4cV,2BAA4C,QN5clC,QM6cV,yBAA0C,QN7chC,QM8cV,wBAAyC,QN9c/B,QM+cV,eAAgC,QN/ctB,QMgdV,mBAAoC,QNhd1B,QMidV,uBAAwC,QNjd9B,QMkdV,kBAAmC,QNldzB,QMmdV,wBAAyC,QNnd/B,QModV,uBAAwC,QNpd9B,QMqdV,gBAAiC,QNrdvB,QMsdV,oBAAqC,QNtd3B,QMudV,wBAAyC,QNvd/B,QMwdV,sBAAuC,QNxd7B,QMydV,sBAAuC,QNzd7B,QM0dV,qBAAsC,QN1d5B,QM2dV,yBAA0C,QN3dhC,QM4dV,yBAA0C,QN5dhC,QM6dV,qBAAsC,QN7d5B,QM8dV,sBAAuC,QN9d7B,QM+dV,4BAA6C,QN/dnC,QMgeV,uBAAwC,QNhe9B,QMieV,sBAAuC,QNje7B,QMkeV,uBAAwC,QNle9B,QMmeV,wBAAyC,QNne/B,QMoeV,+BAAgD,QNpetC,QMqeV,wBAAyC,QNre/B,QMseV,4BAA6C,QNtenC,QMueV,sBAAuC,QNve7B,QMweV,oBAAqC,QNxe3B,QMyeV,qBAAsC,QNze5B,QM0eV,2BAA4C,QN1elC,QM2eV,6BAA8C,QN3epC,QM4eV,0BAA2C,QN5ejC,QM6eV,sBAAuC,QN7e7B,QM8eV,uBAAwC,QN9e9B,QM+eV,sBAAuC,QN/e7B,QMgfV,qBAAsC,QNhf5B,QMifV,gBAAiC,QNjfvB,QMkfV,qBAAsC,QNlf5B,QMmfV,gBAAiC,QNnfvB,QMofV,oBAAqC,QNpf3B,QMqfV,kBAAmC,QNrfzB,QMsfV,uBAAwC,QNtf9B,QMufV,gBAAiC,QNvfvB,QMwfV,6BAA8C,QNxfpC,QMyfV,mBAAoC,QNzf1B,QM0fV,qBAAsC,QN1f5B,QM2fV,uBAAwC,QN3f9B,QM4fV,2BAA4C,QN5flC,QM6fV,sBAAuC,QN7f7B,QM8fV,gBAAiC,QN9fvB,QM+fV,gBAAiC,QN/fvB,QMggBV,0BAA2C,QNhgBjC,QMigBV,iBAAkC,QNjgBxB,QMkgBV,kBAAmC,QNlgBzB,QMmgBV,qBAAsC,QNngB5B,QMogBV,mBAAoC,QNpgB1B,QMqgBV,eAAgC,QNrgBtB,QMsgBV,kBAAmC,QNtgBzB,QMugBV,uBAAwC,QNvgB9B,QMwgBV,gBAAiC,QNxgBvB,QMygBV,wBAAyC,QNzgB/B,QM0gBV,4BAA6C,QN1gBnC,QM2gBV,6BAA8C,QN3gBpC,QM4gBV,kCAAmD,QN5gBzC,QM6gBV,qBAAsC,QN7gB5B,QM8gBV,wBAAyC,QN9gB/B,QM+gBV,yBAA0C,QN/gBhC,QMghBV,2BAA4C,QNhhBlC,QMihBV,oBAAqC,QNjhB3B,QMkhBV,wBAAyC,QNlhB/B,QMmhBV,4BAA6C,QNnhBnC,QMohBV,oBAAqC,QNphB3B,QMqhBV,mBAAoC,QNrhB1B,QMshBV,sBAAuC,QNthB7B,QMuhBV,mBAAoC,QNvhB1B,QMwhBV,0BAA2C,QNxhBjC,QMyhBV,mBAAoC,QNzhB1B,QM0hBV,gBAAiC,QN1hBvB,QM2hBV,iBAAkC,QN3hBxB,QM4hBV,sBAAuC,QN5hB7B,QM6hBV,mBAAoC,QN7hB1B,QM8hBV,kBAAmC,QN9hBzB,QM+hBV,6BAA8C,QN/hBpC,QMgiBV,2BAA4C,QNhiBlC,QMiiBV,mBAAoC,QNjiB1B,QMkiBV,oBAAqC,QNliB3B,QMmiBV,iBAAkC,QNniBxB,QMoiBV,eAAgC,QNpiBtB,QMqiBV,sBAAuC,QNriB7B,QMsiBV,sBAAuC,QNtiB7B,QMuiBV,cAA+B,QNviBrB,QMwiBV,qBAAsC,QNxiB5B,QMyiBV,gBAAiC,QNziBvB,QM0iBV,eAAgC,QN1iBtB,QM2iBV,sBAAuC,QN3iB7B,QM4iBV,kBAAmC,QN5iBzB,QM6iBV,sBAAuC,QN7iB7B,QM8iBV,yBAA0C,QN9iBhC,QM+iBV,qBAAsC,QN/iB5B,QMgjBV,kBAAmC,QNhjBzB,QMijBV,kBAAmC,QNjjBzB,QMkjBV,yBAA0C,QNljBhC,QMmjBV,6BAA8C,QNnjBpC,QMojBV,mBAAoC,QNpjB1B,QMqjBV,iBAAkC,QNrjBxB,QMsjBV,mBAAoC,QNtjB1B,QMujBV,iBAAkC,QNvjBxB,QMwjBV,wBAAyC,QNxjB/B,QMyjBV,0BAA2C,QNzjBjC,QM0jBV,sBAAuC,QN1jB7B,QM2jBV,kBAAmC,QN3jBzB,QM4jBV,qBAAsC,QN5jB5B,QM6jBV,qBAAsC,QN7jB5B,QM8jBV,qBAAsC,QN9jB5B,QM+jBV,uBAAwC,QN/jB9B,QMgkBV,kBAAmC,QNhkBzB,QMikBV,wBAAyC,QNjkB/B,QMkkBV,uBAAwC,QNlkB9B,QMmkBV,uBAAwC,QNnkB9B,QMokBV,yBAA0C,QNpkBhC,QMqkBV,8BAA+C,QNrkBrC,QMskBV,yBAA0C,QNtkBhC,QMukBV,0BAA2C,QNvkBjC,QMwkBV,oBAAqC,QNxkB3B,QMykBV,gBAAiC,QNzkBvB,QM0kBV,wBAAyC,QN1kB/B,QM2kBV,8BAA+C,QN3kBrC,QM4kBV,mBAAoC,QN5kB1B,QM6kBV,gBAAiC,QN7kBvB,QM8kBV,oBAAqC,QN9kB3B,QM+kBV,qBAAsC,QN/kB5B,QMglBV,2BAA4C,QNhlBlC,QMilBV,uBAAwC,QNjlB9B,QMklBV,uBAAwC,QNllB9B,QMmlBV,6BAA8C,QNnlBpC,QMolBV,sBAAuC,QNplB7B,QMqlBV,sBAAuC,QNrlB7B,QMslBV,uBAAwC,QNtlB9B,QMulBV,8BAA+C,QNvlBrC,QMwlBV,4BAA6C,QNxlBnC,QMylBV,qBAAsC,QNzlB5B,QM0lBV,2BAA4C,QN1lBlC,QM2lBV,yBAA0C,QN3lBhC,QM4lBV,oBAAqC,QN5lB3B,QM6lBV,iBAAkC,QN7lBxB,QM8lBV,gBAAiC,QN9lBvB,QM+lBV,oBAAqC,QN/lB3B,QMgmBV,cAA+B,QNhmBrB,QMimBV,cAA+B,QNjmBrB,QMkmBV,cAA+B,QNlmBrB,QMmmBV,uBAAwC,QNnmB9B,QMomBV,8BAA+C,QNpmBrC,QMqmBV,sBAAuC,QNrmB7B,QMsmBV,wBAAyC,QNtmB/B,QMumBV,4BAA6C,QNvmBnC,QMwmBV,8BAA+C,QNxmBrC,QMymBV,iCAAkD,QNzmBxC,QM0mBV,4BAA6C,QN1mBnC,QM2mBV,8BAA+C,QN3mBrC,QM4mBV,uBAAwC,QN5mB9B,QM6mBV,sBAAuC,QN7mB7B,QM8mBV,sBAAuC,QN9mB7B,QM+mBV,2BAA4C,QN/mBlC,QMgnBV,2BAA4C,QNhnBlC,QMinBV,4BAA6C,QNjnBnC,QMknBV,yBAA0C,QNlnBhC,QMmnBV,wBAAyC,QNnnB/B,QMonBV,0BAA2C,QNpnBjC,QMqnBV,qBAAsC,QNrnB5B,QMsnBV,yBAA0C,QNtnBhC,QMunBV,sBAAuC,QNvnB7B,QMwnBV,iBAAkC,QNxnBxB,QMynBV,uBAAwC,QNznB9B,QM0nBV,yBAA0C,QN1nBhC,QM2nBV,qBAAsC,QN3nB5B,QM4nBV,qBAAsC,QN5nB5B,QM6nBV,yBAA0C,QN7nBhC,QM8nBV,mBAAoC,QN9nB1B,QM+nBV,eAAgC,QN/nBtB,QMgoBV,mBAAoC,QNhoB1B,QMioBV,sBAAuC,QNjoB7B,QMkoBV,0BAA2C,QNloBjC,QMmoBV,mBAAoC,QNnoB1B,QMooBV,iBAAkC,QNpoBxB,QMqoBV,wBAAyC,QNroB/B,QMsoBV,wBAAyC,QNtoB/B,QMuoBV,qBAAsC,QNvoB5B,QMwoBV,sBAAuC,QNxoB7B,QMyoBV,mBAAoC,QNzoB1B,QM0oBV,uBAAwC,QN1oB9B,QM2oBV,gBAAiC,QN3oBvB,QM4oBV,yBAA0C,QN5oBhC,QM6oBV,mBAAoC,QN7oB1B,QM8oBV,uBAAwC,QN9oB9B,QM+oBV,yBAA0C,QN/oBhC,QMgpBV,gBAAiC,QNhpBvB,QMipBV,sBAAuC,QNjpB7B,QMkpBV,iBAAkC,QNlpBxB,QMmpBV,oBAAqC,QNnpB3B,QMopBV,oBAAqC,QNppB3B,QMqpBV,wBAAyC,QNrpB/B,QMspBV,2BAA4C,QNtpBlC,QMupBV,mBAAoC,QNvpB1B,QMwpBV,iBAAkC,QNxpBxB,QMypBV,kBAAmC,QNzpBzB,QM0pBV,qBAAsC,QN1pB5B,QM2pBV,yBAA0C,QN3pBhC,QM4pBV,0BAA2C,QN5pBjC,QM6pBV,2BAA4C,QN7pBlC,QM8pBV,iBAAkC,QN9pBxB,QM+pBV,iBAAkC,QN/pBxB,QMgqBV,mBAAoC,QNhqB1B,QMiqBV,oBAAqC,QNjqB3B,QMkqBV,oBAAqC,QNlqB3B,QMmqBV,mBAAoC,QNnqB1B,QMoqBV,uBAAwC,QNpqB9B,QMqqBV,iBAAkC,QNrqBxB,QMsqBV,kBAAmC,QNtqBzB,QMuqBV,gBAAiC,QNvqBvB,QMwqBV,iBAAkC,QNxqBxB,QMyqBV,oBAAqC,QNzqB3B,QM0qBV,qBAAsC,QN1qB5B,QM2qBV,kBAAmC,QN3qBzB,QM4qBV,oBAAqC,QN5qB3B,QM6qBV,wBAAyC,QN7qB/B,QM8qBV,oBAAqC,QN9qB3B,QM+qBV,gBAAiC,QN/qBvB,QMgrBV,uBAAwC,QNhrB9B,QMirBV,uBAAwC,QNjrB9B,QMkrBV,qBAAsC,QNlrB5B,QMmrBV,6BAA8C,QNnrBpC,QMorBV,qBAAsC,QNprB5B,QMqrBV,mBAAoC,QNrrB1B,QMsrBV,kBAAmC,QNtrBzB,QMurBV,kBAAmC,QNvrBzB,QMwrBV,uBAAwC,QNxrB9B,QMyrBV,0BAA2C,QNzrBjC,QM0rBV,gBAAiC,QN1rBvB,QM2rBV,sBAAuC,QN3rB7B,QM4rBV,mBAAoC,QN5rB1B,QM6rBV,iBAAkC,QN7rBxB,QM8rBV,iBAAkC,QN9rBxB,QM+rBV,kBAAmC,QN/rBzB,QMgsBV,cAA+B,QNhsBrB,QMisBV,qBAAsC,QNjsB5B,QMksBV,oBAAqC,QNlsB3B,QMmsBV,eAAgC,QNnsBtB,QMosBV,mBAAoC,QNpsB1B,QMqsBV,oBAAqC,QNrsB3B,QMssBV,kBAAmC,QNtsBzB,QMusBV,uBAAwC,QNvsB9B,QMwsBV,yBAA0C,QNxsBhC,QMysBV,gBAAiC,QNzsBvB,QM0sBV,qBAAsC,QN1sB5B,QM2sBV,2BAA4C,QN3sBlC,QM4sBV,qBAAsC,QN5sB5B,QM6sBV,kBAAmC,QN7sBzB,QM8sBV,gBAAiC,QN9sBvB,QM+sBV,oBAAqC,QN/sB3B,QMgtBV,kBAAmC,QNhtBzB,QMitBV,mBAAoC,QNjtB1B,QMktBV,kBAAmC,QNltBzB,QMmtBV,yBAA0C,QNntBhC,QMotBV,iBAAkC,QNptBxB,QMqtBV,sBAAuC,QNrtB7B,QMstBV,wBAAyC,QNttB/B,QMutBV,sBAAuC,QNvtB7B,QMwtBV,gBAAiC,QNxtBvB,QMytBV,sBAAuC,QNztB7B,QM0tBV,mBAAoC,QN1tB1B,QM2tBV,iBAAkC,QN3tBxB,QM4tBV,gBAAiC,QN5tBvB,QM6tBV,qBAAsC,QN7tB5B,QM8tBV,2BAA4C,QN9tBlC,QM+tBV,sBAAuC,QN/tB7B,QMguBV,0BAA2C,QNhuBjC,QMiuBV,oBAAqC,QNjuB3B,QMkuBV,wBAAyC,QNluB/B,QMmuBV,qBAAsC,QNnuB5B,QMouBV,qBAAsC,QNpuB5B,QMquBV,gBAAiC,QNruBvB,QMsuBV,gBAAiC,QNtuBvB,QMuuBV,oBAAqC,QNvuB3B,QMwuBV,uBAAwC,QNxuB9B,QMyuBV,kBAAmC,QNzuBzB,QM0uBV,iBAAkC,QN1uBxB,QM2uBV,qBAAsC,QN3uB5B,QM4uBV,gBAAiC,QN5uBvB,QM6uBV,oBAAqC,QN7uB3B,QM8uBV,mBAAoC,QN9uB1B,QM+uBV,mBAAoC,QN/uB1B,QMgvBV,0BAA2C,QNhvBjC,QMivBV,gBAAiC,QNjvBvB,QMkvBV,oBAAqC,QNlvB3B,QMmvBV,qBAAsC,QNnvB5B,QMovBV,yBAA0C,QNpvBhC,QMqvBV,+BAAgD,QNrvBtC,QMsvBV,+BAAgD,QNtvBtC,QMuvBV,gCAAiD,QNvvBvC,QMwvBV,6BAA8C,QNxvBpC,QMyvBV,2BAA4C,QNzvBlC,QM0vBV,2BAA4C,QN1vBlC,QM2vBV,4BAA6C,QN3vBnC,QM4vBV,yBAA0C,QN5vBhC,QM6vBV,oBAAqC,QN7vB3B,QM8vBV,sBAAuC,QN9vB7B,QM+vBV,oBAAqC,QN/vB3B,QMgwBV,wBAAyC,QNhwB/B,QMiwBV,gBAAiC,QNjwBvB,QMkwBV,mBAAoC,QNlwB1B,QMmwBV,iBAAkC,QNnwBxB,QMowBV,kBAAmC,QNpwBzB,QMqwBV,qBAAsC,QNrwB5B,QMswBV,gBAAiC,QNtwBvB,QMuwBV,uBAAwC,QNvwB9B,QMwwBV,eAAgC,QNxwBtB,QMywBV,sBAAuC,QNzwB7B,QM0wBV,0BAA2C,QN1wBjC,QM2wBV,sBAAuC,QN3wB7B,QM4wBV,0BAA2C,QN5wBjC,QM6wBV,mBAAoC,QN7wB1B,QM8wBV,qBAAsC,QN9wB5B,QM+wBV,kBAAmC,QN/wBzB,QMgxBV,gBAAiC,QNhxBvB,QMixBV,uBAAwC,QNjxB9B,QMkxBV,uBAAwC,QNlxB9B,QMmxBV,yBAA0C,QNnxBhC,QMoxBV,yBAA0C,QNpxBhC,QMqxBV,oBAAqC,QNrxB3B,QMsxBV,kBAAmC,QNtxBzB,QMuxBV,iBAAkC,QNvxBxB,QMwxBV,mBAAoC,QNxxB1B,QMyxBV,kBAAmC,QNzxBzB,QM0xBV,oBAAqC,QN1xB3B,QM2xBV,kBAAmC,QN3xBzB,QM4xBV,iBAAkC,QN5xBxB,QM6xBV,kBAAmC,QN7xBzB,QM8xBV,oBAAqC,QN9xB3B,QM+xBV,eAAgC,QN/xBtB,QMgyBV,qBAAsC,QNhyB5B,QMiyBV,4BAA6C,QNjyBnC,QMkyBV,kBAAmC,QNlyBzB,QMmyBV,mBAAoC,QNnyB1B,QMoyBV,qBAAsC,QNpyB5B,QMqyBV,sBAAuC,QNryB7B,QMsyBV,0BAA2C,QNtyBjC,QMuyBV,gCAAiD,QNvyBvC,QMwyBV,4BAA6C,QNxyBnC,QMyyBV,qBAAsC,QNzyB5B,QM0yBV,iBAAkC,QN1yBxB,QM2yBV,wBAAyC,QN3yB/B,QM4yBV,yBAA0C,QN5yBhC,QM6yBV,yBAA0C,QN7yBhC,QM8yBV,wBAAyC,QN9yB/B,QM+yBV,eAAgC,QN/yBtB,QMgzBV,oBAAqC,QNhzB3B,QMizBV,kBAAmC,QNjzBzB,QMkzBV,kBAAmC,QNlzBzB,QMmzBV,sBAAuC,QNnzB7B,QMozBV,0BAA2C,QNpzBjC,QMqzBV,8BAA+C,QNrzBrC,QMszBV,gBAAiC,QNtzBvB,QMuzBV,kBAAmC,QNvzBzB,QMwzBV,sBAAuC,QNxzB7B,QMyzBV,0BAA2C,QNzzBjC,QM0zBV,2BAA4C,QN1zBlC,QM2zBV,+BAAgD,QN3zBtC,QM4zBV,uBAAwC,QN5zB9B,QM6zBV,2BAA4C,QN7zBlC,QM8zBV,oBAAqC,QN9zB3B,QM+zBV,gBAAiC,QN/zBvB,QMg0BV,yBAA0C,QNh0BhC,QMi0BV,sBAAuC,QNj0B7B,QMk0BV,yBAA0C,QNl0BhC,QMm0BV,iBAAkC,QNn0BxB,QMo0BV,mBAAoC,QNp0B1B,QMq0BV,kBAAmC,QNr0BzB,QMs0BV,qBAAsC,QNt0B5B,QMu0BV,kBAAmC,QNv0BzB,QMw0BV,2BAA4C,QNx0BlC,QMy0BV,gBAAiC,QNz0BvB,QM00BV,mBAAoC,QN10B1B,QM20BV,qBAAsC,QN30B5B,QM40BV,yBAA0C,QN50BhC,QM60BV,eAAgC,QN70BtB,QM80BV,eAAgC,QN90BtB,QM+0BV,uBAAwC,QN/0B9B,QMg1BV,wBAAyC,QNh1B/B,QMi1BV,0BAA2C,QNj1BjC,QMk1BV,mBAAoC,QNl1B1B,QMm1BV,yBAA0C,QNn1BhC,QMo1BV,gCAAiD,QNp1BvC,QMq1BV,wBAAyC,QNr1B/B,QMs1BV,oBAAqC,QNt1B3B,QMu1BV,kBAAmC,QNv1BzB,QMw1BV,iBAAkC,QNx1BxB,QMy1BV,yBAA0C,QNz1BhC,QM01BV,eAAgC,QN11BtB,QM21BV,mBAAoC,QN31B1B,QM41BV,iBAAkC,QN51BxB,QM61BV,qBAAsC,QN71B5B,QM81BV,uBAAwC,QN91B9B,QM+1BV,2BAA4C,QN/1BlC,QMg2BV,wBAAyC,QNh2B/B,QMi2BV,mBAAoC,QNj2B1B,QMk2BV,kBAAmC,QNl2BzB,QMm2BV,kBAAmC,QNn2BzB,QMo2BV,sBAAuC,QNp2B7B,QMq2BV,uBAAwC,QNr2B9B,QMs2BV,qBAAsC,QNt2B5B,QMu2BV,yBAA0C,QNv2BhC,QMw2BV,qBAAsC,QNx2B5B,QMy2BV,mBAAoC,QNz2B1B,QM02BV,oBAAqC,QN12B3B,QM22BV,iBAAkC,QN32BxB,QM42BV,mBAAoC,QN52B1B,QM62BV,iBAAkC,QN72BxB,QM82BV,wBAAyC,QN92B/B,QM+2BV,eAAgC,QN/2BtB,QMg3BV,kBAAmC,QNh3BzB,QMi3BV,eAAgC,QNj3BtB,QMk3BV,mBAAoC,QNl3B1B,QMm3BV,qBAAsC,QNn3B5B,QMo3BV,mBAAoC,QNp3B1B,QMq3BV,sBAAuC,QNr3B7B,QMs3BV,kBAAmC,QNt3BzB,QMu3BV,sBAAuC,QNv3B7B,QMw3BV,wBAAyC,QNx3B/B,QMy3BV,mBAAoC,QNz3B1B,QM03BV,wBAAyC,QN13B/B,QM23BV,mBAAoC,QN33B1B,QM43BV,sBAAuC,QN53B7B,QM63BV,qBAAsC,QN73B5B,QM83BV,wBAAyC,QN93B/B,QM+3BV,wBAAyC,QN/3B/B,QMg4BV,8BAA+C,QNh4BrC,QMi4BV,uBAAwC,QNj4B9B,QMk4BV,6BAA8C,QNl4BpC,QMm4BV,4BAA6C,QNn4BnC,QMo4BV,iBAAkC,QNp4BxB,QMq4BV,sBAAuC,QNr4B7B,QMs4BV,uBAAwC,QNt4B9B,QMu4BV,wBAAyC,QNv4B/B,QMw4BV,wBAAyC,QNx4B/B,QMy4BV,eAAgC,QNz4BtB,QM04BV,sBAAuC,QN14B7B,QM24BV,0BAA2C,QN34BjC,QM44BV,0BAA2C,QN54BjC,QM64BV,yBAA0C,QN74BhC,QM84BV,sBAAuC,QN94B7B,QM+4BV,iBAAkC,QN/4BxB,QMg5BV,qBAAsC,QNh5B5B,QMi5BV,uBAAwC,QNj5B9B,QMk5BV,4BAA6C,QNl5BnC,QMm5BV,iBAAkC,QNn5BxB,QMo5BV,qBAAsC,QNp5B5B,QMq5BV,yBAA0C,QNr5BhC,QMs5BV,2BAA4C,QNt5BlC,QMu5BV,gBAAiC,QNv5BvB,QMw5BV,uBAAwC,QNx5B9B,QMy5BV,uBAAwC,QNz5B9B,QM05BV,gBAAiC,QN15BvB,QM25BV,gBAAiC,QN35BvB,QM45BV,uBAAwC,QN55B9B,QM65BV,wBAAyC,QN75B/B,QM85BV,wBAAyC,QN95B/B,QM+5BV,uBAAwC,QN/5B9B,QMg6BV,mBAAoC,QNh6B1B,QMi6BV,eAAgC,QNj6BtB,QMk6BV,oBAAqC,QNl6B3B,QMm6BV,sBAAuC,QNn6B7B,QMo6BV,qBAAsC,QNp6B5B,QMq6BV,wBAAyC,QNr6B/B,QMs6BV,+BAAgD,QNt6BtC,QMu6BV,mCAAoD,QNv6B1C,QMw6BV,iBAAkC,QNx6BxB,QMy6BV,sBAAuC,QNz6B7B,QM06BV,wBAAyC,QN16B/B,QM26BV,2BAA4C,QN36BlC,QM46BV,kBAAmC,QN56BzB,QM66BV,wBAAyC,QN76B/B,QM86BV,kBAAmC,QN96BzB,QM+6BV,cAA+B,QN/6BrB,QMg7BV,kBAAmC,QNh7BzB,QMi7BV,oBAAqC,QNj7B3B,QMk7BV,2BAA4C,QNl7BlC,QMm7BV,2BAA4C,QNn7BlC,QMo7BV,qBAAsC,QNp7B5B,QMq7BV,qBAAsC,QNr7B5B,QMs7BV,iBAAkC,QNt7BxB,QMu7BV,sBAAuC,QNv7B7B,QMw7BV,uBAAwC,QNx7B9B,QMy7BV,qBAAsC,QNz7B5B,QM07BV,mBAAoC,QN17B1B,QM27BV,wBAAyC,QN37B/B,QM47BV,kBAAmC,QN57BzB,QM67BV,mBAAoC,QN77B1B,QM87BV,iBAAkC,QN97BxB,QM+7BV,kBAAmC,QN/7BzB,QMg8BV,iBAAkC,QNh8BxB,QMi8BV,mBAAoC,QNj8B1B,QMk8BV,+BAAgD,QNl8BtC,QMm8BV,8BAA+C,QNn8BrC,QMo8BV,0BAA2C,QNp8BjC,QMq8BV,mBAAoC,QNr8B1B,QMs8BV,qBAAsC,QNt8B5B,QMu8BV,kBAAmC,QNv8BzB,QMw8BV,wBAAyC,QNx8B/B,QMy8BV,yBAA0C,QNz8BhC,QM08BV,gBAAiC,QN18BvB,QM28BV,oBAAqC,QN38B3B,QM48BV,sBAAuC,QN58B7B,QM68BV,mBAAoC,QN78B1B,QM88BV,kBAAmC,QN98BzB,QM+8BV,kBAAmC,QN/8BzB,QMg9BV,oBAAqC,QNh9B3B,QMi9BV,wBAAyC,QNj9B/B,QMk9BV,sBAAuC,QNl9B7B,QMm9BV,iBAAkC,QNn9BxB,QMo9BV,qBAAsC,QNp9B5B,QMq9BV,kBAAmC,QNr9BzB,QMs9BV,wBAAyC,QNt9B/B,QMu9BV,qBAAsC,QNv9B5B,QMw9BV,mBAAoC,QNx9B1B,QMy9BV,uBAAwC,QNz9B9B,QM09BV,eAAgC,QN19BtB,QM29BV,kBAAmC,QN39BzB,QM49BV,gBAAiC,QN59BvB,QM69BV,iBAAkC,QN79BxB,QM89BV,kBAAmC,QN99BzB,QM+9BV,sBAAuC,QN/9B7B,QMg+BV,mBAAoC,QNh+B1B,QMi+BV,iBAAkC,QNj+BxB,QMk+BV,eAAgC,QNl+BtB,QMm+BV,sBAAuC,QNn+B7B,QMo+BV,sBAAuC,QNp+B7B,QMq+BV,iBAAkC,QNr+BxB,QMs+BV,0BAA2C,QNt+BjC,QMu+BV,4BAA6C,QNv+BnC,QMw+BV,0BAA2C,QNx+BjC,QMy+BV,sBAAuC,QNz+B7B,QM0+BV,mBAAoC,QN1+B1B,QM2+BV,oBAAqC,QN3+B3B,QM4+BV,kBAAmC,QN5+BzB,QM6+BV,gBAAiC,QN7+BvB,QM8+BV,gBAAiC,QN9+BvB,QM++BV,mBAAoC,QN/+B1B,QMg/BV,4BAA6C,QNh/BnC,QMi/BV,+BAAgD,QNj/BtC,QMk/BV,kBAAmC,QNl/BzB,QMm/BV,kBAAmC,QNn/BzB,QMo/BV,uBAAwC,QNp/B9B,QMq/BV,kBAAmC,QNr/BzB,QMs/BV,oBAAqC,QNt/B3B,QMu/BV,kBAAmC,QNv/BzB,QMw/BV,wBAAyC,QNx/B/B,QMy/BV,uBAAwC,QNz/B9B,QM0/BV,uBAAwC,QN1/B9B,QM2/BV,oBAAqC,QN3/B3B,QM4/BV,oBAAqC,QN5/B3B,QM6/BV,kBAAmC,QN7/BzB,QM8/BV,kBAAmC,QN9/BzB,QM+/BV,wBAAyC,QN//B/B,QMggCV,iBAAkC,QNhgCxB,QMigCV,qBAAsC,QNjgC5B,QMkgCV,qBAAsC,QNlgC5B,QMmgCV,4BAA6C,QNngCnC,QMogCV,wBAAyC,QNpgC/B,QMqgCV,uBAAwC,QNrgC9B,QMsgCV,kBAAmC,QNtgCzB,QMugCV,sBAAuC,QNvgC7B,QMwgCV,wBAAyC,QNxgC/B,QMygCV,gBAAiC,QNzgCvB,QM0gCV,yBAA0C,QN1gChC,QM2gCV,0BAA2C,QN3gCjC,QM4gCV,wBAAyC,QN5gC/B,QM6gCV,uBAAwC,QN7gC9B,QM8gCV,wBAAyC,QN9gC/B,QM+gCV,2BAA4C,QN/gClC,QMghCV,yBAA0C,QNhhChC,QMihCV,oBAAqC,QNjhC3B,QMkhCV,kBAAmC,QNlhCzB,QMmhCV,uBAAwC,QNnhC9B,QMohCV,uBAAwC,QNphC9B,QMqhCV,gBAAiC,QNrhCvB,QMshCV,mBAAoC,QNthC1B,QMuhCV,uBAAwC,QNvhC9B,QMwhCV,yBAA0C,QNxhChC,QMyhCV,oBAAqC,QNzhC3B,QM0hCV,wBAAyC,QN1hC/B,QM2hCV,kBAAmC,QN3hCzB,QM4hCV,qBAAsC,QN5hC5B,QM6hCV,uBAAwC,QN7hC9B,QM8hCV,mBAAoC,QN9hC1B,QM+hCV,mBAAoC,QN/hC1B,QMgiCV,gBAAiC,QNhiCvB,QMiiCV,iBAAkC,QNjiCxB,QMkiCV,oBAAqC,QNliC3B,QMmiCV,iBAAkC,QNniCxB,QMoiCV,iBAAkC,QNpiCxB,QMqiCV,sBAAuC,QNriC7B,QMsiCV,qBAAsC,QNtiC5B,QMuiCV,4BAA6C,QNviCnC,QMwiCV,qBAAsC,QNxiC5B,QMyiCV,4BAA6C,QNziCnC,QM0iCV,sBAAuC,QN1iC7B,QM2iCV,iBAAkC,QN3iCxB,QM4iCV,sBAAuC,QN5iC7B,QM6iCV,sBAAuC,QN7iC7B,QM8iCV,sBAAuC,QN9iC7B,QM+iCV,mBAAoC,QN/iC1B,QMgjCV,uBAAwC,QNhjC9B,QMijCV,oBAAqC,QNjjC3B,QMkjCV,0BAA2C,QNljCjC,QMmjCV,2BAA4C,QNnjClC,QMojCV,qBAAsC,QNpjC5B,QMqjCV,uBAAwC,QNrjC9B,QMsjCV,gBAAiC,QNtjCvB,QMujCV,2BAA4C,QNvjClC,QMwjCV,yBAA0C,QNxjChC,QMyjCV,4BAA6C,QNzjCnC,QM0jCV,0BAA2C,QN1jCjC,QM2jCV,qBAAsC,QN3jC5B,QM4jCV,6BAA8C,QN5jCpC,QM6jCV,2BAA4C,QN7jClC,QM8jCV,mBAAoC,QN9jC1B,QM+jCV,sBAAuC,QN/jC7B,QMgkCV,eAAgC,QNhkCtB,QMikCV,yBAA0C,QNjkChC,QMkkCV,iBAAkC,QNlkCxB,QMmkCV,mBAAoC,QNnkC1B,QMokCV,mBAAoC,QNpkC1B,QMqkCV,yBAA0C,QNrkChC,QMskCV,mBAAoC,QNtkC1B,QMukCV,mBAAoC,QNvkC1B,QMwkCV,qBAAsC,QNxkC5B,QMykCV,kBAAmC,QNzkCzB,QM0kCV,uBAAwC,QN1kC9B,QM2kCV,uBAAwC,QN3kC9B,QM4kCV,0BAA2C,QN5kCjC,QM6kCV,0BAA2C,QN7kCjC,QM8kCV,iBAAkC,QN9kCxB,QM+kCV,gBAAiC,QN/kCvB,QMglCV,4BAA6C,QNhlCnC,QMilCV,qBAAsC,QNjlC5B,QMklCV,yBAA0C,QNllChC,QMmlCV,sBAAuC,QNnlC7B,QMolCV,iBAAkC,QNplCxB,QMqlCV,wBAAyC,QNrlC/B,QMslCV,wBAAyC,QNtlC/B,QMulCV,yBAA0C,QNvlChC,QMwlCV,wBAAyC,QNxlC/B,QMylCV,uBAAwC,QNzlC9B,QM0lCV,wBAAyC,QN1lC/B,QM2lCV,uBAAwC,QN3lC9B,QM4lCV,gBAAiC,QN5lCvB,QM6lCV,uBAAwC,QN7lC9B,QM8lCV,qBAAsC,QN9lC5B,QM+lCV,iBAAkC,QN/lCxB,QMgmCV,qBAAsC,QNhmC5B,QMimCV,kBAAmC,QNjmCzB,QMkmCV,kBAAmC,QNlmCzB,QMmmCV,uBAAwC,QNnmC9B,QMomCV,yBAA0C,QNpmChC,QMqmCV,kBAAmC,QNrmCzB,QMsmCV,oBAAqC,QNtmC3B,QMumCV,uBAAwC,QNvmC9B,QMwmCV,wBAAyC,QNxmC/B,QMymCV,uBAAwC,QNzmC9B,QM0mCV,8BAA+C,QN1mCrC,QM2mCV,qBAAsC,QN3mC5B,QM4mCV,kBAAmC,QN5mCzB,QM6mCV,oBAAqC,QN7mC3B,QM8mCV,4BAA6C,QN9mCnC,QM+mCV,eAAgC,QN/mCtB,QMgnCV,uBAAwC,QNhnC9B,QMinCV,uBAAwC,QNjnC9B,QMknCV,kBAAmC,QNlnCzB,QMmnCV,oBAAqC,QNnnC3B,QMonCV,sBAAuC,QNpnC7B,QMqnCV,mBAAoC,QNrnC1B,QMsnCV,yBAA0C,QNtnChC,QMunCV,gBAAiC,QNvnCvB,QMwnCV,oBAAqC,QNxnC3B,QMynCV,mBAAoC,QNznC1B,QM0nCV,iBAAkC,QN1nCxB,QM2nCV,wBAAyC,QN3nC/B,QM4nCV,kBAAmC,QN5nCzB,QM6nCV,sBAAuC,QN7nC7B,QM8nCV,0BAA2C,QN9nCjC,QM+nCV,8BAA+C,QN/nCrC,QMgoCV,yBAA0C,QNhoChC,QMioCV,mBAAoC,QNjoC1B,QMkoCV,sBAAuC,QNloC7B,QMmoCV,0BAA2C,QNnoCjC,QMooCV,eAAgC,QNpoCtB,QMqoCV,gBAAiC,QNroCvB,QMsoCV,gBAAiC,QNtoCvB,QMuoCV,iBAAkC,QNvoCxB,QMwoCV,gBAAiC,QNxoCvB,QMyoCV,qBAAsC,QNzoC5B,QM0oCV,oBAAqC,QN1oC3B,QM2oCV,0BAA2C,QN3oCjC,QM4oCV,yBAA0C,QN5oChC,QM6oCV,uBAAwC,QN7oC9B,QM8oCV,oBAAqC,QN9oC3B,QM+oCV,uBAAwC,QN/oC9B,QMgpCV,sBAAuC,QNhpC7B,QMipCV,cAA+B,QNjpCrB,QMkpCV,oBAAqC,QNlpC3B,QMmpCV,mBAAoC,QNnpC1B,QMopCV,mBAAoC,QNppC1B,QMqpCV,qBAAsC,QNrpC5B,QMspCV,uBAAwC,QNtpC9B,QMupCV,6BAA8C,QNvpCpC,QMwpCV,4BAA6C,QNxpCnC,QMypCV,4BAA6C,QNzpCnC,QM0pCV,+BAAgD,QN1pCtC,QM2pCV,sCAAuD,QN3pC7C,QM4pCV,uBAAwC,QN5pC9B,QM6pCV,qBAAsC,QN7pC5B,QM8pCV,qBAAsC,QN9pC5B,QM+pCV,kBAAmC,QN/pCzB,QMgqCV,sBAAuC,QNhqC7B,QMiqCV,iBAAkC,QNjqCxB,QMkqCV,wBAAyC,QNlqC/B,QMmqCV,yBAA0C,QNnqChC,QMoqCV,yBAA0C,QNpqChC,QMqqCV,wBAAyC,QNrqC/B,QMsqCV,gBAAiC,QNtqCvB,QMuqCV,sBAAuC,QNvqC7B,QMwqCV,iBAAkC,QNxqCxB,QMyqCV,sBAAuC,QNzqC7B,QM0qCV,qBAAsC,QN1qC5B,QM2qCV,mBAAoC,QN3qC1B,QM4qCV,iBAAkC,QN5qCxB,QM6qCV,4BAA6C,QN7qCnC,QM8qCV,qBAAsC,QN9qC5B,QM+qCV,iBAAkC,QN/qCxB,QMgrCV,uBAAwC,QNhrC9B,QMirCV,2BAA4C,QNjrClC,QMkrCV,iBAAkC,QNlrCxB,QMmrCV,qBAAsC,QNnrC5B,QMorCV,gBAAiC,QNprCvB,QMqrCV,oBAAqC,QNrrC3B,QMsrCV,kBAAmC,QNtrCzB,QMurCV,oBAAqC,QNvrC3B,QMwrCV,uBAAwC,QNxrC9B,QMyrCV,kBAAmC,QNzrCzB,QM0rCV,sBAAuC,QN1rC7B,QM2rCV,iBAAkC,QN3rCxB,QM4rCV,2BAA4C,QN5rClC,QM6rCV,uBAAwC,QN7rC9B,QM8rCV,yBAA0C,QN9rChC,QM+rCV,wBAAyC,QN/rC/B,QMgsCV,sBAAuC,QNhsC7B,QMisCV,kBAAmC,QNjsCzB,QMksCV,eAAgC,QNlsCtB,QMmsCV,kBAAmC,QNnsCzB,QMosCV,yBAA0C,QNpsChC,QMqsCV,cAA+B,QNrsCrB,QMssCV,oBAAqC,QNtsC3B,QMusCV,kBAAmC,QNvsCzB,QMwsCV,mBAAoC,QNxsC1B,QMysCV,0BAA2C,QNzsCjC,QM0sCV,iBAAkC,QN1sCxB,QM2sCV,gBAAiC,QN3sCvB,QM4sCV,iBAAkC,QN5sCxB,QM6sCV,oBAAqC,QN7sC3B,QM8sCV,0BAA2C,QN9sCjC,QM+sCV,qBAAsC,QN/sC5B,QMgtCV,gBAAiC,QNhtCvB,QMitCV,oBAAqC,QNjtC3B,QMktCV,uBAAwC,QNltC9B,QMmtCV,4BAA6C,QNntCnC,QMotCV,sBAAuC,QNptC7B,QMqtCV,kBAAmC,QNrtCzB,QMstCV,kBAAmC,QNttCzB,QMutCV,sBAAuC,QNvtC7B,QMwtCV,mBAAoC,QNxtC1B,QMytCV,kBAAmC,QNztCzB,QM0tCV,eAAgC,QN1tCtB,QM2tCV,sBAAuC,QN3tC7B,QM4tCV,sBAAuC,QN5tC7B,QM6tCV,gBAAiC,QN7tCvB,QM8tCV,oBAAqC,QN9tC3B,QM+tCV,0BAA2C,QN/tCjC,QMguCV,0BAA2C,QNhuCjC,QMiuCV,sBAAuC,QNjuC7B,QMkuCV,uBAAwC,QNluC9B,QMmuCV,sBAAuC,QNnuC7B,QMouCV,oBAAqC,QNpuC3B,QMquCV,qBAAsC,QNruC5B,QMsuCV,wBAAyC,QNtuC/B,QMuuCV,yBAA0C,QNvuChC,QMwuCV,qBAAsC,QNxuC5B,QMyuCV,mBAAoC,QNzuC1B,QM0uCV,sBAAuC,QN1uC7B,QM2uCV,sBAAuC,QN3uC7B,QM4uCV,qBAAsC,QN5uC5B,QM6uCV,uBAAwC,QN7uC9B,QM8uCV,uBAAwC,QN9uC9B,QM+uCV,sBAAuC,QN/uC7B,QMgvCV,oBAAqC,QNhvC3B,QMivCV,oBAAqC,QNjvC3B,QMkvCV,sBAAuC,QNlvC7B,QMmvCV,iBAAkC,QNnvCxB,QMovCV,qBAAsC,QNpvC5B,QMqvCV,oBAAqC,QNrvC3B,QMsvCV,wBAAyC,QNtvC/B,QMuvCV,yBAA0C,QNvvChC,QMwvCV,yBAA0C,QNxvChC,QMyvCV,oBAAqC,QNzvC3B,QM0vCV,wBAAyC,QN1vC/B,QM2vCV,kBAAmC,QN3vCzB,QM4vCV,yBAA0C,QN5vChC,QM6vCV,iBAAkC,QN7vCxB,QM8vCV,wBAAyC,QN9vC/B,QM+vCV,sBAAuC,QN/vC7B,QMgwCV,mBAAoC,QNhwC1B,QMiwCV,kBAAmC,QNjwCzB,QMkwCV,yBAA0C,QNlwChC,QMmwCV,gBAAiC,QNnwCvB,QMowCV,iBAAkC,QNpwCxB,QMqwCV,iBAAkC,QNrwCxB,QMswCV,iBAAkC,QNtwCxB,QMuwCV,sBAAuC,QNvwC7B,QMwwCV,uBAAwC,QNxwC9B,QMywCV,iBAAkC,QNzwCxB,QM0wCV,wBAAyC,QN1wC/B,QM2wCV,mBAAoC,QN3wC1B,QM4wCV,gBAAiC,QN5wCvB,QM6wCV,cAA+B,QN7wCrB,QM8wCV,eAAgC,QN9wCtB,QM+wCV,2BAA4C,QN/wClC,QMgxCV,uBAAwC,QNhxC9B,QMixCV,uBAAwC,QNjxC9B,QMkxCV,sBAAuC,QNlxC7B,QMmxCV,qBAAsC,QNnxC5B,QMoxCV,iBAAkC,QNpxCxB,QMqxCV,mBAAoC,QNrxC1B,QMsxCV,kBAAmC,QNtxCzB,QMuxCV,qBAAsC,QNvxC5B,QMwxCV,yBAA0C,QNxxChC,QMyxCV,iBAAkC,QNzxCxB,QM0xCV,kBAAmC,QN1xCzB,QM2xCV,iBAAkC,QN3xCxB,QM4xCV,kBAAmC,QN5xCzB,QM6xCV,0BAA2C,QN7xCjC,QM8xCV,kBAAmC,QN9xCzB,QM+xCV,oBAAqC,QN/xC3B,QMgyCV,2BAA4C,QNhyClC,QMiyCV,sBAAuC,QNjyC7B,QMkyCV,mBAAoC,QNlyC1B,QMmyCV,iBAAkC,QNnyCxB,QMoyCV,gBAAiC,QNpyCvB,QMqyCV,uBAAwC,QNryC9B,QMsyCV,kBAAmC,QNtyCzB,QMuyCV,sBAAuC,QNvyC7B,QMwyCV,wBAAyC,QNxyC/B,QMyyCV,2BAA4C,QNzyClC,QM0yCV,2BAA4C,QN1yClC,QM2yCV,0BAA2C,QN3yCjC,QM4yCV,mBAAoC,QN5yC1B,QM6yCV,sBAAuC,QN7yC7B,QM8yCV,0BAA2C,QN9yCjC,QM+yCV,eAAgC,QN/yCtB,QMgzCV,+BAAgD,QNhzCtC,QMizCV,oBAAqC,QNjzC3B,QMkzCV,qBAAsC,QNlzC5B,QMmzCV,4BAA6C,QNnzCnC,QMozCV,sBAAuC,QNpzC7B,QMqzCV,sBAAuC,QNrzC7B,QMszCV,mBAAoC,QNtzC1B,QMuzCV,kBAAmC,QNvzCzB,QMwzCV,iBAAkC,QNxzCxB,QMyzCV,gBAAiC,QNzzCvB,QM0zCV,gBAAiC,QN1zCvB,QM2zCV,uBAAwC,QN3zC9B,QM4zCV,wBAAyC,QN5zC/B,QM6zCV,iBAAkC,QN7zCxB,QM8zCV,kBAAmC,QN9zCzB,QM+zCV,gCAAiD,QN/zCvC,QMg0CV,gBAAiC,QNh0CvB,QMi0CV,oBAAqC,QNj0C3B,QMk0CV,iBAAkC,QNl0CxB,QMm0CV,mBAAoC,QNn0C1B,QMo0CV,0BAA2C,QNp0CjC,QOVV,SH2BE,OAAQ,EACR,KAAM,cACN,OAAQ,IACR,OAAQ,KACR,SAAU,OACV,QAAS,EACT,SAAU,SACV,MAAO,IAUP,0BG3CF,yBH6CI,KAAM,KACN,OAAQ,KACR,OAAQ,EACR,SAAU,QACV,SAAU,OACV,MAAO,KIpDX,WACE,YAAa,qBACb,WAAY,OACZ,YAAa,IACb,IAAK,iCACL,IAAK,wCAAkD,2BAA2B,CAClF,mCAA6C,eAAe,CAC5D,kCAA4C,cAAc,CAC1D,iCAA2C,kBAAkB,CAC7D,6CAAuD,cAGzD,KACE,YAAa,qBACb,YAAa,ICdf,WACE,YAAa,qBACb,WAAY,OACZ,YAAa,IACb,IAAK,+BACL,IAAK,sCAAgD,2BAA2B,CAChF,iCAA2C,eAAe,CAC1D,gCAA0C,cAAc,CACxD,+BAAyC,kBAAkB,CAC3D,2CAAqD,cAGvD,KACE,YAAa,qBACb,YAAa,ICdf,WACE,YAAa,qBACb,WAAY,OACZ,YAAa,IACb,IAAK,+BACL,IAAK,sCAAgD,2BAA2B,CAChF,iCAA2C,eAAe,CAC1D,gCAA0C,cAAc,CACxD,+BAAyC,kBAAkB,CAC3D,2CAAqD,cAGvD,IACA,KACE,YAAa,qBACb,YAAa,ICff,WACE,YAAa,wBACb,WAAY,OACZ,YAAa,IACb,IAAK,gCACL,IAAK,uCAAiD,2BAA2B,CACjF,kCAA4C,eAAe,CAC3D,iCAA2C,cAAc,CACzD,gCAA0C,kBAAkB,CAC5D,4CAAsD,cAGxD,KACE,YAAa,wBCff,gF/B29IA,egCj/HI,WAAY,WhCm/HhB,iBgCj/HY,sBADP,uBAGG,WAAY,WhCi/HpB,6CgCp4II,OAAQ,EACR,QAAS,EAuZL,SAAU,SACV,WAlfK,KAmfL,OApfS,IAAI,MAAM,KAqfnB,SAAU,OhC2+HlB,6EgCt4II,OAAQ,EACR,QAAS,EA8ZD,SAAU,SAEV,KAAM,MACN,IAAK,MACL,OAAQ,KACR,MAAO,KhCo+HnB,6EgCh+HY,YAAa,KAxarB,OAAQ,EACR,QAAS,EAyaD,SAAU,SACV,SAAU,OC7FlB,iBD/Z+B,KCga/B,iBAAkB,0CAClB,iBAAkB,wCD6FV,OAAQ,EAAA,KACR,cAjgBmB,IAAI,MAAM,KAmgB7B,MApgBkB,KhC89I9B,kGgC14II,OAAQ,EACR,QAAS,EAsQL,SAAU,SACV,SAAU,OhCooIlB,wGgC5nIY,aAAc,MACd,gBAAiB,SACjB,eAAgB,EAChB,OAAQ,EAAA,KACR,MAAO,KAEH,OAAQ,KhCwnIxB,2GgCrnIgB,cAAe,EAAA,KhCunI/B,gHgCpsIQ,WA7OW,QhCm7InB,gHgCnsIQ,WA/OW,KhCo7InB,gHgClsIQ,WAjPW,QhCq7InB,gHgCjsIQ,WAnPW,KhCs7InB,iHgChsIQ,WArPe,QhCu7IvB,0IgC/rIQ,WAvPkB,QhCw7I1B,uIgC9rIQ,WAzPe,QA6PT,+KhC4rId,gLgC1rIgB,WAAY,KhC4rI5B,gMgCvrIwB,QAAS,EhCyrIjC,mMgC9qIoB,OAAQ,YC0FxB,iBDhWuC,QCiWvC,iBAAkB,6CAClB,iBAAkB,2CjColItB,yMgC7qIwB,QAAS,EhC+qIjC,qHgCtqIQ,WAhSW,KhCw8InB,8GgCl6II,WAAY,WACZ,SAAU,OACV,SAAU,SACV,QAAS,EACT,UAlGgB,KAmGhB,OAAQ,EAAA,KAiBJ,OAAQ,QACR,WA/G2B,MAAM,IAAI,IAAI,EAAI,EAAI,KhC4/IzD,wHgC55IQ,aArGgB,IAAI,MAAM,KAsG1B,cAtGgB,IAAI,MAAM,KhCmgJlC,sHgCp5IQ,WAvC0B,MAAM,EAAI,EAAI,IAAI,IAAI,QhC67IxD,oHiChmII,iBD9ZqC,KC+ZrC,iBAAkB,uCAClB,iBAAkB,qCjCgmItB,4IgC94IY,WAAY,KhCg5IxB,4IgC34IQ,aAAc,EAAA,KhC64ItB,4IgCz4IQ,WArDmB,QAsDnB,aAvD6B,KAwD7B,MAtDsB,KhC+7I9B,2IgCr4IQ,WAhE0B,MAAM,EAAI,EAAI,IAAI,IAAI,QAiEhD,WAhEkB,QAiElB,MAhEqB,KhCq8I7B,oJgCj4IQ,OAAQ,QhCm4IhB,8KgCj4IY,QAjFwB,IhCo9IpC,8JgC/3IY,QAAS,aACT,SAAU,SACV,OApFmB,IAAI,MAAM,KAqF7B,cApF0B,ICkWlC,iBDjW+B,KCkW/B,iBAAkB,0CAClB,iBAAkB,wCD9QV,OAAQ,KACR,MAAO,KhC23InB,oKgCz3IgB,QAAS,GACT,MAAO,IACP,OAAQ,IACR,SAAU,SACV,IAAK,IACL,MAAO,IACP,OAAQ,KAAM,M3BhKb,Q2BiKD,WAAY,KACZ,aAAc,KACd,WAAY,IACZ,QAAS,ED9IT,kBC+ImB,eD3InB,eC2ImB,eDvInB,cCuImB,eDnInB,aCmImB,eD/HnB,UC+HmB,ehCg3InC,gMgC12IoB,QAAS,EhC42I7B,wIgCj2IQ,QAAS,MACT,WAAY,WACZ,QA1He,IAAI,IA2HnB,UA5LY,KA8LZ,YAAa,OACb,SAAU,OACV,cAAe,ShC41IvB,sKgCr1IY,WAAY,KhCu1IxB,wKgCp1IY,WAAY,OhCs1IxB,uKgCn1IY,WAAY,MhCq1IxB,2KgCl1IY,YAAa,OhCo1IzB,8JgCh1IY,SAAU,SACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,OAAQ,EAAA,KACR,WA3NC,KhCuiJb,yKgC10IgB,QAAS,KhC40IzB,yJgCv0IY,SAAU,SACV,QAAS,MACT,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,OAAQ,EAAA,KACR,WAzOC,KhC2iJb,4KgCh0IgB,OAAQ,KACR,cAAe,EhCi0I/B,uKgC5zIY,QAAS,aACT,SAAU,SACV,OA/KmB,IAAI,MAAM,KAgL7B,cA/K0B,ICkWlC,iBDjW+B,KCkW/B,iBAAkB,0CAClB,iBAAkB,wCDnLV,OAAQ,KhCyzIpB,6KgCvzIgB,QAAS,GACT,MAAO,IACP,OAAQ,IACR,SAAU,SACV,IAAK,IACL,MAAO,IACP,OAAQ,KAAM,M3B1Pb,Q2B2PD,WAAY,KACZ,aAAc,KACd,WAAY,IACZ,QAAS,EDxOT,kBCyOmB,eDrOnB,eCqOmB,eDjOnB,cCiOmB,eD7NnB,aC6NmB,eDzNnB,UCyNmB,ehC8yInC,wMgC1yIoB,QAAS,EhC4yI7B,mKgCtyIY,QAAS,aACT,WAAY,YACZ,WAAY,MACZ,YAAa,EAAA,KAAA,KACb,QAAS,EAAA,IAAA,EAAA,EhCoyIrB,oKgCjyIY,OAAQ,QACR,gBAAiB,KhCkyI7B,0KgChyIgB,gBAAiB,KhCkyIjC,wKgC9xIY,QAAS,ahCgyIrB,uKgC7xIY,QAAS,ahC+xIrB,mIgCjsIY,aA5WW,IAAI,MAAM,KhC+iJjC,+IgC/rIwB,WAAY,OAK1B,iIACA,wIhC2rIV,qIgCzrIY,aAxXW,IAAI,MAAM,KAyXrB,WAxXO,QA0XD,0IAAA,iJhCwrIlB,8IgCvrIoB,WA3XD,QA4XG,6IAAA,oJhCwrItB,iJgCvrIwB,WAAY,OACZ,WA7XM,MAAM,IAAI,IAAI,EAAI,EAAI,KAqY1C,uIADA,gIhCirIV,kIgClrIU,oIAIE,aArYiB,IAAI,MAAM,QhCqjJvC,qIgC5qIU,+HADA,oIAEA,qIAEE,cA5YiB,IAAI,MAAM,QhCujJvC,wIgCvqIU,kIADA,uIAEA,wIAEE,WA/YkB,IAAI,MAAM,QhCqjJxC,wIgClqIU,kIADA,uIAEA,wIAEE,WAvZS,QhCwjJrB,8HgC7pIY,SAAU,SACV,KAAM,EACN,IAAK,EhC6pIjB,2GgCtkIgB,SAAU,SACV,MAAO,EACP,IAAK,EACL,MAngBqB,IAogBrB,OAAQ,KACR,OAAQ,WhCmkIxB,iHgCjkIoB,WAxgBkB,KAygBlB,QAAS,GhCkkI7B,wGgC9jIgB,SAAU,SAGV,MAAO,KACP,OAAQ,KACR,QAAS,ahC2jIzB,+GgCviIoB,IAAK,EACL,KAAM,EAlBN,SAAU,SACV,QAAS,IACT,MAAO,EACP,OAAQ,EACR,QAAS,aACT,YAAa,MAAqB,MAAM,YACxC,aAAc,MAAqB,MAAM,YAErC,cAAe,UAAuB,MA1hBhC,KA8hBV,WAAY,IACZ,QAMyF,GhCuiI7G,8GgCpiIoB,OAAQ,EACR,KAAM,EAvBN,SAAU,SACV,QAAS,IACT,MAAO,EACP,OAAQ,EACR,QAAS,aACT,YAAa,MAAqB,MAAM,YACxC,aAAc,MAAqB,MAAM,YAIrC,WAAY,UAAuB,MA5hB7B,KA8hBV,WAAY,IACZ,QAWyF,GhCoiI7G,mJgC/hIwB,IAAK,IACL,KAAM,EA9BV,SAAU,SACV,QAAS,IACT,MAAO,EACP,OAAQ,EACR,QAAS,aACT,YAAa,IAAqB,MAAM,YACxC,aAAc,IAAqB,MAAM,YAErC,cAAe,IAAuB,MA1hBhC,KA8hBV,WAAY,IACZ,QAkBiG,GhC+hIrH,kJgC5hIwB,QAAS,KhC8hIjC,oJgCzhIwB,QAAS,KhC2hIjC,mJgCxhIwB,OAAQ,IACR,KAAM,EA3CV,SAAU,SACV,QAAS,IACT,MAAO,EACP,OAAQ,EACR,QAAS,aACT,YAAa,IAAqB,MAAM,YACxC,aAAc,IAAqB,MAAM,YAIrC,WAAY,IAAuB,MA5hB7B,KA8hBV,WAAY,IACZ,QA+BiG,GhCwhIrH,0GgC/gIgB,SAAU,SACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,OAAQ,QhC4gIxB,iHgCzgIoB,QAAS,IACT,MAAO,EACP,OAAQ,EACR,QAAS,aACT,YAAa,IAAe,MAAM,YAClC,aAAc,IAAe,MAAM,YACnC,WAhBU,KAgBiB,MAAM,KACjC,WAAY,IACZ,QAAS,EhCmgI7B,2EgC9gJI,OAAQ,EACR,QAAS,EAkhBD,SAAU,SACV,SAAU,OhC4/HtB,gGgChhJI,OAAQ,EACR,QAAS,EAsQL,SAAU,SACV,SAAU,OhC0wIlB,sGgClwIY,aAAc,MACd,gBAAiB,SACjB,eAAgB,EAChB,OAAQ,EAAA,KACR,MAAO,KhCgwInB,yGgC3vIgB,cAAe,EAAA,KhC6vI/B,8GgC10IQ,WA7OW,QhCyjJnB,8GgCz0IQ,WA/OW,KhC0jJnB,8GgCx0IQ,WAjPW,QhC2jJnB,8GgCv0IQ,WAnPW,KhC4jJnB,+GgCt0IQ,WArPe,QhC6jJvB,wIgCr0IQ,WAvPkB,QhC8jJ1B,qIgCp0IQ,WAzPe,QA6PT,6KhCk0Id,8KgCh0IgB,WAAY,KhCk0I5B,8LgC7zIwB,QAAS,EhC+zIjC,iMgCpzIoB,OAAQ,YC0FxB,iBDhWuC,QCiWvC,iBAAkB,6CAClB,iBAAkB,2CjC0tItB,uMgCnzIwB,QAAS,EhCqzIjC,mHgC5yIQ,WAhSW,KhC8kJnB,4GgCxiJI,WAAY,WACZ,SAAU,OACV,SAAU,SACV,QAAS,EACT,UAlGgB,KAmGhB,OAAQ,EAAA,KhCqiJZ,sHgCliJQ,aArGgB,IAAI,MAAM,KAsG1B,cAtGgB,IAAI,MAAM,KhCyoJlC,oHgC1hJQ,WAvC0B,MAAM,EAAI,EAAI,IAAI,IAAI,QhCmkJxD,0IgC7gJQ,aAAc,EAAA,KhC+gJtB,0IgC3gJQ,WArDmB,QAsDnB,aAvD6B,KAwD7B,MAtDsB,KhCikJ9B,yIgCvgJQ,WAhE0B,MAAM,EAAI,EAAI,IAAI,IAAI,QAiEhD,WAhEkB,QAiElB,MAhEqB,KhCukJ7B,kJgCngJQ,OAAQ,QhCqgJhB,4KgCngJY,QAjFwB,IhCslJpC,4JgCjgJY,QAAS,aACT,SAAU,SACV,OApFmB,IAAI,MAAM,KAqF7B,cApF0B,ICkWlC,iBDjW+B,KCkW/B,iBAAkB,0CAClB,iBAAkB,wCD9QV,OAAQ,KACR,MAAO,KhC6/InB,kKgC3/IgB,QAAS,GACT,MAAO,IACP,OAAQ,IACR,SAAU,SACV,IAAK,IACL,MAAO,IACP,OAAQ,KAAM,M3BhKb,Q2BiKD,WAAY,KACZ,aAAc,KACd,WAAY,IACZ,QAAS,ED9IT,kBC+ImB,eD3InB,eC2ImB,eDvInB,cCuImB,eDnInB,aCmImB,eD/HnB,UC+HmB,ehCk/InC,8LgC5+IoB,QAAS,EhC8+I7B,sIgCn+IQ,QAAS,MACT,WAAY,WACZ,QA1He,IAAI,IA2HnB,UA5LY,KA8LZ,YAAa,OACb,SAAU,OACV,cAAe,ShC89IvB,oKgCv9IY,WAAY,KhCy9IxB,sKgCt9IY,WAAY,OhCw9IxB,qKgCr9IY,WAAY,MhCu9IxB,yKgCp9IY,YAAa,OhCs9IzB,4JgCl9IY,SAAU,SACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,OAAQ,EAAA,KACR,WA3NC,KhCyqJb,uKgC58IgB,QAAS,KhC88IzB,uJgCz8IY,SAAU,SACV,QAAS,MACT,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,OAAQ,EAAA,KACR,WAzOC,KhC6qJb,0KgCl8IgB,OAAQ,KACR,cAAe,EhCm8I/B,qKgC97IY,QAAS,aACT,SAAU,SACV,OA/KmB,IAAI,MAAM,KAgL7B,cA/K0B,ICkWlC,iBDjW+B,KCkW/B,iBAAkB,0CAClB,iBAAkB,wCDnLV,OAAQ,KhC27IpB,2KgCz7IgB,QAAS,GACT,MAAO,IACP,OAAQ,IACR,SAAU,SACV,IAAK,IACL,MAAO,IACP,OAAQ,KAAM,M3B1Pb,Q2B2PD,WAAY,KACZ,aAAc,KACd,WAAY,IACZ,QAAS,EDxOT,kBCyOmB,eDrOnB,eCqOmB,eDjOnB,cCiOmB,eD7NnB,aC6NmB,eDzNnB,UCyNmB,ehCg7InC,sMgC56IoB,QAAS,EhC86I7B,iKgCx6IY,QAAS,aACT,WAAY,YACZ,WAAY,MACZ,YAAa,EAAA,KAAA,KACb,QAAS,EAAA,IAAA,EAAA,EhCs6IrB,kKgCn6IY,OAAQ,QACR,gBAAiB,KhCo6I7B,wKgCl6IgB,gBAAiB,KhCo6IjC,sKgCh6IY,QAAS,ahCk6IrB,qKgC/5IY,QAAS,ahCi6IrB,iIgCn0IY,aA5WW,IAAI,MAAM,KhCirJjC,6IgCj0IwB,WAAY,OAK1B,+HACA,sIhC6zIV,mIgC3zIY,aAxXW,IAAI,MAAM,KAyXrB,WAxXO,QA0XD,wIAAA,+IhC0zIlB,4IgCzzIoB,WA3XD,QA4XG,2IAAA,kJhC0zItB,+IgCzzIwB,WAAY,OACZ,WA7XM,MAAM,IAAI,IAAI,EAAI,EAAI,KAqY1C,qIADA,8HhCmzIV,gIgCpzIU,kIAIE,aArYiB,IAAI,MAAM,QhCurJvC,mIgC9yIU,6HADA,kIAEA,mIAEE,cA5YiB,IAAI,MAAM,QhCyrJvC,sIgCzyIU,gIADA,qIAEA,sIAEE,WA/YkB,IAAI,MAAM,QhCurJxC,sIgCpyIU,gIADA,qIAEA,sIAEE,WAvZS,QhC0rJrB,4HgC/xIY,SAAU,SACV,KAAM,EACN,IAAK,EhC+xIjB,2EgC1nJI,OAAQ,EACR,QAAS,EAuiBD,SAAU,SACV,OAAQ,EACR,KAAM,EACN,MAAO,KACP,SAAU,OC9NlB,iBD3YsB,KC4YtB,iBAAkB,0CAClB,iBAAkB,wCD8NV,OAAQ,EAAA,KACR,WA7mBU,IAAI,MAAM,KhC0rJhC,sGgC5nJI,OAAQ,EACR,QAAS,EAkjBG,QAAS,MAET,MAAO,KACP,OAAQ,KhCwkIxB,qIgC9nJI,OAAQ,EACR,QAAS,EAwjBO,QAAS,WACT,eAAgB,OAChB,WAAY,KACZ,aAxnBc,IAynBd,UAxnBgB,KhC2rJpC,2KgChkIwB,QAAS,MACR,sNhCikIzB,+MgChkI4B,QAAS,WACT,eAAgB,OhCikI5C,sNgC9jI4B,QAAS,EAloBH,IhCksJlC,oMgC5jI4B,WAAY,WACZ,UAroBY,KAsoBZ,cApoBgB,IAqoBhB,QAAS,IACT,OAvoBS,EAAI,KAwoBb,WAtoBK,IAuoBL,UAtoBY,KAuoBZ,MAtoBQ,KAuoBR,QAAS,EAEP,2MhCojI9B,qOgCnjIgC,iBAzoBO,KA0oBP,MAzoBU,KhC6rJ1C,0MgCjjIgC,gBAAiB,UhCmjIjD,iIgC5oJI,OAAQ,EACR,QAAS,EAgmBO,QAAS,WACT,WAAY,MACZ,eAAgB,OAChB,cAppBU,KAqpBV,UAtpBY,KAupBZ,MArpBQ,KhC6rJ5B,+EgC9oJI,OAAQ,EACR,QAAS,EA4mBD,SAAU,SACV,MAAO,EACP,OAAQ,EhCiiIpB,gHgC7hIgB,WAAY,WACZ,SAAU,SACV,QAAS,KACT,MAAO,EACP,OAAQ,EACR,MAPY,KAQZ,OAAQ,KACR,WArqBU,QAsqBV,YAvqBc,IAAI,MAAM,KhC8rJxC,qJgCjzII,SAAU,SACV,IAAK,EACL,KAAM,ECsDN,uBDjc+B,KCkc/B,wBDlc+B,KC2c/B,0BD3c+B,KC4c/B,2BD5c+B,KA8Y/B,WAAY,WACZ,OA9YwB,EAAI,MAAM,KA+YlC,WA9YoB,KAiZhB,OAAQ,UhCyyIhB,2JgCnyIQ,OAtZ0B,EAAI,MAAM,KAuZpC,WAtZsB,QhC0rJ9B,kHgCphIgB,WAAY,WACZ,SAAU,SACV,QAAS,KACT,MAAO,EACP,OAAQ,EACR,OAtBY,KAuBZ,MAAO,KACP,WAprBU,QAqrBV,WAtrBc,IAAI,MAAM,KhCosJxC,yJgCvzII,SAAU,SACV,IAAK,EACL,KAAM,ECsDN,uBDjc+B,KCkc/B,wBDlc+B,KC2c/B,0BD3c+B,KC4c/B,2BD5c+B,KA8Y/B,WAAY,WACZ,OA9YwB,EAAI,MAAM,KA+YlC,WA9YoB,KAmZhB,OAAQ,UhC6yIhB,+JgCzyIQ,OAtZ0B,EAAI,MAAM,KAuZpC,WAtZsB,QhCgsJ9B,8GgC3gIgB,SAAU,SACV,QAAS,KACT,MAAO,EACP,OAAQ,EACR,MApCY,KAqCZ,OArCY,KAuCZ,WAlsBW,QAmsBX,WArsBc,IAAI,MAAM,KAssBxB,YAtsBc,IAAI,MAAM,KhC0sJxC,+EgCvyII,QAAS,KhCyyIb,oFgCvyIQ,QAAS,MACT,SAAU,SACV,IAAK,EACL,KAAM,EACN,WAnYgB,KAoYhB,QAAS,GAOL,OAAQ,KACR,MA3YW,IA4YX,OAAQ,WhC2xIpB,6EgC3yII,QAAS,KhC6yIb,kFgC3yIQ,QAAS,MACT,SAAU,SACV,IAAK,EACL,KAAM,EACN,WAnYgB,KAoYhB,QAAS,GAGL,OAtYW,IAuYX,MAAO,KACP,OAAQ,WCzXZ,2BChFJ,KACI,QAAS,EAEb,GACI,QAxBa,ID4Gb,wBCxFJ,KACI,QAAS,EAEb,GACI,QAxBa,IDwHb,mBCpGJ,KACI,QAAS,EAEb,GACI,QAxBa,IDoGb,oCCvEJ,KACI,QA9Ba,GAgCjB,GACI,QAAS,GD2ET,iCC/EJ,KACI,QA9Ba,GAgCjB,GACI,QAAS,GDuFT,4BC3FJ,KACI,QA9Ba,GAgCjB,GACI,QAAS,GAIjB,YACI,eAAgB,UHXJ,kBGaO,WHTP,eGSO,WHLP,cGKO,WHDP,aGCO,WHGP,UGHO,WHbP,kBGcO,cHVP,eGUO,cHNP,cGMO,cHFP,aGEO,cHEP,UGFO,cAGvB,SACI,WAAY,WAOZ,QArDc,KAsDd,SAAU,MACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KAbZ,WAAA,gBAAA,iBAKQ,WAAY,WALpB,qBAeQ,QAAS,EACT,SAAU,SACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,WA/DK,KAgEL,QAlEa,GA4CrB,0BAyBQ,QAAS,EACT,SAAU,SACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,QAAS,MACT,eAAgB,OAChB,WAAY,OACZ,MA3Ea,KA4Eb,YA3Ea,EAAI,IAAI,EAAI,KAwCjC,4BAqCY,MAAO,QArCnB,8BAwCY,QAAS,WACT,eAAgB,OAChB,WAAY,OA1CxB,kBHjBgB,kBGgEW,iBApFC,KHwBZ,eG4DW,iBApFC,KHoCZ,UGgDW,iBApFC,KAqFpB,QAAS,EDQT,4BEkBJ,GACI,QAAS,EJ5FD,kBI8FW,UAEvB,KACI,QAAS,EJjGD,kBIkGW,UFjBnB,yBEUJ,GACI,QAAS,EJxFD,eI0FW,UAEvB,KACI,QAAS,EJ7FD,eI8FW,UFLnB,oBEFJ,GACI,QAAS,EJ5FD,kBI8FW,UJ1FX,eI0FW,UJtFX,cIsFW,UJlFX,aIkFW,UJ9EX,UI8EW,UAEvB,KACI,QAAS,EJjGD,kBIkGW,SJ9FX,eI8FW,SJ1FX,cI0FW,SJtFX,aIsFW,SJlFX,UIkFW,UFzBnB,oCE4HJ,KACI,QAAS,EJtMD,kBIuMW,gBAEvB,GACI,QAAS,EJ1MD,kBI2MW,eF1HnB,iCEoHJ,KACI,QAAS,EJlMD,eImMW,gBAEvB,GACI,QAAS,EJtMD,eIuMW,eF9GnB,4BEwGJ,KACI,QAAS,EJtMD,kBIuMW,gBJnMX,eImMW,gBJ/LX,cI+LW,gBJ3LX,aI2LW,gBJvLX,UIuLW,gBAEvB,GACI,QAAS,EJ1MD,kBI2MW,cJvMX,eIuMW,cJnMX,cImMW,cJ/LX,aI+LW,cJ3LX,UI2LW,eFlInB,uCEwIJ,GJjNY,kBIkNW,gBAEvB,KJpNY,kBIqNW,eFpInB,oCEgIJ,GJ7MY,eI8MW,gBAEvB,KJhNY,eIiNW,eFxHnB,+BEoHJ,GJjNY,kBIkNW,gBJ9MX,eI8MW,gBJ1MX,cI0MW,gBJtMX,aIsMW,gBJlMX,UIkMW,gBAEvB,KJpNY,kBIqNW,cJjNX,eIiNW,cJ7MX,cI6MW,cJzMX,aIyMW,cJrMX,UIqMW,eF5InB,+CEiJJ,GJ1NY,kBI2NW,cAEvB,KJ7NY,kBI8NW,kBF7InB,4CEyIJ,GJtNY,eIuNW,cAEvB,KJzNY,eI0NW,kBFjInB,uCE6HJ,GJ1NY,kBI2NW,cJvNX,eIuNW,cJnNX,cImNW,cJ/MX,aI+MW,cJ3MX,UI2MW,cAEvB,KJ7NY,kBI8NW,iBJ1NX,eI0NW,iBJtNX,cIsNW,iBJlNX,aIkNW,iBJ9MX,UI8MW,kBFrJnB,oCE0JJ,GACI,QAAS,EAEb,KACI,QAAS,GFtJT,iCEkJJ,GACI,QAAS,EAEb,KACI,QAAS,GF1IT,4BEsIJ,GACI,QAAS,EAEb,KACI,QAAS,GF9JT,qCEmKJ,GACI,QAAS,EAEb,KACI,QAAS,GF/JT,kCE2JJ,GACI,QAAS,EAEb,KACI,QAAS,GFnJT,6BE+IJ,GACI,QAAS,EAEb,KACI,QAAS,GAMjB,UJtPgB,kBI+PO,SA7QK,IFKR,kCEwQ6D,SJ3PjE,eI2PO,SA7QK,IFKR,kCEwQ6D,SJ/OjE,UI+OO,SA7QK,IFKR,kCEwQ6D,SJ/PjE,kBIgQO,cJ5PP,eI4PO,cJxPP,cIwPO,cJpPP,aIoPO,cJhPP,UIgPO,cA7PnB,WAAY,WAOZ,iBAlCU,KAmCV,OAlCc,IAAI,MAAM,KJ6EhB,cAAe,IAtCX,WItCM,EAAI,EAAI,IAAI,EAAI,eAsClC,QA1Ce,KA2Cf,SAAU,MACV,KAAM,EACN,IAAK,EAEL,WAAY,YAiOhB,YAEQ,WAAY,WAFpB,iBAAA,kBAMQ,WAAY,WAxPhB,YAkPJ,iBAAA,kBA/OQ,WAAY,WAkBhB,2BACI,YAAa,KAEb,YAAa,IACb,QAjDkB,KAAK,KAkDvB,cAAe,IAAA,MAAA,YACf,uBA9CiB,IA+CjB,wBA/CiB,IAiDjB,OAAQ,KACR,kDACI,SAAU,SACV,MAAO,EACP,IAAK,EACL,QAzDoB,KAAK,KA0DzB,0EACI,OAAQ,EACR,QA3DoB,EAAI,IA4DxB,WAAY,IACZ,QAAS,aACT,WAAY,OACZ,OAAQ,QACR,QAAS,EAIrB,yBACI,0BAnEiB,IAoEjB,2BApEiB,IAsEjB,QA5EgB,EA6EhB,WAAY,OJxDJ,iBIyDM,EJrDN,cIqDM,EJzCN,SIyCM,EJzDN,aIyDM,EJrDN,UIqDM,EJjDN,SIiDM,EJzCN,KIyCM,EACd,SAAU,SACV,SAAU,OAEV,gCACI,OAAQ,EAAA,KAGZ,iCJjEQ,kBIkEe,iBAhFH,IFKR,kCE2EsE,SJ9D1E,eI8De,iBAhFH,IFKR,kCE2EsE,SJlD1E,UIkDe,iBAhFH,IFKR,kCE2EsE,SAElF,kCJpEQ,kBIqEe,kBAnFH,IFKR,kCE8EuE,SJjE3E,eIiEe,kBAnFH,IFKR,kCE8EuE,SJrD3E,UIqDe,kBAnFH,IFKR,kCE8EuE,SAMvF,2BACI,MA9EgB,KA+EhB,WA7EqB,QA+EjB,oDACI,MAlFQ,KAmFR,QAAS,EAqKzB,kBJtPgB,kBIwQW,iBArRE,IFIT,kCEiR2E,SJpQ/E,eIoQW,iBArRE,IFIT,kCEiR2E,SJxP/E,UIwPW,iBArRE,IFIT,kCEiR2E,SAlB/F,qBAsBQ,OAAQ,EAAA,KJtNJ,cAAe,EAtCX,WI8PY,KJ9QZ,kBI+QW,oBA7RC,IFKR,kCEwRqE,SJ3QzE,eI2QW,oBA7RC,IFKR,kCEwRqE,SJ/PzE,UI+PW,oBA7RC,IFKR,kCEwRqE,SAzBzF,6BJtPgB,kBIkRe,4BA/RF,IFET,0BE6RkF,SJ9QtF,eI8Qe,4BA/RF,IFET,0BE6RkF,SJlQtF,UIkQe,4BA/RF,IFET,0BE6RkF,SA5BtG,kCAkCY,QAAS,GAlCrB,gCAqCY,QAAS,GArCrB,kCAyCQ,SAAU,SACV,QAAS,MA1CjB,yCA4CY,SAAU,SACV,QAAS,IACT,QAAS,MACT,MAAO,KACP,OAAQ,KACR,KAAM,KACN,IAAK,KACL,MAAO,KACP,OAAQ,KApDpB,6DA0DY,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,EA7DpB,oEAgEgB,MAAO,KACP,OAAQ,IACR,KAAM,EACN,IAAK,KACL,OAAQ,WApExB,gEAwEY,KAAM,EACN,OAAQ,EACR,MAAO,KACP,OAAQ,EA3EpB,uEA8EgB,MAAO,KACP,OAAQ,IACR,KAAM,EACN,IAAK,KACL,OAAQ,WAlFxB,8DAsFY,KAAM,EACN,IAAK,EACL,MAAO,EACP,OAAQ,KAzFpB,qEA4FgB,MAAO,IACP,OAAQ,KACR,KAAM,KACN,IAAK,EACL,OAAQ,WAhGxB,+DAoGY,MAAO,EACP,IAAK,EACL,MAAO,EACP,OAAQ,KAvGpB,sEA0GgB,MAAO,IACP,OAAQ,KACR,KAAM,KACN,IAAK,EACL,OAAQ,WA9GxB,kEAkHY,KAAM,EACN,IAAK,EACL,MAAO,EACP,OAAQ,EArHpB,yEAwHgB,MAAO,IACP,OAAQ,IACR,KAAM,KACN,IAAK,KACL,OAAQ,YA5HxB,mEAgIY,MAAO,EACP,IAAK,EACL,MAAO,EACP,OAAQ,EAnIpB,0EAsIgB,MAAO,IACP,OAAQ,IACR,KAAM,KACN,IAAK,KACL,OAAQ,YA1IxB,qEA8IY,KAAM,EACN,OAAQ,EACR,MAAO,EACP,OAAQ,EAjJpB,4EAoJgB,MAAO,IACP,OAAQ,IACR,KAAM,KACN,IAAK,KACL,OAAQ,YAxJxB,sEA4JY,MAAO,EACP,OAAQ,EACR,MAAO,EACP,OAAQ,EA/JpB,6EAkKgB,MAAO,IACP,OAAQ,IACR,KAAM,KACN,IAAK,KACL,OAAQ,YAOxB,6BACI,SAAU,MACV,KAAM,EACN,IAAK,EACL,MAAO,KACP,OAAQ,KACR,WAAY,IACZ,QApce,KAscf,OAAQ,KAEZ,kBACI,SAAU,SACV,KAAM,EACN,IAAK,EAEL,QA7ce,KA8cf,OAAQ,KAER,WA/ciB,WAgdjB,iBA/bkB,KAgclB,OA/bsB,IAAI,MAAM,IAgchC,QA9bwB,GJ2DhB,cAAe,IAtCX,WItCM,EAAI,EAAI,IAAI,EAAI,eF+F9B,mCGCJ,KL1EY,kBK2EW,mBAAmB,UAE1C,GL7EY,kBK+EW,cAAgB,UHEnC,gCGPJ,KLtEY,eKuEW,mBAAmB,UAE1C,GLzEY,eK2EW,cAAgB,UHcnC,2BGnBJ,KL1EY,kBK2EW,mBAAmB,ULvE9B,eKuEW,mBAAmB,ULnE9B,cKmEW,mBAAmB,UL/D9B,aK+DW,mBAAmB,UL3D9B,UK2DW,mBAAmB,UAE1C,GL7EY,kBK+EW,cAAgB,SL3E3B,eK2EW,cAAgB,SLvE3B,cKuEW,cAAgB,SLnE3B,aKmEW,cAAgB,SL/D3B,UK+DW,cAAgB,UHNnC,gCGWJ,KLpFY,kBKqFW,kBAAkB,UAEzC,GLvFY,kBKyFW,cAAgB,UHRnC,6BGGJ,KLhFY,eKiFW,kBAAkB,UAEzC,GLnFY,eKqFW,cAAgB,UHInC,wBGTJ,KLpFY,kBKqFW,kBAAkB,ULjF7B,eKiFW,kBAAkB,UL7E7B,cK6EW,kBAAkB,ULzE7B,aKyEW,kBAAkB,ULrE7B,UKqEW,kBAAkB,UAEzC,GLvFY,kBKyFW,cAAgB,SLrF3B,eKqFW,cAAgB,SLjF3B,cKiFW,cAAgB,SL7E3B,aK6EW,cAAgB,SLzE3B,UKyEW,cAAgB,UHhBnC,2CGqBJ,KL9FY,kBK+FW,cACnB,QAAS,EAEb,GLlGY,kBKmGW,iBAAiB,UACpC,QAAS,GHnBT,wCGaJ,KL1FY,eK2FW,cACnB,QAAS,EAEb,GL9FY,eK+FW,iBAAiB,UACpC,QAAS,GHPT,mCGCJ,KL9FY,kBK+FW,cL3FX,eK2FW,cLvFX,cKuFW,cLnFX,aKmFW,cL/EX,UK+EW,cACnB,QAAS,EAEb,GLlGY,kBKmGW,iBAAiB,UL/F5B,eK+FW,iBAAiB,UL3F5B,cK2FW,iBAAiB,ULvF5B,aKuFW,iBAAiB,ULnF5B,UKmFW,iBAAiB,UACpC,QAAS,GH3BT,wCGgCJ,KLzGY,kBK0GW,cACnB,QAAS,EAEb,GL7GY,kBK8GW,kBAAkB,UACrC,QAAS,GH9BT,qCGwBJ,KLrGY,eKsGW,cACnB,QAAS,EAEb,GLzGY,eK0GW,kBAAkB,UACrC,QAAS,GHlBT,gCGYJ,KLzGY,kBK0GW,cLtGX,eKsGW,cLlGX,cKkGW,cL9FX,aK8FW,cL1FX,UK0FW,cACnB,QAAS,EAEb,GL7GY,kBK8GW,kBAAkB,UL1G7B,eK0GW,kBAAkB,ULtG7B,cKsGW,kBAAkB,ULlG7B,aKkGW,kBAAkB,UL9F7B,UK8FW,kBAAkB,UACrC,QAAS,GHtCT,oCG2CJ,KLpHY,kBKqHW,SACnB,QAAS,EAEb,GLxHY,kBKyHW,WACnB,QAAS,GHzCT,iCGmCJ,KLhHY,eKiHW,SACnB,QAAS,EAEb,GLpHY,eKqHW,WACnB,QAAS,GH7BT,4BGuBJ,KLpHY,kBKqHW,SLjHX,eKiHW,SL7GX,cK6GW,SLzGX,aKyGW,SLrGX,UKqGW,SACnB,QAAS,EAEb,GLxHY,kBKyHW,WLrHX,eKqHW,WLjHX,cKiHW,WL7GX,aK6GW,WLzGX,UKyGW,WACnB,QAAS,GAMjB,wBACI,QA5Je,KA6Jf,SAAU,MACV,MA5JuB,KA6JvB,QA5JyB,KA8JzB,WAAY,WANhB,0BAAA,+BAAA,gCAUQ,WAAY,WAVpB,sCAlHI,WArCiB,WAsCjB,OArCc,IAAI,MAAM,KAsCxB,QAlCe,GLwEP,cAAe,IKnCvB,WAxCkB,EAAI,EAAI,IAAI,EAAI,iBAyClC,SAAU,S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","file":"admin.min.css","sourcesContent":["@charset \"UTF-8\";\r\n\r\n// BASE\r\n@import \"boot/mixins\";\r\n@import \"boot/function\";\r\n@import \"boot/fonts\";\r\n@import \"variables\";\r\n@import \"boot/reset\";\r\n\r\n// 애니메이션,레이아웃,유틸리티,컴포넌트\r\n@import \"common/animation\";\r\n@import \"common/layout\";\r\n@import \"common/utility\";\r\n\r\n// 각종 컴포넌트\r\n@import \"components/buttons\";\r\n@import \"components/dropdown\";\r\n@import \"components/grid\";\r\n@import \"components/form\";\r\n@import \"components/pagination\";\r\n\r\n// 각종 플러그인 SCSS 및 플러그인 커스텀\r\n@import \"plugins/jquery_ui\";\r\n@import \"plugins/fontawesome5/fontawesome\";\r\n@import \"plugins/fontawesome5/fa-regular\";\r\n@import \"plugins/fontawesome5/fa-light\";\r\n@import \"plugins/fontawesome5/fa-solid\";\r\n@import \"plugins/fontawesome5/fa-brands\";\r\n@import \"plugins/jquery.datetimepicker.css\";\r\n@import \"plugins/ax5ui/ax5\";\r\n@import \"plugins/ax5ui/ax5grid\";\r\n@import \"plugins/ax5ui/ax5mask\";\r\n@import \"plugins/ax5ui/ax5modal\";\r\n@import \"plugins/ax5ui/ax5toast\";\r\n@import \"plugins/plugins_custom\";\r\n\r\n// 각 페이지 SCSS 파일\r\n@import \"pages/login\";\r\n\r\n","@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:300;\r\n src: url(../fonts/Gilroy-Light.eot);\r\n src: url(../fonts/Gilroy-Light.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Light.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Light.woff) format('woff'),\r\n url(../fonts/Gilroy-Light.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:400;\r\n src: url(../fonts/Gilroy-Regular.eot);\r\n src: url(../fonts/Gilroy-Regular.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Regular.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Regular.woff) format('woff'),\r\n url(../fonts/Gilroy-Regular.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:500;\r\n src: url(../fonts/Gilroy-Medium.eot);\r\n src: url(../fonts/Gilroy-Medium.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Medium.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Medium.woff) format('woff'),\r\n url(../fonts/Gilroy-Medium.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:700;\r\n src: url(../fonts/Gilroy-Bold.eot);\r\n src: url(../fonts/Gilroy-Bold.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-Bold.woff2) format('woff2'),\r\n url(../fonts/Gilroy-Bold.woff) format('woff'),\r\n url(../fonts/Gilroy-Bold.ttf) format('truetype');\r\n}\r\n\r\n\r\n@font-face {\r\n font-family: 'Gilroy';\r\n font-weight:800;\r\n src: url(../fonts/Gilroy-ExtraBold.eot);\r\n src: url(../fonts/Gilroy-ExtraBold.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/Gilroy-ExtraBold.woff2) format('woff2'),\r\n url(../fonts/Gilroy-ExtraBold.woff) format('woff'),\r\n url(../fonts/Gilroy-ExtraBold.ttf) format('truetype');\r\n}\r\n\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 400;\r\n src: url(../fonts/NanumSquareR.eot);\r\n src: url(../fonts/NanumSquareR.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareR.woff) format('woff'),\r\n url(../fonts/NanumSquareR.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 700;\r\n src: url(../fonts/NanumSquareB.eot);\r\n src: url(../fonts/NanumSquareB.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareB.woff) format('woff'),\r\n url(../fonts/NanumSquareB.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 800;\r\n src: url(../fonts/NanumSquareEB.eot);\r\n src: url(../fonts/NanumSquareEB.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareEB.woff) format('woff'),\r\n url(../fonts/NanumSquareEB.ttf) format('truetype');\r\n}\r\n@font-face {\r\n font-family: 'NanumSquare';\r\n font-weight: 300;\r\n src: url(../fonts/NanumSquareL.eot);\r\n src: url(../fonts/NanumSquareL.eot?#iefix) format('embedded-opentype'),\r\n url(../fonts/NanumSquareL.woff) format('woff'),\r\n url(../fonts/NanumSquareL.ttf) format('truetype');\r\n}\r\n\r\n",null,"/**********************************************************************************************************************\r\n * RESET\r\n ***********************************************************************************************************************/\r\n*,\r\n*::before,\r\n*::after {\r\n box-sizing: border-box;\r\n}\r\n\r\nhtml {\r\n font-family: sans-serif; // 2\r\n line-height: 1.15; // 3\r\n -webkit-text-size-adjust: 100%; // 4\r\n -ms-text-size-adjust: 100%; // 4\r\n -ms-overflow-style: scrollbar; // 5\r\n -webkit-tap-highlight-color: rgba(#000, 0); // 6\r\n}\r\n\r\n// IE10+ 에서 viewport 메타 태그가 먹지않는경우를 대비\r\n@at-root {\r\n @-ms-viewport {\r\n width: device-width;\r\n }\r\n}\r\n\r\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\r\n display: block;\r\n}\r\n\r\nbody {\r\n margin: 0;\r\n font-family: $font-family-base;\r\n font-size: $font-size-base;\r\n font-weight: $font-weight-base;\r\n line-height: $line-height-base;\r\n color: $body-color;\r\n text-align: left;\r\n background-color: $body-bg-color;\r\n}\r\n\r\n[tabindex=\"-1\"]:focus {\r\n outline: 0 !important;\r\n}\r\n\r\nhr {\r\n box-sizing: content-box;\r\n height: 0;\r\n overflow: visible;\r\n}\r\n\r\nh1, h2, h3, h4, h5, h6 {\r\n margin:0;\r\n font-family:$font-family-heading;\r\n}\r\n\r\np {\r\n margin:0;\r\n}\r\n\r\nabbr[title],\r\nabbr[data-original-title] {\r\n text-decoration: underline;\r\n text-decoration: underline dotted;\r\n cursor: help; // 3\r\n border-bottom: 0; // 1\r\n}\r\n\r\naddress {\r\n margin:0;\r\n font-style: normal;\r\n line-height: inherit;\r\n}\r\n\r\nol,\r\nul,\r\ndl {\r\n margin:0;\r\n}\r\n\r\n\r\nol ol,\r\nul ul,\r\nol ul,\r\nul ol {\r\n margin:0;\r\n}\r\n\r\ndt {\r\n font-weight: $font-weight-base;\r\n}\r\n\r\ndd {\r\n margin:0;\r\n}\r\n\r\nblockquote {\r\n margin:0;\r\n}\r\n\r\ndfn {\r\n font-style: italic;\r\n}\r\n\r\nb,\r\nstrong {\r\n font-weight: $font-weight-bold;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n position: relative;\r\n font-size: 75%;\r\n line-height: 0;\r\n vertical-align: baseline;\r\n}\r\n\r\nsub { bottom: -.25em; }\r\nsup { top: -.5em; }\r\n\r\n// 링크\r\na {\r\n color: $link-color;\r\n text-decoration: none;\r\n background-color: transparent;\r\n -webkit-text-decoration-skip: objects;\r\n\r\n &:hover {\r\n color: $link-hover-color;\r\n text-decoration:none;\r\n }\r\n\r\n &:not([href]):not([tabindedx]) {\r\n color: inherit;\r\n text-decoration: none;\r\n\r\n &:hover,\r\n &:focus {\r\n color: inherit;\r\n text-decoration: none;\r\n }\r\n\r\n &:focus {\r\n outline: 0;\r\n }\r\n }\r\n}\r\n\r\n// 코드 관련\r\npre,\r\ncode,\r\nkbd,\r\nsamp {\r\n font-family: $font-family-base;\r\n font-size: 1em;\r\n}\r\n\r\npre {\r\n margin:0;\r\n overflow: auto;\r\n -ms-overflow-style: scrollbar;\r\n}\r\n\r\n// 이미지 관련\r\nfigure {\r\n margin: 0;\r\n}\r\n\r\nimg {\r\n vertical-align: middle;\r\n border-style: none;\r\n}\r\n\r\nsvg:not(:root) {\r\n overflow: hidden;\r\n}\r\n\r\n// 테이블 관련\r\ntable {\r\n border-collapse: collapse;\r\n}\r\n\r\ncaption {\r\n padding-top: $table-cell-padding;\r\n padding-bottom: $table-cell-padding;\r\n color: $body-color;\r\n text-align: left;\r\n caption-side: bottom;\r\n}\r\n\r\nth {\r\n text-align: inherit;\r\n}\r\n\r\n// 폼관련\r\nlabel {\r\n display: inline-block;\r\n margin:0;\r\n}\r\n\r\nbutton {\r\n border-radius: 0;\r\n\r\n &:focus {\r\n outline: 1px dotted;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n }\r\n}\r\n\r\ninput,\r\nbutton,\r\nselect,\r\noptgroup,\r\ntextarea {\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: inherit;\r\n line-height: inherit;\r\n}\r\n\r\nbutton,\r\ninput {\r\n overflow: visible;\r\n}\r\n\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nbutton,\r\nhtml [type=\"button\"],\r\n[type=\"reset\"],\r\n[type=\"submit\"] {\r\n -webkit-appearance: button;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\n[type=\"button\"]::-moz-focus-inner,\r\n[type=\"reset\"]::-moz-focus-inner,\r\n[type=\"submit\"]::-moz-focus-inner {\r\n padding: 0;\r\n border-style: none;\r\n}\r\n\r\ninput[type=\"radio\"],\r\ninput[type=\"checkbox\"] {\r\n box-sizing: border-box;\r\n padding: 0;\r\n}\r\n\r\ninput[type=\"date\"],\r\ninput[type=\"time\"],\r\ninput[type=\"datetime-local\"],\r\ninput[type=\"month\"] {\r\n -webkit-appearance: listbox;\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n resize: vertical;\r\n}\r\n\r\nfieldset {\r\n min-width: 0;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n}\r\n\r\nlegend {\r\n display: block;\r\n width: 100%;\r\n max-width: 100%;\r\n padding: 0;\r\n margin:0;\r\n font-size: 1.5rem;\r\n line-height: inherit;\r\n color: inherit;\r\n white-space: normal;\r\n}\r\n\r\nprogress {\r\n vertical-align: baseline;\r\n}\r\n\r\n[type=\"number\"]::-webkit-inner-spin-button,\r\n[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\n\r\n[type=\"search\"] {\r\n outline-offset: -2px;\r\n -webkit-appearance: none;\r\n}\r\n\r\n[type=\"search\"]::-webkit-search-cancel-button,\r\n[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\n\r\n\r\n::-webkit-file-upload-button {\r\n font: inherit;\r\n -webkit-appearance: button;\r\n}\r\n\r\n\r\noutput {\r\n display: inline-block;\r\n}\r\n\r\nsummary {\r\n display: list-item;\r\n cursor: pointer;\r\n}\r\n\r\ntemplate {\r\n display: none;\r\n}\r\n\r\n[hidden] {\r\n display: none !important;\r\n}\r\n","\r\n@-webkit-keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -moz-transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-UP {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(30px) scale(1);\r\n -moz-transform: translateY(30px) scale(1);\r\n -ms-transform: translateY(30px) scale(1);\r\n -o-transform: translateY(30px) scale(1);\r\n transform: translateY(30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -moz-transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-DOWN {\r\n 0% {\r\n opacity: 0.0;\r\n -webkit-transform: translateY(-30px) scale(1);\r\n -moz-transform: translateY(-30px) scale(1);\r\n -ms-transform: translateY(-30px) scale(1);\r\n -o-transform: translateY(-30px) scale(1);\r\n transform: translateY(-30px) scale(1)\r\n }\r\n 100% {\r\n opacity: 1.0;\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -webkit-transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -moz-transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-IN-LEFT {\r\n 0% {\r\n -webkit-transform: translateX(-30px) scale(1);\r\n -moz-transform: translateX(-30px) scale(1);\r\n -ms-transform: translateX(-30px) scale(1);\r\n -o-transform: translateX(-30px) scale(1);\r\n transform: translateX(-30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-webkit-keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -webkit-transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@-moz-keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -moz-transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -moz-transform: translateY(0%) scale(1)\r\n }\r\n}\r\n\r\n@keyframes SLIDE-IN-RIGHT {\r\n 0% {\r\n -webkit-transform: translateX(30px) scale(1);\r\n -moz-transform: translateX(30px) scale(1);\r\n -ms-transform: translateX(30px) scale(1);\r\n -o-transform: translateX(30px) scale(1);\r\n transform: translateX(30px) scale(1)\r\n }\r\n 100% {\r\n -webkit-transform: translateY(0%) scale(1);\r\n -moz-transform: translateY(0%) scale(1);\r\n -ms-transform: translateY(0%) scale(1);\r\n -o-transform: translateY(0%) scale(1);\r\n transform: translateY(0%) scale(1)\r\n }\r\n}","body {\r\n height:100vh;\r\n}\r\n$header-height : 50px;\r\n$nav-height : 59px;\r\n\r\n#header {\r\n position:relative;\r\n @include display-flex();\r\n height:$header-height;\r\n background: #5399ea; /* Old browsers */\r\n background: -moz-linear-gradient(left, #5399ea 0%, #5ec0cc 100%); /* FF3.6-15 */\r\n background: -webkit-linear-gradient(left, #5399ea 0%,#5ec0cc 100%); /* Chrome10-25,Safari5.1-6 */\r\n background: linear-gradient(to right, #5399ea 0%,#5ec0cc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\r\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5399ea', endColorstr='#5ec0cc',GradientType=1 ); /* IE6-9 */\r\n padding:0 30px;\r\n z-index:101;\r\n align-items: center;\r\n\r\n .logo {\r\n display:block;\r\n color:#fff;\r\n font-size:19px;\r\n }\r\n\r\n .top-navs {\r\n -ms-flex:1;\r\n -webkit-flex:1;\r\n flex:1;\r\n }\r\n\r\n\r\n .btn-top-action {\r\n padding:14px;\r\n cursor:pointer;\r\n background:transparent;\r\n position:relative;\r\n color:#fff;\r\n border:0 none;\r\n outline:none !important;\r\n font-size:13px;\r\n\r\n i {\r\n font-size:20px;\r\n vertical-align: middle;\r\n }\r\n }\r\n\r\n .btn-user {\r\n display:inline-block;\r\n\r\n .btn-top-action {\r\n\r\n &:after {\r\n content:\"\\f107\";\r\n font-family:'Font Awesome 5 Pro';\r\n position:absolute;\r\n right:0px;\r\n top:50%;\r\n -webkit-transform: translateY(-50%);\r\n -moz-transform: translateY(-50%);\r\n -ms-transform: translateY(-50%);\r\n -o-transform: translateY(-50%);\r\n transform: translateY(-50%);\r\n }\r\n }\r\n }\r\n}\r\n\r\n#nav {\r\n position:relative;\r\n z-index: 100;\r\n width: 100%;\r\n height: $nav-height;\r\n background-color: #ffffff;\r\n border-bottom: 1px solid #e6e6e6;\r\n padding:0 30px;\r\n\r\n .main-navigation {\r\n @include display-flex();\r\n height:$nav-height;\r\n padding:0;\r\n margin:0;\r\n list-style:none;\r\n flex-wrap:wrap;\r\n\r\n > li {\r\n display:block;\r\n position:relative;\r\n margin-right:30px;\r\n\r\n > a {\r\n @include display-flex();\r\n height:$nav-height;\r\n justify-content: center;\r\n align-items: center;\r\n color:#979797;\r\n font-size:0;\r\n font-weight:500;\r\n padding-left:0;\r\n padding-right:45px;\r\n position:relative;\r\n font-family: NanumSquare;\r\n\r\n &:after {\r\n content:\"\\f107\";\r\n font-family:'Font Awesome 5 Pro';\r\n position:absolute;\r\n font-size:15px;\r\n right:15px;\r\n top:50%;\r\n -webkit-transform: translateY(-50%);\r\n -moz-transform: translateY(-50%);\r\n -ms-transform: translateY(-50%);\r\n -o-transform: translateY(-50%);\r\n transform: translateY(-50%);\r\n }\r\n\r\n i, span {\r\n font-size:15px;\r\n }\r\n\r\n i + span {\r\n margin-left:6px;\r\n }\r\n }\r\n\r\n &.active {\r\n > a {\r\n color:#282828;\r\n }\r\n }\r\n\r\n > ul {\r\n height:0;\r\n visibility: hidden;\r\n opacity:0;\r\n z-index:101;\r\n position:absolute;\r\n top:100%;\r\n left:0;\r\n width:130px;\r\n background:#fff;\r\n list-style:none;\r\n padding:0;\r\n margin:0;\r\n border:1px solid #767676;\r\n\r\n li {\r\n display:block;\r\n\r\n a {\r\n display:block;\r\n padding:12px 15px;\r\n font-size:13px;\r\n color:#282828;\r\n cursor:pointer;\r\n\r\n &:hover {\r\n background-color:#f4f8f9;\r\n }\r\n }\r\n\r\n &.active {\r\n a {\r\n background-color:#f4f8f9;\r\n color:$color-primary;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &:hover {\r\n > a {\r\n color:#282828;\r\n }\r\n\r\n > ul {\r\n height:auto;\r\n visibility: visible;\r\n opacity:1;\r\n -webkit-transition: visibility .3s, opacity .3s;\r\n -moz-transition: visibility .3s, opacity .3s;\r\n -ms-transition: visibility .3s, opacity .3s;\r\n -o-transition: visibility .3s, opacity .3s;\r\n transition: visibility .3s, opacity .3s;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n#contents {\r\n padding:30px;\r\n height: calc(100vh - #{$header-height} - #{$nav-height});\r\n overflow-y:auto;\r\n}\r\n\r\n.page-header {\r\n margin-bottom:15px;\r\n\r\n .page-title {\r\n font-size:23px;\r\n font-weight:500;\r\n color:#282828;\r\n\r\n small {\r\n color:#767676;\r\n font-size:12px;\r\n margin-left:15px;\r\n }\r\n }\r\n}\r\n\r\n.box {\r\n position:relative;\r\n padding:30px;\r\n background:#fff;\r\n border-radius:4px;\r\n border:1px solid #e6e6e6;\r\n\r\n .box-header {\r\n border-bottom:1px solid #e6e6e6;\r\n margin-bottom:15px;\r\n margin-top:-30px;\r\n position:relative;\r\n height:57px;\r\n\r\n @include clear-fix-after();\r\n\r\n .box-title {\r\n float:left;\r\n color:$brand-primary;\r\n font-size:15px;\r\n font-weight:500;\r\n padding:18px 0;\r\n\r\n small {\r\n color:#767676;\r\n font-weight:400;\r\n font-size:13px;\r\n }\r\n }\r\n\r\n .box-action {\r\n float:right;\r\n @include display-flex();\r\n height:57px;\r\n align-items: center;\r\n }\r\n }\r\n}",".ellipsis { text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; overflow:hidden; }\r\n.admin-help-wrap {\r\n width:700px; margin:0 auto;\r\n li > img {width:700px;}\r\n .point-color {color:#e60035}\r\n}\r\n\r\n/* 높이/너비/마진/패딩 */\r\n@for $i from 1 to 100 {\r\n .H#{$i * 5} {\r\n height: 5px * $i !important;\r\n }\r\n}\r\n@for $i from 1 to 100{\r\n .W#{$i * 5} {\r\n width: 5px * $i !important;\r\n }\r\n}\r\n@for $i from 1 to 10 {\r\n .M#{$i * 5} {\r\n margin:5px * $i;\r\n }\r\n .MT#{$i * 5} {\r\n margin-top:5px * $i;\r\n }\r\n .MR#{$i*5} {\r\n margin-right:5px * $i;\r\n }\r\n .MB#{$i * 5} {\r\n margin-bottom:5px * $i;\r\n }\r\n .ML#{$i * 5} {\r\n margin-left:5px * $i;\r\n }\r\n .PT#{$i * 5} {\r\n padding-top:5px * $i;\r\n }\r\n .PR#{$i * 5} {\r\n padding-right:5px * $i;\r\n }\r\n .PB#{$i * 5} {\r\n padding-bottom:5px * $i;\r\n }\r\n .PL#{$i * 5} {\r\n padding-left:5px * $i;\r\n }\r\n .P#{$i * 5} {\r\n padding:5px * $i;\r\n }\r\n}\r\n\r\n.text-center {\r\n text-align:center !important;\r\n}\r\n\r\n.text-left {\r\n text-align:left !important;\r\n}\r\n\r\n.text-right {\r\n text-align:right !important;\r\n}\r\n\r\n\r\n@each $color, $value in $theme-colors {\r\n .text-#{$color} {\r\n color:$value;\r\n }\r\n}\r\n","// 반응형 포인트\r\n$break-desktop : 1200px;\r\n$break-tablet : 992px;\r\n$break-mobile : 768px;\r\n\r\n// 색상 변수\r\n$color-primary : #5399ea; // 메인 컬러\r\n$color-secondary : #404040; // 서브 컬러\r\n$color-success : #1ffd32;\r\n$color-info : #3498db;\r\n$color-warning : #ffb802;\r\n$color-danger : #e32815;\r\n$color-light : #f8f9fa;\r\n$color-dark : #343a40;\r\n\r\n$body-color : #282828; // 기본 텍스트 색상\r\n$body-bg-color : #f4f8f9; // 기본 배경 색상\r\n\r\n$link-color : $body-color; // 링크 텍스트 색상\r\n$link-hover-color : $color-primary; // 링크 오버시 텍스트 색상\r\n\r\n// 폰트 관련\r\n$font-family-base : Gilroy,'Noto Sans KR',sans-serif; // 기본글자에 사용 되는 폰트\r\n$font-family-heading : Gilroy, 'NanumSquare','나눔스퀘어',sans-serif; // 헤딩태그에 사용 되는 폰트\r\n$font-size-base : 14px;\r\n$font-weight-base : 400;\r\n$font-weight-bold : 700;\r\n$line-height-base : 1.5em;\r\n\r\n// 애니메이션\r\n$default-animation : ease;\r\n\r\n// 테이블 관련\r\n$table-cell-padding: .75rem !default;\r\n$table-cell-padding-sm: .3rem !default;\r\n\r\n// 버튼 및 INPUT\r\n$input-btn-padding-y : 7px !default; // 상하\r\n$input-btn-padding-x : 24px !default; // 좌우\r\n$input-btn-font-size : 15px !default;\r\n$input-btn-line-height: $line-height-base !default;\r\n$input-btn-border-radius : 4px !default;\r\n\r\n$input-btn-padding-y-xs: 4px !default;\r\n$input-btn-padding-x-xs: 12px !default;\r\n$input-btn-font-size-xs: 11px !default;\r\n$input-btn-line-height-xs: $line-height-base !default;\r\n$input-btn-border-radius-xs : 2px !default;\r\n\r\n$input-btn-padding-y-sm: 6.5px !default;\r\n$input-btn-padding-x-sm: 17px !default;\r\n$input-btn-font-size-sm: 13px !default;\r\n$input-btn-line-height-sm: $line-height-base !default;\r\n$input-btn-border-radius-sm : 3px !default;\r\n\r\n$input-btn-padding-y-lg: 12px !default;\r\n$input-btn-padding-x-lg: 25px !default;\r\n$input-btn-font-size-lg: 15px !default;\r\n$input-btn-line-height-lg: $line-height-base !default;\r\n$input-btn-border-radius-lg : 6px !default;\r\n\r\n$theme-colors: () !default;\r\n$theme-colors: map-merge((\r\n \"primary\": $color-primary,\r\n \"secondary\": $color-secondary,\r\n \"success\": $color-success,\r\n \"info\": $color-info,\r\n \"warning\": $color-warning,\r\n \"danger\": $color-danger,\r\n \"light\" : $color-light,\r\n \"dark\" : $color-dark\r\n), $theme-colors);\r\n\r\n$brand-primary : $color-primary;\r\n$brand-success : $color-success;\r\n$brand-info : $color-info;\r\n$brand-warning : $color-warning;\r\n$brand-danger : $color-danger;\r\n","// Clear FIX\r\n@mixin clear-fix() {\r\n display:block;\r\n clear:both;\r\n content:\"\";\r\n}\r\n\r\n@mixin clear-fix-after() {\r\n &:after {\r\n display:block;\r\n clear:both;\r\n content:\"\";\r\n }\r\n}\r\n\r\n// Global Transition\r\n@mixin transition($second:.3s, $target:all, $animation:$default-animation)\r\n{\r\n -webkit-transition: $target $second $animation;\r\n -moz-transition: $target $second $animation;\r\n -ms-transition: $target $second $animation;\r\n -o-transition: $target $second $animation;\r\n transition: $target $second $animation;\r\n}\r\n\r\n// Display flex & Prefix\r\n@mixin display-flex()\r\n{\r\n -webkit-display:flex;\r\n display:-ms-flex;\r\n display:flex;\r\n}\r\n\r\n@mixin background-gradient($start, $end )\r\n{\r\n background-color: $start;\r\n background-image: -webkit-linear-gradient(top, $start, $end);\r\n background-image: linear-gradient(to bottom,$start, $end);\r\n}\r\n\r\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\r\n padding: $padding-y $padding-x;\r\n font-size: $font-size;\r\n line-height: $line-height;\r\n border-radius: $border-radius;\r\n}\r\n\r\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\r\n color: color-yiq($background);\r\n background-color:$background;\r\n border-color: $border;\r\n\r\n &:hover {\r\n color: color-yiq($hover-background);\r\n background-color :$hover-background;\r\n border-color: $hover-border;\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n\r\n }\r\n\r\n // Disabled comes first so active can properly restyle\r\n &.disabled,\r\n &:disabled {\r\n color: color-yiq($background);\r\n background-color: $background;\r\n border-color: $border;\r\n }\r\n\r\n &:not(:disabled):not(.disabled):active,\r\n &:not(:disabled):not(.disabled).active,\r\n .show > &.dropdown-toggle {\r\n color: color-yiq($active-background);\r\n background-color: $active-background;\r\n border-color: $active-border;\r\n\r\n &:focus {\r\n\r\n }\r\n }\r\n}\r\n",".btn {\r\n display: inline-block;\r\n font-weight: 400;\r\n color: $body-color;\r\n text-align: center;\r\n vertical-align: middle;\r\n user-select: none;\r\n background-color: transparent;\r\n border: 1px solid transparent;\r\n @include button-size( $input-btn-padding-y , $input-btn-padding-x, $input-btn-font-size, $input-btn-line-height, $input-btn-border-radius );\r\n @include transition();\r\n\r\n &:hover {\r\n color: $body-color;\r\n text-decoration: none;\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n outline: 0;\r\n box-shadow:none;\r\n }\r\n\r\n &.disabled,\r\n &:disabled {\r\n opacity: 0.4;\r\n box-shadow:none;\r\n }\r\n\r\n &:not(:disabled):not(.disabled) {\r\n cursor: pointer;\r\n }\r\n\r\n &:not(:disabled):not(.disabled):active,\r\n &:not(:disabled):not(.disabled).active {\r\n &:focus {\r\n\r\n }\r\n }\r\n}\r\n\r\n// Future-proof disabling of clicks on `` elements\r\na.btn.disabled,\r\nfieldset:disabled a.btn {\r\n pointer-events: none;\r\n}\r\n\r\n@each $color, $value in $theme-colors {\r\n .btn-#{$color} {\r\n @include button-variant($value, $value);\r\n }\r\n}\r\n\r\n.btn-link {\r\n padding:0;\r\n}\r\n\r\n.btn-default {\r\n @include button-variant(#fff, #979797);\r\n}\r\n\r\n.btn-xs {\r\n @include button-size($input-btn-padding-y-xs, $input-btn-padding-x-xs, $input-btn-font-size-xs, $input-btn-line-height-xs, $input-btn-border-radius-xs);\r\n}\r\n\r\n.btn-lg {\r\n @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $input-btn-font-size-lg, $input-btn-line-height-lg, $input-btn-border-radius-lg);\r\n}\r\n\r\n.btn-sm {\r\n @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $input-btn-font-size-sm, $input-btn-line-height-sm, $input-btn-border-radius-sm);\r\n}\r\n\r\n.btn-block {\r\n display: block;\r\n width: 100%;\r\n\r\n + .btn-block {\r\n margin-top: 10px;\r\n }\r\n}\r\n\r\n// Specificity overrides\r\ninput[type=\"submit\"],\r\ninput[type=\"reset\"],\r\ninput[type=\"button\"] {\r\n &.btn-block {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.btn-group {\r\n display:inline-block;\r\n position:relative;\r\n}","@function color-yiq($color, $dark: #212529, $light: #fff) {\r\n $r: red($color);\r\n $g: green($color);\r\n $b: blue($color);\r\n\r\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\r\n\r\n @if ($yiq >= 150) {\r\n @return #343a40;\r\n } @else {\r\n @return #f8f9fa;\r\n }\r\n}\r\n","\r\n// The dropdown wrapper (div)\r\n.dropup,\r\n.dropdown {\r\n position: relative;\r\n}\r\n\r\n// Prevent the focus on the dropdown toggle when closing dropdowns\r\n.dropdown-toggle:focus {\r\n outline: 0;\r\n}\r\n\r\n// The dropdown menu (ul)\r\n.dropdown-menu {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 1000 ;\r\n display: none;\r\n float: left;\r\n min-width: 160px;\r\n padding: 0;\r\n margin: 0;\r\n list-style: none;\r\n font-size: $font-size-base;\r\n text-align: left;\r\n background-color: #fff;\r\n border: 1px solid #767676;\r\n border-radius: 0;\r\n -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n -moz-box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n background-clip: padding-box;\r\n\r\n &.pull-right {\r\n right: 0;\r\n left: auto;\r\n }\r\n\r\n .divider {\r\n height: 1px;\r\n margin: 9px 0;\r\n overflow: hidden;\r\n background-color: #e5e5e5;\r\n }\r\n\r\n // Links within the dropdown menu\r\n > li > a {\r\n display: block;\r\n padding:12px 15px;\r\n font-size:13px;\r\n clear: both;\r\n font-weight: normal;\r\n line-height: $line-height-base;\r\n color: $body-color;\r\n white-space: nowrap; // prevent links from randomly breaking onto new lines\r\n }\r\n}\r\n\r\n// Hover/Focus state\r\n.dropdown-menu > li > a {\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n color: $color-primary ;\r\n background-color: #f4f8f9;\r\n }\r\n}\r\n\r\n// Active state\r\n.dropdown-menu > .active > a {\r\n &,\r\n &:hover,\r\n &:focus {\r\n color: $color-primary;\r\n text-decoration: none;\r\n outline: 0;\r\n background-color: #f4f8f9;\r\n }\r\n}\r\n\r\n// Open state for the dropdown\r\n.open {\r\n\r\n > .dropdown-menu {\r\n display: block;\r\n }\r\n\r\n > a {\r\n outline: 0;\r\n }\r\n}\r\n\r\n.dropdown-menu-right {\r\n left: auto;\r\n right: 0;\r\n}\r\n\r\n.dropdown-menu-left {\r\n left: 0;\r\n right: auto;\r\n}\r\n\r\n.dropdown-backdrop {\r\n position: fixed;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n top: 0;\r\n z-index: 990;\r\n}\r\n\r\n.pull-right > .dropdown-menu {\r\n right: 0;\r\n left: auto;\r\n}\r\n\r\n.dropup,\r\n.navbar-fixed-bottom .dropdown {\r\n .dropdown-menu {\r\n top: auto;\r\n bottom: 100%;\r\n margin-bottom: 2px;\r\n }\r\n}\r\n",".row {\r\n @include clear-fix-after();\r\n &:before {\r\n clear:both;\r\n content:'';\r\n }\r\n margin:0 -15px;\r\n}\r\n\r\n@for $i from 1 to 13 {\r\n .col-sm-#{$i},\r\n .col-xs-#{$i},\r\n .col-md-#{$i},\r\n .col-lg-#{$i}{\r\n float:left;\r\n min-height:1px;\r\n width: ( $i / 12 * 100% );\r\n padding:0 15px;\r\n }\r\n}\r\n\r\n[data-ax5grid] {\r\n margin:0;\r\n padding:0;\r\n position:relative;\r\n background:transparent;\r\n border:0px;\r\n\r\n table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n border: 0 none;\r\n width: 100%;\r\n height: 100%;\r\n\r\n thead {\r\n\r\n tr {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n margin: 0;\r\n padding: 0;\r\n position: relative;\r\n overflow: hidden;\r\n background-color: #fafafa;\r\n border: 0px none;\r\n color: #282828;\r\n\r\n th {\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n position: relative;\r\n padding: 10px;\r\n height:38px;\r\n text-align:center;\r\n border:1px solid #ddd;\r\n font-weight:400;\r\n }\r\n }\r\n }\r\n\r\n tbody {\r\n\r\n tr {\r\n border-bottom: 0 none;\r\n background:transparent;\r\n\r\n td {\r\n line-height:21px;\r\n padding:5px 10px;\r\n background-color:#fff;\r\n border:1px solid #ddd;\r\n font-weight:300;\r\n\r\n &.empty {\r\n height:300px;\r\n vertical-align: middle;\r\n text-align:center;\r\n }\r\n }\r\n }\r\n }\r\n\r\n tfoot {\r\n tr {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n margin: 0;\r\n padding: 0;\r\n position: relative;\r\n overflow: hidden;\r\n background-color: #f9f9f9;\r\n border:1px solid #ddd;\r\n color: #282828;\r\n\r\n\r\n td {\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n position: relative;\r\n padding: 10px;\r\n border:1px solid #ddd;\r\n height:38px;\r\n text-align:center;\r\n\r\n\r\n\r\n &:last-child {\r\n border-right:0px;\r\n }\r\n }\r\n\r\n &:last-child {\r\n td {\r\n border-bottom:0px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}",".form-control {\r\n display: block;\r\n width: 100%;\r\n height: 38px;\r\n padding: $input-btn-padding-y ( $input-btn-padding-x / 2);\r\n font-size: $input-btn-font-size;\r\n font-weight: $font-weight-base;\r\n line-height: $input-btn-line-height;\r\n color: #495057;\r\n background-color: #fff;\r\n background-clip: padding-box;\r\n border: 1px solid #dcdcdc;\r\n border-radius: $input-btn-border-radius;\r\n box-shadow:none;\r\n @include transition();\r\n\r\n &::-ms-expand {\r\n background-color: transparent;\r\n border: 0;\r\n }\r\n\r\n &:focus {\r\n border-color: #80bdff;\r\n outline: 0;\r\n }\r\n\r\n &::placeholder {\r\n color: #6c757d;\r\n opacity: 1;\r\n }\r\n\r\n &:disabled,\r\n &[readonly] {\r\n background-color: #e9ecef;\r\n opacity: 1;\r\n }\r\n\r\n &.form-control-sm {\r\n height: 34px;\r\n padding: $input-btn-padding-y-sm ($input-btn-padding-x-sm /2 );\r\n font-size: $input-btn-font-size-sm;\r\n line-height: $input-btn-line-height-sm;\r\n border-radius:$input-btn-border-radius-sm;\r\n }\r\n\r\n &.form-control-xs {\r\n height: 26px;\r\n padding: $input-btn-padding-y-xs ($input-btn-padding-x-xs /2 );\r\n font-size: $input-btn-font-size-xs;\r\n line-height: $input-btn-line-height-xs;\r\n border-radius:$input-btn-border-radius-xs;\r\n }\r\n\r\n &.form-control-lg {\r\n height: 48px;\r\n padding: $input-btn-padding-y-lg ( $input-btn-padding-x-lg / 2);\r\n font-size: $input-btn-font-size-lg;\r\n line-height: $input-btn-line-height-lg;\r\n border-radius:$input-btn-border-radius-lg;\r\n }\r\n}\r\n\r\nselect.form-control {\r\n background-image:url(../images/admin/frm-select-arrow.png);\r\n background-position: 95% center;\r\n background-repeat: no-repeat;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n appearance: none;\r\n\r\n &::-ms-expand {\r\n display:none;\r\n }\r\n\r\n &:focus::-ms-value {\r\n color: #495057;\r\n background-color: #fff;\r\n }\r\n}\r\n\r\n.bottom-actions {\r\n @include display-flex();\r\n align-items: center;\r\n\r\n .left,\r\n .right {\r\n -webkit-flex:1;\r\n -ms-flex:1;\r\n flex:1;\r\n }\r\n .center {\r\n -webkit-flex:2;\r\n -ms-flex:2;\r\n flex:2;\r\n }\r\n\r\n .left {\r\n text-align:left;\r\n }\r\n\r\n .right {\r\n text-align:right;\r\n }\r\n}\r\n\r\n// 체크박스\r\n.w-check {\r\n position:relative;\r\n display:inline-block;\r\n align-items: center;\r\n vertical-align: middle;\r\n\r\n & + .w-check {\r\n margin-left:15px;\r\n }\r\n\r\n span {\r\n @include display-flex();\r\n position: relative;\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n align-items: center;\r\n height:34px;\r\n\r\n &:before {\r\n content:\"\";\r\n @include display-flex();\r\n font-family: \"Font Awesome 5 Pro\";\r\n width:18px;\r\n height:18px;\r\n border:1px solid #e9e9e9;\r\n align-items: center;\r\n justify-content: center;\r\n margin-right:5px;\r\n }\r\n }\r\n\r\n input[type=checkbox] {\r\n position: absolute;\r\n width:1px;\r\n height:1px;\r\n padding:0;\r\n margin:-1px;\r\n overflow: hidden;\r\n clip:rect(0,0,0,0);\r\n border: 0;\r\n\r\n &:checked + span:before {\r\n content:\"\\f00c\";\r\n border-color:$color-primary;\r\n color:$color-primary;\r\n }\r\n }\r\n}\r\n\r\n//버튼그룹\r\n.ax-button-group {\r\n display: table;\r\n width: 100%;\r\n min-height: 40px;\r\n\r\n .left,\r\n .right {\r\n display: table-cell;\r\n vertical-align: bottom;\r\n padding: 0 5px 10px 5px;\r\n\r\n h1, h2, h3, h4, h5, h6 {\r\n line-height: 26px;\r\n }\r\n }\r\n\r\n .left {\r\n text-align:left;\r\n }\r\n\r\n .right {\r\n text-align:right;\r\n }\r\n\r\n &.ax-button-group-bottom {\r\n\r\n .left, .right {\r\n padding: 0px;\r\n vertical-align:middle;\r\n }\r\n\r\n &.sm {\r\n min-height: 30px;\r\n\r\n .left, .right {\r\n padding: 0 5px 7px 5px;\r\n }\r\n }\r\n\r\n .pagination {\r\n margin: 0px;\r\n }\r\n }\r\n}\r\n\r\n[data-ax-tbl] {\r\n font-size: 0.9em;\r\n background: #fff;\r\n border-top: 1px solid #D8D8D8;\r\n border-right: 1px solid #D8D8D8;\r\n border-left: 1px solid #D8D8D8;\r\n position: relative;\r\n\r\n [data-ax-tr] {\r\n border-bottom: 1px solid #D8D8D8;\r\n @include display-flex();\r\n\r\n [data-ax-td] {\r\n float: left;\r\n @include display-flex();\r\n table-layout: fixed;\r\n width: 300px;\r\n vertical-align: top;\r\n min-height: 40px;\r\n\r\n &.width-auto {\r\n width:auto;\r\n }\r\n &.width-100 {\r\n width:100%;\r\n }\r\n\r\n &.right {\r\n margin-left:auto;\r\n text-align:right;\r\n }\r\n\r\n [data-ax-td-label] {\r\n @include display-flex();\r\n align-items: center;\r\n justify-content: center;\r\n width: 100px;\r\n padding: 7px;\r\n @include background-gradient(#fbfbfb, #f6f6f6);\r\n border-right: 1px solid #D8D8D8;\r\n vertical-align: middle;\r\n text-align: center;\r\n color: #363636;\r\n\r\n fieldset[readonly] &,\r\n fieldset[disabled] & {\r\n color: #c8c8c8;\r\n\r\n }\r\n\r\n a {\r\n color: #363636;\r\n }\r\n\r\n &:empty {\r\n background:#fff;\r\n border-right-color:transparent;\r\n }\r\n }\r\n\r\n + [data-ax-td] [data-ax-td-label] { border-left: 1px solid #D8D8D8 }\r\n\r\n [data-ax-td-wrap] {\r\n display:block;\r\n padding: 7px 7px;\r\n -webkit-flex:1;\r\n -ms-flex:1;\r\n flex:1;\r\n color: #68717b;\r\n line-height: 1em;\r\n\r\n a {\r\n color: #68717b;\r\n\r\n &:after {\r\n content: ' ';\r\n }\r\n }\r\n\r\n .form-control,\r\n .btn {\r\n vertical-align: middle;\r\n }\r\n\r\n .form-control {\r\n font-size:1em;\r\n\r\n &.inline-block {\r\n display: inline-block;\r\n width: auto;\r\n }\r\n }\r\n\r\n textarea.form-control {\r\n resize:vertical;\r\n }\r\n\r\n .form-control-static {\r\n padding: 7px;\r\n min-height:0px;\r\n }\r\n\r\n .radio-inline,\r\n .checkbox-inline {\r\n line-height: 21px;\r\n padding: 0;\r\n display: inline-block;\r\n\r\n input[type=\"checkbox\"],\r\n input[type=\"radio\"] {\r\n display: inline-block;\r\n position: static;\r\n margin: 0 3px;\r\n vertical-align: middle;\r\n }\r\n }\r\n\r\n .radio-inline {\r\n margin-top:5px;\r\n\r\n + .radio-inline {\r\n margin-top:5px;\r\n }\r\n }\r\n\r\n\r\n fieldset[readonly] &,\r\n fieldset[disabled] & {\r\n color: #c8c8c8;\r\n .form-control {\r\n background-color: #eee;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}",".pagination {\r\n display:block;\r\n width:100%;\r\n text-align:center;\r\n list-style:none;\r\n margin:0;\r\n padding:0;\r\n font-size:0;\r\n\r\n li {\r\n display:inline-block;\r\n font-size:0;\r\n margin:0 3px;\r\n\r\n a,\r\n span {\r\n display:block;\r\n font-size:15px;\r\n color:#979797;\r\n padding:5px 10px;\r\n background-color:#f4f8f9;\r\n border-radius:2px;\r\n border:1px solid #979797;\r\n }\r\n\r\n &.active {\r\n a, span {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n border-color:$brand-primary;\r\n }\r\n }\r\n\r\n &.disabled {\r\n a,span {\r\n cursor:not-allowed;\r\n opacity:0.4;\r\n }\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n a {\r\n background-color:#fff;\r\n }\r\n }\r\n }\r\n}","/*! jQuery UI - v1.12.1 - 2017-07-23\r\n* http://jqueryui.com\r\n* Includes: sortable.css, core.css, datepicker.css, theme.css\r\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif\r\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\r\n\r\n.ui-sortable-handle {\r\n -ms-touch-action: none;\r\n touch-action: none;\r\n}\r\n/* Layout helpers\r\n----------------------------------*/\r\n.ui-helper-hidden {\r\n display: none;\r\n}\r\n.ui-helper-hidden-accessible {\r\n border: 0;\r\n clip: rect(0 0 0 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n.ui-helper-reset {\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n outline: 0;\r\n line-height: 1.3;\r\n text-decoration: none;\r\n font-size: 100%;\r\n list-style: none;\r\n}\r\n.ui-helper-clearfix:before,\r\n.ui-helper-clearfix:after {\r\n content: \"\";\r\n display: table;\r\n border-collapse: collapse;\r\n}\r\n.ui-helper-clearfix:after {\r\n clear: both;\r\n}\r\n.ui-helper-zfix {\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n position: absolute;\r\n opacity: 0;\r\n filter:Alpha(Opacity=0); /* support: IE8 */\r\n}\r\n\r\n.ui-front {\r\n z-index: 100;\r\n}\r\n\r\n\r\n/* Interaction Cues\r\n----------------------------------*/\r\n.ui-state-disabled {\r\n cursor: default !important;\r\n pointer-events: none;\r\n}\r\n\r\n\r\n/* Icons\r\n----------------------------------*/\r\n.ui-icon {\r\n display: inline-block;\r\n vertical-align: middle;\r\n margin-top: -.25em;\r\n position: relative;\r\n text-indent: -99999px;\r\n overflow: hidden;\r\n background-repeat: no-repeat;\r\n}\r\n\r\n.ui-widget-icon-block {\r\n left: 50%;\r\n margin-left: -8px;\r\n display: block;\r\n}\r\n\r\n/* Misc visuals\r\n----------------------------------*/\r\n\r\n/* Overlays */\r\n.ui-widget-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.ui-datepicker {\r\n width: 17em;\r\n padding: .2em .2em 0;\r\n display: none;\r\n}\r\n.ui-datepicker .ui-datepicker-header {\r\n position: relative;\r\n padding: .2em 0;\r\n}\r\n.ui-datepicker .ui-datepicker-prev,\r\n.ui-datepicker .ui-datepicker-next {\r\n position: absolute;\r\n top: 2px;\r\n width: 1.8em;\r\n height: 1.8em;\r\n}\r\n.ui-datepicker .ui-datepicker-prev-hover,\r\n.ui-datepicker .ui-datepicker-next-hover {\r\n top: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev {\r\n left: 2px;\r\n}\r\n.ui-datepicker .ui-datepicker-next {\r\n right: 2px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev-hover {\r\n left: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-next-hover {\r\n right: 1px;\r\n}\r\n.ui-datepicker .ui-datepicker-prev span,\r\n.ui-datepicker .ui-datepicker-next span {\r\n display: block;\r\n position: absolute;\r\n left: 50%;\r\n margin-left: -8px;\r\n top: 50%;\r\n margin-top: -8px;\r\n}\r\n.ui-datepicker .ui-datepicker-title {\r\n margin: 0 2.3em;\r\n line-height: 1.8em;\r\n text-align: center;\r\n}\r\n.ui-datepicker .ui-datepicker-title select {\r\n font-size: 1em;\r\n margin: 1px 0;\r\n}\r\n.ui-datepicker select.ui-datepicker-month,\r\n.ui-datepicker select.ui-datepicker-year {\r\n width: 45%;\r\n}\r\n.ui-datepicker table {\r\n width: 100%;\r\n font-size: .9em;\r\n border-collapse: collapse;\r\n margin: 0 0 .4em;\r\n}\r\n.ui-datepicker th {\r\n padding: .7em .3em;\r\n text-align: center;\r\n font-weight: bold;\r\n border: 0;\r\n}\r\n.ui-datepicker td {\r\n border: 0;\r\n padding: 1px;\r\n}\r\n.ui-datepicker td span,\r\n.ui-datepicker td a {\r\n display: block;\r\n padding: .2em;\r\n text-align: right;\r\n text-decoration: none;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane {\r\n background-image: none;\r\n margin: .7em 0 0 0;\r\n padding: 0 .2em;\r\n border-left: 0;\r\n border-right: 0;\r\n border-bottom: 0;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane button {\r\n float: right;\r\n margin: .5em .2em .4em;\r\n cursor: pointer;\r\n padding: .2em .6em .3em .6em;\r\n width: auto;\r\n overflow: visible;\r\n}\r\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\r\n float: left;\r\n}\r\n\r\n/* with multiple calendars */\r\n.ui-datepicker.ui-datepicker-multi {\r\n width: auto;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group {\r\n float: left;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group table {\r\n width: 95%;\r\n margin: 0 auto .4em;\r\n}\r\n.ui-datepicker-multi-2 .ui-datepicker-group {\r\n width: 50%;\r\n}\r\n.ui-datepicker-multi-3 .ui-datepicker-group {\r\n width: 33.3%;\r\n}\r\n.ui-datepicker-multi-4 .ui-datepicker-group {\r\n width: 25%;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\r\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\r\n border-left-width: 0;\r\n}\r\n.ui-datepicker-multi .ui-datepicker-buttonpane {\r\n clear: left;\r\n}\r\n.ui-datepicker-row-break {\r\n clear: both;\r\n width: 100%;\r\n font-size: 0;\r\n}\r\n\r\n/* RTL support */\r\n.ui-datepicker-rtl {\r\n direction: rtl;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-prev {\r\n right: 2px;\r\n left: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-next {\r\n left: 2px;\r\n right: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\r\n right: 1px;\r\n left: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-next:hover {\r\n left: 1px;\r\n right: auto;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\r\n clear: right;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\r\n float: left;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\r\n.ui-datepicker-rtl .ui-datepicker-group {\r\n float: right;\r\n}\r\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\r\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\r\n border-right-width: 0;\r\n border-left-width: 1px;\r\n}\r\n\r\n/* Icons */\r\n.ui-datepicker .ui-icon {\r\n display: block;\r\n text-indent: -99999px;\r\n overflow: hidden;\r\n background-repeat: no-repeat;\r\n left: .5em;\r\n top: .3em;\r\n}\r\n\r\n/* Component containers\r\n----------------------------------*/\r\n.ui-widget {\r\n font-family: Arial,Helvetica,sans-serif;\r\n font-size: 1em;\r\n}\r\n.ui-widget .ui-widget {\r\n font-size: 1em;\r\n}\r\n.ui-widget input,\r\n.ui-widget select,\r\n.ui-widget textarea,\r\n.ui-widget button {\r\n font-family: Arial,Helvetica,sans-serif;\r\n font-size: 1em;\r\n}\r\n.ui-widget.ui-widget-content {\r\n border: 1px solid #c5c5c5;\r\n}\r\n.ui-widget-content {\r\n border: 1px solid #dddddd;\r\n background: #ffffff;\r\n color: #333333;\r\n}\r\n.ui-widget-content a {\r\n color: #333333;\r\n}\r\n.ui-widget-header {\r\n border: 1px solid #dddddd;\r\n background: #e9e9e9;\r\n color: #333333;\r\n font-weight: bold;\r\n}\r\n.ui-widget-header a {\r\n color: #333333;\r\n}\r\n\r\n/* Interaction states\r\n----------------------------------*/\r\n.ui-state-default,\r\n.ui-widget-content .ui-state-default,\r\n.ui-widget-header .ui-state-default,\r\n.ui-button,\r\n\r\n /* We use html here because we need a greater specificity to make sure disabled\r\n works properly when clicked or hovered */\r\nhtml .ui-button.ui-state-disabled:hover,\r\nhtml .ui-button.ui-state-disabled:active {\r\n border: 1px solid #c5c5c5;\r\n background: #f6f6f6;\r\n font-weight: normal;\r\n color: #454545;\r\n}\r\n.ui-state-default a,\r\n.ui-state-default a:link,\r\n.ui-state-default a:visited,\r\na.ui-button,\r\na:link.ui-button,\r\na:visited.ui-button,\r\n.ui-button {\r\n color: #454545;\r\n text-decoration: none;\r\n}\r\n.ui-state-hover,\r\n.ui-widget-content .ui-state-hover,\r\n.ui-widget-header .ui-state-hover,\r\n.ui-state-focus,\r\n.ui-widget-content .ui-state-focus,\r\n.ui-widget-header .ui-state-focus,\r\n.ui-button:hover,\r\n.ui-button:focus {\r\n border: 1px solid #cccccc;\r\n background: #ededed;\r\n font-weight: normal;\r\n color: #2b2b2b;\r\n}\r\n.ui-state-hover a,\r\n.ui-state-hover a:hover,\r\n.ui-state-hover a:link,\r\n.ui-state-hover a:visited,\r\n.ui-state-focus a,\r\n.ui-state-focus a:hover,\r\n.ui-state-focus a:link,\r\n.ui-state-focus a:visited,\r\na.ui-button:hover,\r\na.ui-button:focus {\r\n color: #2b2b2b;\r\n text-decoration: none;\r\n}\r\n\r\n.ui-visual-focus {\r\n box-shadow: 0 0 3px 1px rgb(94, 158, 214);\r\n}\r\n.ui-state-active,\r\n.ui-widget-content .ui-state-active,\r\n.ui-widget-header .ui-state-active,\r\na.ui-button:active,\r\n.ui-button:active,\r\n.ui-button.ui-state-active:hover {\r\n border: 1px solid #003eff;\r\n background: #007fff;\r\n font-weight: normal;\r\n color: #ffffff;\r\n}\r\n.ui-icon-background,\r\n.ui-state-active .ui-icon-background {\r\n border: #003eff;\r\n background-color: #ffffff;\r\n}\r\n.ui-state-active a,\r\n.ui-state-active a:link,\r\n.ui-state-active a:visited {\r\n color: #ffffff;\r\n text-decoration: none;\r\n}\r\n\r\n/* Interaction Cues\r\n----------------------------------*/\r\n.ui-state-highlight,\r\n.ui-widget-content .ui-state-highlight,\r\n.ui-widget-header .ui-state-highlight {\r\n border: 1px solid #dad55e;\r\n background: #fffa90;\r\n color: #777620;\r\n}\r\n.ui-state-checked {\r\n border: 1px solid #dad55e;\r\n background: #fffa90;\r\n}\r\n.ui-state-highlight a,\r\n.ui-widget-content .ui-state-highlight a,\r\n.ui-widget-header .ui-state-highlight a {\r\n color: #777620;\r\n}\r\n.ui-state-error,\r\n.ui-widget-content .ui-state-error,\r\n.ui-widget-header .ui-state-error {\r\n border: 1px solid #f1a899;\r\n background: #fddfdf;\r\n color: #5f3f3f;\r\n}\r\n.ui-state-error a,\r\n.ui-widget-content .ui-state-error a,\r\n.ui-widget-header .ui-state-error a {\r\n color: #5f3f3f;\r\n}\r\n.ui-state-error-text,\r\n.ui-widget-content .ui-state-error-text,\r\n.ui-widget-header .ui-state-error-text {\r\n color: #5f3f3f;\r\n}\r\n.ui-priority-primary,\r\n.ui-widget-content .ui-priority-primary,\r\n.ui-widget-header .ui-priority-primary {\r\n font-weight: bold;\r\n}\r\n.ui-priority-secondary,\r\n.ui-widget-content .ui-priority-secondary,\r\n.ui-widget-header .ui-priority-secondary {\r\n opacity: .7;\r\n filter:Alpha(Opacity=70); /* support: IE8 */\r\n font-weight: normal;\r\n}\r\n.ui-state-disabled,\r\n.ui-widget-content .ui-state-disabled,\r\n.ui-widget-header .ui-state-disabled {\r\n opacity: .35;\r\n filter:Alpha(Opacity=35); /* support: IE8 */\r\n background-image: none;\r\n}\r\n.ui-state-disabled .ui-icon {\r\n filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\r\n}\r\n\r\n/* Icons\r\n----------------------------------*/\r\n\r\n/* states and images */\r\n.ui-icon {\r\n width: 16px;\r\n height: 16px;\r\n}\r\n.ui-icon,\r\n.ui-widget-content .ui-icon {\r\n background-image: url(\"images/ui-icons_444444_256x240.png\");\r\n}\r\n.ui-widget-header .ui-icon {\r\n background-image: url(\"images/ui-icons_444444_256x240.png\");\r\n}\r\n.ui-state-hover .ui-icon,\r\n.ui-state-focus .ui-icon,\r\n.ui-button:hover .ui-icon,\r\n.ui-button:focus .ui-icon {\r\n background-image: url(\"images/ui-icons_555555_256x240.png\");\r\n}\r\n.ui-state-active .ui-icon,\r\n.ui-button:active .ui-icon {\r\n background-image: url(\"images/ui-icons_ffffff_256x240.png\");\r\n}\r\n.ui-state-highlight .ui-icon,\r\n.ui-button .ui-state-highlight.ui-icon {\r\n background-image: url(\"images/ui-icons_777620_256x240.png\");\r\n}\r\n.ui-state-error .ui-icon,\r\n.ui-state-error-text .ui-icon {\r\n background-image: url(\"images/ui-icons_cc0000_256x240.png\");\r\n}\r\n.ui-button .ui-icon {\r\n background-image: url(\"images/ui-icons_777777_256x240.png\");\r\n}\r\n\r\n/* positioning */\r\n.ui-icon-blank { background-position: 16px 16px; }\r\n.ui-icon-caret-1-n { background-position: 0 0; }\r\n.ui-icon-caret-1-ne { background-position: -16px 0; }\r\n.ui-icon-caret-1-e { background-position: -32px 0; }\r\n.ui-icon-caret-1-se { background-position: -48px 0; }\r\n.ui-icon-caret-1-s { background-position: -65px 0; }\r\n.ui-icon-caret-1-sw { background-position: -80px 0; }\r\n.ui-icon-caret-1-w { background-position: -96px 0; }\r\n.ui-icon-caret-1-nw { background-position: -112px 0; }\r\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\r\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\r\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\r\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\r\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\r\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\r\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\r\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\r\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\r\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\r\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\r\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\r\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\r\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\r\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\r\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\r\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\r\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\r\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\r\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\r\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\r\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\r\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\r\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\r\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\r\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\r\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\r\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\r\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\r\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\r\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\r\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\r\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\r\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\r\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\r\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\r\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\r\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\r\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\r\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\r\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\r\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\r\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\r\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\r\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\r\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\r\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\r\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\r\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\r\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\r\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\r\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\r\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\r\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\r\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\r\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\r\n.ui-icon-arrow-4 { background-position: 0 -80px; }\r\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\r\n.ui-icon-extlink { background-position: -32px -80px; }\r\n.ui-icon-newwin { background-position: -48px -80px; }\r\n.ui-icon-refresh { background-position: -64px -80px; }\r\n.ui-icon-shuffle { background-position: -80px -80px; }\r\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\r\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\r\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\r\n.ui-icon-folder-open { background-position: -16px -96px; }\r\n.ui-icon-document { background-position: -32px -96px; }\r\n.ui-icon-document-b { background-position: -48px -96px; }\r\n.ui-icon-note { background-position: -64px -96px; }\r\n.ui-icon-mail-closed { background-position: -80px -96px; }\r\n.ui-icon-mail-open { background-position: -96px -96px; }\r\n.ui-icon-suitcase { background-position: -112px -96px; }\r\n.ui-icon-comment { background-position: -128px -96px; }\r\n.ui-icon-person { background-position: -144px -96px; }\r\n.ui-icon-print { background-position: -160px -96px; }\r\n.ui-icon-trash { background-position: -176px -96px; }\r\n.ui-icon-locked { background-position: -192px -96px; }\r\n.ui-icon-unlocked { background-position: -208px -96px; }\r\n.ui-icon-bookmark { background-position: -224px -96px; }\r\n.ui-icon-tag { background-position: -240px -96px; }\r\n.ui-icon-home { background-position: 0 -112px; }\r\n.ui-icon-flag { background-position: -16px -112px; }\r\n.ui-icon-calendar { background-position: -32px -112px; }\r\n.ui-icon-cart { background-position: -48px -112px; }\r\n.ui-icon-pencil { background-position: -64px -112px; }\r\n.ui-icon-clock { background-position: -80px -112px; }\r\n.ui-icon-disk { background-position: -96px -112px; }\r\n.ui-icon-calculator { background-position: -112px -112px; }\r\n.ui-icon-zoomin { background-position: -128px -112px; }\r\n.ui-icon-zoomout { background-position: -144px -112px; }\r\n.ui-icon-search { background-position: -160px -112px; }\r\n.ui-icon-wrench { background-position: -176px -112px; }\r\n.ui-icon-gear { background-position: -192px -112px; }\r\n.ui-icon-heart { background-position: -208px -112px; }\r\n.ui-icon-star { background-position: -224px -112px; }\r\n.ui-icon-link { background-position: -240px -112px; }\r\n.ui-icon-cancel { background-position: 0 -128px; }\r\n.ui-icon-plus { background-position: -16px -128px; }\r\n.ui-icon-plusthick { background-position: -32px -128px; }\r\n.ui-icon-minus { background-position: -48px -128px; }\r\n.ui-icon-minusthick { background-position: -64px -128px; }\r\n.ui-icon-close { background-position: -80px -128px; }\r\n.ui-icon-closethick { background-position: -96px -128px; }\r\n.ui-icon-key { background-position: -112px -128px; }\r\n.ui-icon-lightbulb { background-position: -128px -128px; }\r\n.ui-icon-scissors { background-position: -144px -128px; }\r\n.ui-icon-clipboard { background-position: -160px -128px; }\r\n.ui-icon-copy { background-position: -176px -128px; }\r\n.ui-icon-contact { background-position: -192px -128px; }\r\n.ui-icon-image { background-position: -208px -128px; }\r\n.ui-icon-video { background-position: -224px -128px; }\r\n.ui-icon-script { background-position: -240px -128px; }\r\n.ui-icon-alert { background-position: 0 -144px; }\r\n.ui-icon-info { background-position: -16px -144px; }\r\n.ui-icon-notice { background-position: -32px -144px; }\r\n.ui-icon-help { background-position: -48px -144px; }\r\n.ui-icon-check { background-position: -64px -144px; }\r\n.ui-icon-bullet { background-position: -80px -144px; }\r\n.ui-icon-radio-on { background-position: -96px -144px; }\r\n.ui-icon-radio-off { background-position: -112px -144px; }\r\n.ui-icon-pin-w { background-position: -128px -144px; }\r\n.ui-icon-pin-s { background-position: -144px -144px; }\r\n.ui-icon-play { background-position: 0 -160px; }\r\n.ui-icon-pause { background-position: -16px -160px; }\r\n.ui-icon-seek-next { background-position: -32px -160px; }\r\n.ui-icon-seek-prev { background-position: -48px -160px; }\r\n.ui-icon-seek-end { background-position: -64px -160px; }\r\n.ui-icon-seek-start { background-position: -80px -160px; }\r\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\r\n.ui-icon-seek-first { background-position: -80px -160px; }\r\n.ui-icon-stop { background-position: -96px -160px; }\r\n.ui-icon-eject { background-position: -112px -160px; }\r\n.ui-icon-volume-off { background-position: -128px -160px; }\r\n.ui-icon-volume-on { background-position: -144px -160px; }\r\n.ui-icon-power { background-position: 0 -176px; }\r\n.ui-icon-signal-diag { background-position: -16px -176px; }\r\n.ui-icon-signal { background-position: -32px -176px; }\r\n.ui-icon-battery-0 { background-position: -48px -176px; }\r\n.ui-icon-battery-1 { background-position: -64px -176px; }\r\n.ui-icon-battery-2 { background-position: -80px -176px; }\r\n.ui-icon-battery-3 { background-position: -96px -176px; }\r\n.ui-icon-circle-plus { background-position: 0 -192px; }\r\n.ui-icon-circle-minus { background-position: -16px -192px; }\r\n.ui-icon-circle-close { background-position: -32px -192px; }\r\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\r\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\r\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\r\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\r\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\r\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\r\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\r\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\r\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\r\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\r\n.ui-icon-circle-check { background-position: -208px -192px; }\r\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\r\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\r\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\r\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\r\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\r\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\r\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\r\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\r\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\r\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\r\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\r\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\r\n\r\n\r\n/* Misc visuals\r\n----------------------------------*/\r\n\r\n/* Corner radius */\r\n.ui-corner-all,\r\n.ui-corner-top,\r\n.ui-corner-left,\r\n.ui-corner-tl {\r\n border-top-left-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-top,\r\n.ui-corner-right,\r\n.ui-corner-tr {\r\n border-top-right-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-bottom,\r\n.ui-corner-left,\r\n.ui-corner-bl {\r\n border-bottom-left-radius: 3px;\r\n}\r\n.ui-corner-all,\r\n.ui-corner-bottom,\r\n.ui-corner-right,\r\n.ui-corner-br {\r\n border-bottom-right-radius: 3px;\r\n}\r\n\r\n/* Overlays */\r\n.ui-widget-overlay {\r\n background: #aaaaaa;\r\n opacity: .3;\r\n filter: Alpha(Opacity=30); /* support: IE8 */\r\n}\r\n.ui-widget-shadow {\r\n -webkit-box-shadow: 0px 0px 5px #666666;\r\n box-shadow: 0px 0px 5px #666666;\r\n}\r\n","/*!\r\n * Font Awesome Pro 5.1.0 by @fontawesome - https://fontawesome.com\r\n * License - https://fontawesome.com/license (Commercial License)\r\n */\r\n@import 'variables';\r\n@import 'mixins';\r\n@import 'core';\r\n@import 'larger';\r\n@import 'fixed-width';\r\n@import 'list';\r\n@import 'bordered-pulled';\r\n@import 'animated';\r\n@import 'rotated-flipped';\r\n@import 'stacked';\r\n@import 'icons';\r\n@import 'screen-reader';\r\n","// Base Class Definition\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix},\r\n.fas,\r\n.far,\r\n.fal,\r\n.fab {\r\n -moz-osx-font-smoothing: grayscale;\r\n -webkit-font-smoothing: antialiased;\r\n display: inline-block;\r\n font-style: normal;\r\n font-variant: normal;\r\n text-rendering: auto;\r\n line-height: 1;\r\n}\r\n","// Icon Sizes\r\n// -------------------------\r\n\r\n// makes the font 33% larger relative to the icon container\r\n.#{$fa-css-prefix}-lg {\r\n font-size: (4em / 3);\r\n line-height: (3em / 4);\r\n vertical-align: -.0667em;\r\n}\r\n\r\n.#{$fa-css-prefix}-xs {\r\n font-size: .75em;\r\n}\r\n\r\n.#{$fa-css-prefix}-sm {\r\n font-size: .875em;\r\n}\r\n\r\n@for $i from 1 through 10 {\r\n .#{$fa-css-prefix}-#{$i}x {\r\n font-size: $i * 1em;\r\n }\r\n}\r\n","// Fixed Width Icons\r\n// -------------------------\r\n.#{$fa-css-prefix}-fw {\r\n text-align: center;\r\n width: (20em / 16);\r\n}\r\n","// List Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-ul {\r\n list-style-type: none;\r\n margin-left: $fa-li-width * 5/4;\r\n padding-left: 0;\r\n\r\n > li { position: relative; }\r\n}\r\n\r\n.#{$fa-css-prefix}-li {\r\n left: -$fa-li-width;\r\n position: absolute;\r\n text-align: center;\r\n width: $fa-li-width;\r\n line-height: inherit;\r\n}\r\n","// Variables\r\n// --------------------------\r\n\r\n$fa-font-path: \"../fonts\" !default;\r\n$fa-font-size-base: 16px !default;\r\n$fa-css-prefix: fa !default;\r\n$fa-version: \"5.1.0\" !default;\r\n$fa-border-color: #eee !default;\r\n$fa-inverse: #fff !default;\r\n$fa-li-width: 2em !default;\r\n\r\n// Convenience function used to set content property\r\n@function fa-content($fa-var) {\r\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\r\n}\r\n\r\n$fa-var-500px: \\f26e;\r\n$fa-var-accessible-icon: \\f368;\r\n$fa-var-accusoft: \\f369;\r\n$fa-var-address-book: \\f2b9;\r\n$fa-var-address-card: \\f2bb;\r\n$fa-var-adjust: \\f042;\r\n$fa-var-adn: \\f170;\r\n$fa-var-adversal: \\f36a;\r\n$fa-var-affiliatetheme: \\f36b;\r\n$fa-var-alarm-clock: \\f34e;\r\n$fa-var-algolia: \\f36c;\r\n$fa-var-align-center: \\f037;\r\n$fa-var-align-justify: \\f039;\r\n$fa-var-align-left: \\f036;\r\n$fa-var-align-right: \\f038;\r\n$fa-var-allergies: \\f461;\r\n$fa-var-amazon: \\f270;\r\n$fa-var-amazon-pay: \\f42c;\r\n$fa-var-ambulance: \\f0f9;\r\n$fa-var-american-sign-language-interpreting: \\f2a3;\r\n$fa-var-amilia: \\f36d;\r\n$fa-var-anchor: \\f13d;\r\n$fa-var-android: \\f17b;\r\n$fa-var-angellist: \\f209;\r\n$fa-var-angle-double-down: \\f103;\r\n$fa-var-angle-double-left: \\f100;\r\n$fa-var-angle-double-right: \\f101;\r\n$fa-var-angle-double-up: \\f102;\r\n$fa-var-angle-down: \\f107;\r\n$fa-var-angle-left: \\f104;\r\n$fa-var-angle-right: \\f105;\r\n$fa-var-angle-up: \\f106;\r\n$fa-var-angry: \\f556;\r\n$fa-var-angrycreative: \\f36e;\r\n$fa-var-angular: \\f420;\r\n$fa-var-app-store: \\f36f;\r\n$fa-var-app-store-ios: \\f370;\r\n$fa-var-apper: \\f371;\r\n$fa-var-apple: \\f179;\r\n$fa-var-apple-pay: \\f415;\r\n$fa-var-archive: \\f187;\r\n$fa-var-archway: \\f557;\r\n$fa-var-arrow-alt-circle-down: \\f358;\r\n$fa-var-arrow-alt-circle-left: \\f359;\r\n$fa-var-arrow-alt-circle-right: \\f35a;\r\n$fa-var-arrow-alt-circle-up: \\f35b;\r\n$fa-var-arrow-alt-down: \\f354;\r\n$fa-var-arrow-alt-from-bottom: \\f346;\r\n$fa-var-arrow-alt-from-left: \\f347;\r\n$fa-var-arrow-alt-from-right: \\f348;\r\n$fa-var-arrow-alt-from-top: \\f349;\r\n$fa-var-arrow-alt-left: \\f355;\r\n$fa-var-arrow-alt-right: \\f356;\r\n$fa-var-arrow-alt-square-down: \\f350;\r\n$fa-var-arrow-alt-square-left: \\f351;\r\n$fa-var-arrow-alt-square-right: \\f352;\r\n$fa-var-arrow-alt-square-up: \\f353;\r\n$fa-var-arrow-alt-to-bottom: \\f34a;\r\n$fa-var-arrow-alt-to-left: \\f34b;\r\n$fa-var-arrow-alt-to-right: \\f34c;\r\n$fa-var-arrow-alt-to-top: \\f34d;\r\n$fa-var-arrow-alt-up: \\f357;\r\n$fa-var-arrow-circle-down: \\f0ab;\r\n$fa-var-arrow-circle-left: \\f0a8;\r\n$fa-var-arrow-circle-right: \\f0a9;\r\n$fa-var-arrow-circle-up: \\f0aa;\r\n$fa-var-arrow-down: \\f063;\r\n$fa-var-arrow-from-bottom: \\f342;\r\n$fa-var-arrow-from-left: \\f343;\r\n$fa-var-arrow-from-right: \\f344;\r\n$fa-var-arrow-from-top: \\f345;\r\n$fa-var-arrow-left: \\f060;\r\n$fa-var-arrow-right: \\f061;\r\n$fa-var-arrow-square-down: \\f339;\r\n$fa-var-arrow-square-left: \\f33a;\r\n$fa-var-arrow-square-right: \\f33b;\r\n$fa-var-arrow-square-up: \\f33c;\r\n$fa-var-arrow-to-bottom: \\f33d;\r\n$fa-var-arrow-to-left: \\f33e;\r\n$fa-var-arrow-to-right: \\f340;\r\n$fa-var-arrow-to-top: \\f341;\r\n$fa-var-arrow-up: \\f062;\r\n$fa-var-arrows: \\f047;\r\n$fa-var-arrows-alt: \\f0b2;\r\n$fa-var-arrows-alt-h: \\f337;\r\n$fa-var-arrows-alt-v: \\f338;\r\n$fa-var-arrows-h: \\f07e;\r\n$fa-var-arrows-v: \\f07d;\r\n$fa-var-assistive-listening-systems: \\f2a2;\r\n$fa-var-asterisk: \\f069;\r\n$fa-var-asymmetrik: \\f372;\r\n$fa-var-at: \\f1fa;\r\n$fa-var-atlas: \\f558;\r\n$fa-var-audible: \\f373;\r\n$fa-var-audio-description: \\f29e;\r\n$fa-var-autoprefixer: \\f41c;\r\n$fa-var-avianex: \\f374;\r\n$fa-var-aviato: \\f421;\r\n$fa-var-award: \\f559;\r\n$fa-var-aws: \\f375;\r\n$fa-var-backspace: \\f55a;\r\n$fa-var-backward: \\f04a;\r\n$fa-var-badge: \\f335;\r\n$fa-var-badge-check: \\f336;\r\n$fa-var-balance-scale: \\f24e;\r\n$fa-var-balance-scale-left: \\f515;\r\n$fa-var-balance-scale-right: \\f516;\r\n$fa-var-ban: \\f05e;\r\n$fa-var-band-aid: \\f462;\r\n$fa-var-bandcamp: \\f2d5;\r\n$fa-var-barcode: \\f02a;\r\n$fa-var-barcode-alt: \\f463;\r\n$fa-var-barcode-read: \\f464;\r\n$fa-var-barcode-scan: \\f465;\r\n$fa-var-bars: \\f0c9;\r\n$fa-var-baseball: \\f432;\r\n$fa-var-baseball-ball: \\f433;\r\n$fa-var-basketball-ball: \\f434;\r\n$fa-var-basketball-hoop: \\f435;\r\n$fa-var-bath: \\f2cd;\r\n$fa-var-battery-bolt: \\f376;\r\n$fa-var-battery-empty: \\f244;\r\n$fa-var-battery-full: \\f240;\r\n$fa-var-battery-half: \\f242;\r\n$fa-var-battery-quarter: \\f243;\r\n$fa-var-battery-slash: \\f377;\r\n$fa-var-battery-three-quarters: \\f241;\r\n$fa-var-bed: \\f236;\r\n$fa-var-beer: \\f0fc;\r\n$fa-var-behance: \\f1b4;\r\n$fa-var-behance-square: \\f1b5;\r\n$fa-var-bell: \\f0f3;\r\n$fa-var-bell-slash: \\f1f6;\r\n$fa-var-bezier-curve: \\f55b;\r\n$fa-var-bicycle: \\f206;\r\n$fa-var-bimobject: \\f378;\r\n$fa-var-binoculars: \\f1e5;\r\n$fa-var-birthday-cake: \\f1fd;\r\n$fa-var-bitbucket: \\f171;\r\n$fa-var-bitcoin: \\f379;\r\n$fa-var-bity: \\f37a;\r\n$fa-var-black-tie: \\f27e;\r\n$fa-var-blackberry: \\f37b;\r\n$fa-var-blanket: \\f498;\r\n$fa-var-blender: \\f517;\r\n$fa-var-blind: \\f29d;\r\n$fa-var-blogger: \\f37c;\r\n$fa-var-blogger-b: \\f37d;\r\n$fa-var-bluetooth: \\f293;\r\n$fa-var-bluetooth-b: \\f294;\r\n$fa-var-bold: \\f032;\r\n$fa-var-bolt: \\f0e7;\r\n$fa-var-bomb: \\f1e2;\r\n$fa-var-bong: \\f55c;\r\n$fa-var-book: \\f02d;\r\n$fa-var-book-heart: \\f499;\r\n$fa-var-book-open: \\f518;\r\n$fa-var-bookmark: \\f02e;\r\n$fa-var-bowling-ball: \\f436;\r\n$fa-var-bowling-pins: \\f437;\r\n$fa-var-box: \\f466;\r\n$fa-var-box-alt: \\f49a;\r\n$fa-var-box-check: \\f467;\r\n$fa-var-box-fragile: \\f49b;\r\n$fa-var-box-full: \\f49c;\r\n$fa-var-box-heart: \\f49d;\r\n$fa-var-box-open: \\f49e;\r\n$fa-var-box-up: \\f49f;\r\n$fa-var-box-usd: \\f4a0;\r\n$fa-var-boxes: \\f468;\r\n$fa-var-boxes-alt: \\f4a1;\r\n$fa-var-boxing-glove: \\f438;\r\n$fa-var-braille: \\f2a1;\r\n$fa-var-briefcase: \\f0b1;\r\n$fa-var-briefcase-medical: \\f469;\r\n$fa-var-broadcast-tower: \\f519;\r\n$fa-var-broom: \\f51a;\r\n$fa-var-browser: \\f37e;\r\n$fa-var-brush: \\f55d;\r\n$fa-var-btc: \\f15a;\r\n$fa-var-bug: \\f188;\r\n$fa-var-building: \\f1ad;\r\n$fa-var-bullhorn: \\f0a1;\r\n$fa-var-bullseye: \\f140;\r\n$fa-var-burn: \\f46a;\r\n$fa-var-buromobelexperte: \\f37f;\r\n$fa-var-bus: \\f207;\r\n$fa-var-bus-alt: \\f55e;\r\n$fa-var-buysellads: \\f20d;\r\n$fa-var-calculator: \\f1ec;\r\n$fa-var-calendar: \\f133;\r\n$fa-var-calendar-alt: \\f073;\r\n$fa-var-calendar-check: \\f274;\r\n$fa-var-calendar-edit: \\f333;\r\n$fa-var-calendar-exclamation: \\f334;\r\n$fa-var-calendar-minus: \\f272;\r\n$fa-var-calendar-plus: \\f271;\r\n$fa-var-calendar-times: \\f273;\r\n$fa-var-camera: \\f030;\r\n$fa-var-camera-alt: \\f332;\r\n$fa-var-camera-retro: \\f083;\r\n$fa-var-cannabis: \\f55f;\r\n$fa-var-capsules: \\f46b;\r\n$fa-var-car: \\f1b9;\r\n$fa-var-caret-circle-down: \\f32d;\r\n$fa-var-caret-circle-left: \\f32e;\r\n$fa-var-caret-circle-right: \\f330;\r\n$fa-var-caret-circle-up: \\f331;\r\n$fa-var-caret-down: \\f0d7;\r\n$fa-var-caret-left: \\f0d9;\r\n$fa-var-caret-right: \\f0da;\r\n$fa-var-caret-square-down: \\f150;\r\n$fa-var-caret-square-left: \\f191;\r\n$fa-var-caret-square-right: \\f152;\r\n$fa-var-caret-square-up: \\f151;\r\n$fa-var-caret-up: \\f0d8;\r\n$fa-var-cart-arrow-down: \\f218;\r\n$fa-var-cart-plus: \\f217;\r\n$fa-var-cc-amazon-pay: \\f42d;\r\n$fa-var-cc-amex: \\f1f3;\r\n$fa-var-cc-apple-pay: \\f416;\r\n$fa-var-cc-diners-club: \\f24c;\r\n$fa-var-cc-discover: \\f1f2;\r\n$fa-var-cc-jcb: \\f24b;\r\n$fa-var-cc-mastercard: \\f1f1;\r\n$fa-var-cc-paypal: \\f1f4;\r\n$fa-var-cc-stripe: \\f1f5;\r\n$fa-var-cc-visa: \\f1f0;\r\n$fa-var-centercode: \\f380;\r\n$fa-var-certificate: \\f0a3;\r\n$fa-var-chalkboard: \\f51b;\r\n$fa-var-chalkboard-teacher: \\f51c;\r\n$fa-var-chart-area: \\f1fe;\r\n$fa-var-chart-bar: \\f080;\r\n$fa-var-chart-line: \\f201;\r\n$fa-var-chart-pie: \\f200;\r\n$fa-var-check: \\f00c;\r\n$fa-var-check-circle: \\f058;\r\n$fa-var-check-double: \\f560;\r\n$fa-var-check-square: \\f14a;\r\n$fa-var-chess: \\f439;\r\n$fa-var-chess-bishop: \\f43a;\r\n$fa-var-chess-bishop-alt: \\f43b;\r\n$fa-var-chess-board: \\f43c;\r\n$fa-var-chess-clock: \\f43d;\r\n$fa-var-chess-clock-alt: \\f43e;\r\n$fa-var-chess-king: \\f43f;\r\n$fa-var-chess-king-alt: \\f440;\r\n$fa-var-chess-knight: \\f441;\r\n$fa-var-chess-knight-alt: \\f442;\r\n$fa-var-chess-pawn: \\f443;\r\n$fa-var-chess-pawn-alt: \\f444;\r\n$fa-var-chess-queen: \\f445;\r\n$fa-var-chess-queen-alt: \\f446;\r\n$fa-var-chess-rook: \\f447;\r\n$fa-var-chess-rook-alt: \\f448;\r\n$fa-var-chevron-circle-down: \\f13a;\r\n$fa-var-chevron-circle-left: \\f137;\r\n$fa-var-chevron-circle-right: \\f138;\r\n$fa-var-chevron-circle-up: \\f139;\r\n$fa-var-chevron-double-down: \\f322;\r\n$fa-var-chevron-double-left: \\f323;\r\n$fa-var-chevron-double-right: \\f324;\r\n$fa-var-chevron-double-up: \\f325;\r\n$fa-var-chevron-down: \\f078;\r\n$fa-var-chevron-left: \\f053;\r\n$fa-var-chevron-right: \\f054;\r\n$fa-var-chevron-square-down: \\f329;\r\n$fa-var-chevron-square-left: \\f32a;\r\n$fa-var-chevron-square-right: \\f32b;\r\n$fa-var-chevron-square-up: \\f32c;\r\n$fa-var-chevron-up: \\f077;\r\n$fa-var-child: \\f1ae;\r\n$fa-var-chrome: \\f268;\r\n$fa-var-church: \\f51d;\r\n$fa-var-circle: \\f111;\r\n$fa-var-circle-notch: \\f1ce;\r\n$fa-var-clipboard: \\f328;\r\n$fa-var-clipboard-check: \\f46c;\r\n$fa-var-clipboard-list: \\f46d;\r\n$fa-var-clock: \\f017;\r\n$fa-var-clone: \\f24d;\r\n$fa-var-closed-captioning: \\f20a;\r\n$fa-var-cloud: \\f0c2;\r\n$fa-var-cloud-download: \\f0ed;\r\n$fa-var-cloud-download-alt: \\f381;\r\n$fa-var-cloud-upload: \\f0ee;\r\n$fa-var-cloud-upload-alt: \\f382;\r\n$fa-var-cloudscale: \\f383;\r\n$fa-var-cloudsmith: \\f384;\r\n$fa-var-cloudversify: \\f385;\r\n$fa-var-club: \\f327;\r\n$fa-var-cocktail: \\f561;\r\n$fa-var-code: \\f121;\r\n$fa-var-code-branch: \\f126;\r\n$fa-var-code-commit: \\f386;\r\n$fa-var-code-merge: \\f387;\r\n$fa-var-codepen: \\f1cb;\r\n$fa-var-codiepie: \\f284;\r\n$fa-var-coffee: \\f0f4;\r\n$fa-var-cog: \\f013;\r\n$fa-var-cogs: \\f085;\r\n$fa-var-coins: \\f51e;\r\n$fa-var-columns: \\f0db;\r\n$fa-var-comment: \\f075;\r\n$fa-var-comment-alt: \\f27a;\r\n$fa-var-comment-alt-check: \\f4a2;\r\n$fa-var-comment-alt-dots: \\f4a3;\r\n$fa-var-comment-alt-edit: \\f4a4;\r\n$fa-var-comment-alt-exclamation: \\f4a5;\r\n$fa-var-comment-alt-lines: \\f4a6;\r\n$fa-var-comment-alt-minus: \\f4a7;\r\n$fa-var-comment-alt-plus: \\f4a8;\r\n$fa-var-comment-alt-slash: \\f4a9;\r\n$fa-var-comment-alt-smile: \\f4aa;\r\n$fa-var-comment-alt-times: \\f4ab;\r\n$fa-var-comment-check: \\f4ac;\r\n$fa-var-comment-dots: \\f4ad;\r\n$fa-var-comment-edit: \\f4ae;\r\n$fa-var-comment-exclamation: \\f4af;\r\n$fa-var-comment-lines: \\f4b0;\r\n$fa-var-comment-minus: \\f4b1;\r\n$fa-var-comment-plus: \\f4b2;\r\n$fa-var-comment-slash: \\f4b3;\r\n$fa-var-comment-smile: \\f4b4;\r\n$fa-var-comment-times: \\f4b5;\r\n$fa-var-comments: \\f086;\r\n$fa-var-comments-alt: \\f4b6;\r\n$fa-var-compact-disc: \\f51f;\r\n$fa-var-compass: \\f14e;\r\n$fa-var-compress: \\f066;\r\n$fa-var-compress-alt: \\f422;\r\n$fa-var-compress-wide: \\f326;\r\n$fa-var-concierge-bell: \\f562;\r\n$fa-var-connectdevelop: \\f20e;\r\n$fa-var-container-storage: \\f4b7;\r\n$fa-var-contao: \\f26d;\r\n$fa-var-conveyor-belt: \\f46e;\r\n$fa-var-conveyor-belt-alt: \\f46f;\r\n$fa-var-cookie: \\f563;\r\n$fa-var-cookie-bite: \\f564;\r\n$fa-var-copy: \\f0c5;\r\n$fa-var-copyright: \\f1f9;\r\n$fa-var-couch: \\f4b8;\r\n$fa-var-cpanel: \\f388;\r\n$fa-var-creative-commons: \\f25e;\r\n$fa-var-creative-commons-by: \\f4e7;\r\n$fa-var-creative-commons-nc: \\f4e8;\r\n$fa-var-creative-commons-nc-eu: \\f4e9;\r\n$fa-var-creative-commons-nc-jp: \\f4ea;\r\n$fa-var-creative-commons-nd: \\f4eb;\r\n$fa-var-creative-commons-pd: \\f4ec;\r\n$fa-var-creative-commons-pd-alt: \\f4ed;\r\n$fa-var-creative-commons-remix: \\f4ee;\r\n$fa-var-creative-commons-sa: \\f4ef;\r\n$fa-var-creative-commons-sampling: \\f4f0;\r\n$fa-var-creative-commons-sampling-plus: \\f4f1;\r\n$fa-var-creative-commons-share: \\f4f2;\r\n$fa-var-creative-commons-zero: \\f4f3;\r\n$fa-var-credit-card: \\f09d;\r\n$fa-var-credit-card-blank: \\f389;\r\n$fa-var-credit-card-front: \\f38a;\r\n$fa-var-cricket: \\f449;\r\n$fa-var-crop: \\f125;\r\n$fa-var-crop-alt: \\f565;\r\n$fa-var-crosshairs: \\f05b;\r\n$fa-var-crow: \\f520;\r\n$fa-var-crown: \\f521;\r\n$fa-var-css3: \\f13c;\r\n$fa-var-css3-alt: \\f38b;\r\n$fa-var-cube: \\f1b2;\r\n$fa-var-cubes: \\f1b3;\r\n$fa-var-curling: \\f44a;\r\n$fa-var-cut: \\f0c4;\r\n$fa-var-cuttlefish: \\f38c;\r\n$fa-var-d-and-d: \\f38d;\r\n$fa-var-dashcube: \\f210;\r\n$fa-var-database: \\f1c0;\r\n$fa-var-deaf: \\f2a4;\r\n$fa-var-delicious: \\f1a5;\r\n$fa-var-deploydog: \\f38e;\r\n$fa-var-deskpro: \\f38f;\r\n$fa-var-desktop: \\f108;\r\n$fa-var-desktop-alt: \\f390;\r\n$fa-var-deviantart: \\f1bd;\r\n$fa-var-diagnoses: \\f470;\r\n$fa-var-diamond: \\f219;\r\n$fa-var-dice: \\f522;\r\n$fa-var-dice-five: \\f523;\r\n$fa-var-dice-four: \\f524;\r\n$fa-var-dice-one: \\f525;\r\n$fa-var-dice-six: \\f526;\r\n$fa-var-dice-three: \\f527;\r\n$fa-var-dice-two: \\f528;\r\n$fa-var-digg: \\f1a6;\r\n$fa-var-digital-ocean: \\f391;\r\n$fa-var-digital-tachograph: \\f566;\r\n$fa-var-discord: \\f392;\r\n$fa-var-discourse: \\f393;\r\n$fa-var-divide: \\f529;\r\n$fa-var-dizzy: \\f567;\r\n$fa-var-dna: \\f471;\r\n$fa-var-dochub: \\f394;\r\n$fa-var-docker: \\f395;\r\n$fa-var-dollar-sign: \\f155;\r\n$fa-var-dolly: \\f472;\r\n$fa-var-dolly-empty: \\f473;\r\n$fa-var-dolly-flatbed: \\f474;\r\n$fa-var-dolly-flatbed-alt: \\f475;\r\n$fa-var-dolly-flatbed-empty: \\f476;\r\n$fa-var-donate: \\f4b9;\r\n$fa-var-door-closed: \\f52a;\r\n$fa-var-door-open: \\f52b;\r\n$fa-var-dot-circle: \\f192;\r\n$fa-var-dove: \\f4ba;\r\n$fa-var-download: \\f019;\r\n$fa-var-draft2digital: \\f396;\r\n$fa-var-drafting-compass: \\f568;\r\n$fa-var-dribbble: \\f17d;\r\n$fa-var-dribbble-square: \\f397;\r\n$fa-var-dropbox: \\f16b;\r\n$fa-var-drum: \\f569;\r\n$fa-var-drum-steelpan: \\f56a;\r\n$fa-var-drupal: \\f1a9;\r\n$fa-var-dumbbell: \\f44b;\r\n$fa-var-dyalog: \\f399;\r\n$fa-var-earlybirds: \\f39a;\r\n$fa-var-ebay: \\f4f4;\r\n$fa-var-edge: \\f282;\r\n$fa-var-edit: \\f044;\r\n$fa-var-eject: \\f052;\r\n$fa-var-elementor: \\f430;\r\n$fa-var-ellipsis-h: \\f141;\r\n$fa-var-ellipsis-h-alt: \\f39b;\r\n$fa-var-ellipsis-v: \\f142;\r\n$fa-var-ellipsis-v-alt: \\f39c;\r\n$fa-var-ember: \\f423;\r\n$fa-var-empire: \\f1d1;\r\n$fa-var-envelope: \\f0e0;\r\n$fa-var-envelope-open: \\f2b6;\r\n$fa-var-envelope-square: \\f199;\r\n$fa-var-envira: \\f299;\r\n$fa-var-equals: \\f52c;\r\n$fa-var-eraser: \\f12d;\r\n$fa-var-erlang: \\f39d;\r\n$fa-var-ethereum: \\f42e;\r\n$fa-var-etsy: \\f2d7;\r\n$fa-var-euro-sign: \\f153;\r\n$fa-var-exchange: \\f0ec;\r\n$fa-var-exchange-alt: \\f362;\r\n$fa-var-exclamation: \\f12a;\r\n$fa-var-exclamation-circle: \\f06a;\r\n$fa-var-exclamation-square: \\f321;\r\n$fa-var-exclamation-triangle: \\f071;\r\n$fa-var-expand: \\f065;\r\n$fa-var-expand-alt: \\f424;\r\n$fa-var-expand-arrows: \\f31d;\r\n$fa-var-expand-arrows-alt: \\f31e;\r\n$fa-var-expand-wide: \\f320;\r\n$fa-var-expeditedssl: \\f23e;\r\n$fa-var-external-link: \\f08e;\r\n$fa-var-external-link-alt: \\f35d;\r\n$fa-var-external-link-square: \\f14c;\r\n$fa-var-external-link-square-alt: \\f360;\r\n$fa-var-eye: \\f06e;\r\n$fa-var-eye-dropper: \\f1fb;\r\n$fa-var-eye-slash: \\f070;\r\n$fa-var-facebook: \\f09a;\r\n$fa-var-facebook-f: \\f39e;\r\n$fa-var-facebook-messenger: \\f39f;\r\n$fa-var-facebook-square: \\f082;\r\n$fa-var-fast-backward: \\f049;\r\n$fa-var-fast-forward: \\f050;\r\n$fa-var-fax: \\f1ac;\r\n$fa-var-feather: \\f52d;\r\n$fa-var-feather-alt: \\f56b;\r\n$fa-var-female: \\f182;\r\n$fa-var-field-hockey: \\f44c;\r\n$fa-var-fighter-jet: \\f0fb;\r\n$fa-var-file: \\f15b;\r\n$fa-var-file-alt: \\f15c;\r\n$fa-var-file-archive: \\f1c6;\r\n$fa-var-file-audio: \\f1c7;\r\n$fa-var-file-check: \\f316;\r\n$fa-var-file-code: \\f1c9;\r\n$fa-var-file-contract: \\f56c;\r\n$fa-var-file-download: \\f56d;\r\n$fa-var-file-edit: \\f31c;\r\n$fa-var-file-excel: \\f1c3;\r\n$fa-var-file-exclamation: \\f31a;\r\n$fa-var-file-export: \\f56e;\r\n$fa-var-file-image: \\f1c5;\r\n$fa-var-file-import: \\f56f;\r\n$fa-var-file-invoice: \\f570;\r\n$fa-var-file-invoice-dollar: \\f571;\r\n$fa-var-file-medical: \\f477;\r\n$fa-var-file-medical-alt: \\f478;\r\n$fa-var-file-minus: \\f318;\r\n$fa-var-file-pdf: \\f1c1;\r\n$fa-var-file-plus: \\f319;\r\n$fa-var-file-powerpoint: \\f1c4;\r\n$fa-var-file-prescription: \\f572;\r\n$fa-var-file-signature: \\f573;\r\n$fa-var-file-times: \\f317;\r\n$fa-var-file-upload: \\f574;\r\n$fa-var-file-video: \\f1c8;\r\n$fa-var-file-word: \\f1c2;\r\n$fa-var-fill: \\f575;\r\n$fa-var-fill-drip: \\f576;\r\n$fa-var-film: \\f008;\r\n$fa-var-film-alt: \\f3a0;\r\n$fa-var-filter: \\f0b0;\r\n$fa-var-fingerprint: \\f577;\r\n$fa-var-fire: \\f06d;\r\n$fa-var-fire-extinguisher: \\f134;\r\n$fa-var-firefox: \\f269;\r\n$fa-var-first-aid: \\f479;\r\n$fa-var-first-order: \\f2b0;\r\n$fa-var-first-order-alt: \\f50a;\r\n$fa-var-firstdraft: \\f3a1;\r\n$fa-var-fish: \\f578;\r\n$fa-var-flag: \\f024;\r\n$fa-var-flag-checkered: \\f11e;\r\n$fa-var-flask: \\f0c3;\r\n$fa-var-flickr: \\f16e;\r\n$fa-var-flipboard: \\f44d;\r\n$fa-var-flushed: \\f579;\r\n$fa-var-fly: \\f417;\r\n$fa-var-folder: \\f07b;\r\n$fa-var-folder-open: \\f07c;\r\n$fa-var-font: \\f031;\r\n$fa-var-font-awesome: \\f2b4;\r\n$fa-var-font-awesome-alt: \\f35c;\r\n$fa-var-font-awesome-flag: \\f425;\r\n$fa-var-font-awesome-logo-full: \\f4e6;\r\n$fa-var-fonticons: \\f280;\r\n$fa-var-fonticons-fi: \\f3a2;\r\n$fa-var-football-ball: \\f44e;\r\n$fa-var-football-helmet: \\f44f;\r\n$fa-var-forklift: \\f47a;\r\n$fa-var-fort-awesome: \\f286;\r\n$fa-var-fort-awesome-alt: \\f3a3;\r\n$fa-var-forumbee: \\f211;\r\n$fa-var-forward: \\f04e;\r\n$fa-var-foursquare: \\f180;\r\n$fa-var-fragile: \\f4bb;\r\n$fa-var-free-code-camp: \\f2c5;\r\n$fa-var-freebsd: \\f3a4;\r\n$fa-var-frog: \\f52e;\r\n$fa-var-frown: \\f119;\r\n$fa-var-frown-open: \\f57a;\r\n$fa-var-fulcrum: \\f50b;\r\n$fa-var-futbol: \\f1e3;\r\n$fa-var-galactic-republic: \\f50c;\r\n$fa-var-galactic-senate: \\f50d;\r\n$fa-var-gamepad: \\f11b;\r\n$fa-var-gas-pump: \\f52f;\r\n$fa-var-gavel: \\f0e3;\r\n$fa-var-gem: \\f3a5;\r\n$fa-var-genderless: \\f22d;\r\n$fa-var-get-pocket: \\f265;\r\n$fa-var-gg: \\f260;\r\n$fa-var-gg-circle: \\f261;\r\n$fa-var-gift: \\f06b;\r\n$fa-var-git: \\f1d3;\r\n$fa-var-git-square: \\f1d2;\r\n$fa-var-github: \\f09b;\r\n$fa-var-github-alt: \\f113;\r\n$fa-var-github-square: \\f092;\r\n$fa-var-gitkraken: \\f3a6;\r\n$fa-var-gitlab: \\f296;\r\n$fa-var-gitter: \\f426;\r\n$fa-var-glass-martini: \\f000;\r\n$fa-var-glass-martini-alt: \\f57b;\r\n$fa-var-glasses: \\f530;\r\n$fa-var-glide: \\f2a5;\r\n$fa-var-glide-g: \\f2a6;\r\n$fa-var-globe: \\f0ac;\r\n$fa-var-globe-africa: \\f57c;\r\n$fa-var-globe-americas: \\f57d;\r\n$fa-var-globe-asia: \\f57e;\r\n$fa-var-gofore: \\f3a7;\r\n$fa-var-golf-ball: \\f450;\r\n$fa-var-golf-club: \\f451;\r\n$fa-var-goodreads: \\f3a8;\r\n$fa-var-goodreads-g: \\f3a9;\r\n$fa-var-google: \\f1a0;\r\n$fa-var-google-drive: \\f3aa;\r\n$fa-var-google-play: \\f3ab;\r\n$fa-var-google-plus: \\f2b3;\r\n$fa-var-google-plus-g: \\f0d5;\r\n$fa-var-google-plus-square: \\f0d4;\r\n$fa-var-google-wallet: \\f1ee;\r\n$fa-var-graduation-cap: \\f19d;\r\n$fa-var-gratipay: \\f184;\r\n$fa-var-grav: \\f2d6;\r\n$fa-var-greater-than: \\f531;\r\n$fa-var-greater-than-equal: \\f532;\r\n$fa-var-grimace: \\f57f;\r\n$fa-var-grin: \\f580;\r\n$fa-var-grin-alt: \\f581;\r\n$fa-var-grin-beam: \\f582;\r\n$fa-var-grin-beam-sweat: \\f583;\r\n$fa-var-grin-hearts: \\f584;\r\n$fa-var-grin-squint: \\f585;\r\n$fa-var-grin-squint-tears: \\f586;\r\n$fa-var-grin-stars: \\f587;\r\n$fa-var-grin-tears: \\f588;\r\n$fa-var-grin-tongue: \\f589;\r\n$fa-var-grin-tongue-squint: \\f58a;\r\n$fa-var-grin-tongue-wink: \\f58b;\r\n$fa-var-grin-wink: \\f58c;\r\n$fa-var-grip-horizontal: \\f58d;\r\n$fa-var-grip-vertical: \\f58e;\r\n$fa-var-gripfire: \\f3ac;\r\n$fa-var-grunt: \\f3ad;\r\n$fa-var-gulp: \\f3ae;\r\n$fa-var-h-square: \\f0fd;\r\n$fa-var-h1: \\f313;\r\n$fa-var-h2: \\f314;\r\n$fa-var-h3: \\f315;\r\n$fa-var-hacker-news: \\f1d4;\r\n$fa-var-hacker-news-square: \\f3af;\r\n$fa-var-hand-heart: \\f4bc;\r\n$fa-var-hand-holding: \\f4bd;\r\n$fa-var-hand-holding-box: \\f47b;\r\n$fa-var-hand-holding-heart: \\f4be;\r\n$fa-var-hand-holding-seedling: \\f4bf;\r\n$fa-var-hand-holding-usd: \\f4c0;\r\n$fa-var-hand-holding-water: \\f4c1;\r\n$fa-var-hand-lizard: \\f258;\r\n$fa-var-hand-paper: \\f256;\r\n$fa-var-hand-peace: \\f25b;\r\n$fa-var-hand-point-down: \\f0a7;\r\n$fa-var-hand-point-left: \\f0a5;\r\n$fa-var-hand-point-right: \\f0a4;\r\n$fa-var-hand-point-up: \\f0a6;\r\n$fa-var-hand-pointer: \\f25a;\r\n$fa-var-hand-receiving: \\f47c;\r\n$fa-var-hand-rock: \\f255;\r\n$fa-var-hand-scissors: \\f257;\r\n$fa-var-hand-spock: \\f259;\r\n$fa-var-hands: \\f4c2;\r\n$fa-var-hands-heart: \\f4c3;\r\n$fa-var-hands-helping: \\f4c4;\r\n$fa-var-hands-usd: \\f4c5;\r\n$fa-var-handshake: \\f2b5;\r\n$fa-var-handshake-alt: \\f4c6;\r\n$fa-var-hashtag: \\f292;\r\n$fa-var-hdd: \\f0a0;\r\n$fa-var-heading: \\f1dc;\r\n$fa-var-headphones: \\f025;\r\n$fa-var-headphones-alt: \\f58f;\r\n$fa-var-headset: \\f590;\r\n$fa-var-heart: \\f004;\r\n$fa-var-heart-circle: \\f4c7;\r\n$fa-var-heart-square: \\f4c8;\r\n$fa-var-heartbeat: \\f21e;\r\n$fa-var-helicopter: \\f533;\r\n$fa-var-hexagon: \\f312;\r\n$fa-var-highlighter: \\f591;\r\n$fa-var-hips: \\f452;\r\n$fa-var-hire-a-helper: \\f3b0;\r\n$fa-var-history: \\f1da;\r\n$fa-var-hockey-puck: \\f453;\r\n$fa-var-hockey-sticks: \\f454;\r\n$fa-var-home: \\f015;\r\n$fa-var-home-heart: \\f4c9;\r\n$fa-var-hooli: \\f427;\r\n$fa-var-hornbill: \\f592;\r\n$fa-var-hospital: \\f0f8;\r\n$fa-var-hospital-alt: \\f47d;\r\n$fa-var-hospital-symbol: \\f47e;\r\n$fa-var-hot-tub: \\f593;\r\n$fa-var-hotel: \\f594;\r\n$fa-var-hotjar: \\f3b1;\r\n$fa-var-hourglass: \\f254;\r\n$fa-var-hourglass-end: \\f253;\r\n$fa-var-hourglass-half: \\f252;\r\n$fa-var-hourglass-start: \\f251;\r\n$fa-var-houzz: \\f27c;\r\n$fa-var-html5: \\f13b;\r\n$fa-var-hubspot: \\f3b2;\r\n$fa-var-i-cursor: \\f246;\r\n$fa-var-id-badge: \\f2c1;\r\n$fa-var-id-card: \\f2c2;\r\n$fa-var-id-card-alt: \\f47f;\r\n$fa-var-image: \\f03e;\r\n$fa-var-images: \\f302;\r\n$fa-var-imdb: \\f2d8;\r\n$fa-var-inbox: \\f01c;\r\n$fa-var-inbox-in: \\f310;\r\n$fa-var-inbox-out: \\f311;\r\n$fa-var-indent: \\f03c;\r\n$fa-var-industry: \\f275;\r\n$fa-var-industry-alt: \\f3b3;\r\n$fa-var-infinity: \\f534;\r\n$fa-var-info: \\f129;\r\n$fa-var-info-circle: \\f05a;\r\n$fa-var-info-square: \\f30f;\r\n$fa-var-instagram: \\f16d;\r\n$fa-var-internet-explorer: \\f26b;\r\n$fa-var-inventory: \\f480;\r\n$fa-var-ioxhost: \\f208;\r\n$fa-var-italic: \\f033;\r\n$fa-var-itunes: \\f3b4;\r\n$fa-var-itunes-note: \\f3b5;\r\n$fa-var-jack-o-lantern: \\f30e;\r\n$fa-var-java: \\f4e4;\r\n$fa-var-jedi-order: \\f50e;\r\n$fa-var-jenkins: \\f3b6;\r\n$fa-var-joget: \\f3b7;\r\n$fa-var-joint: \\f595;\r\n$fa-var-joomla: \\f1aa;\r\n$fa-var-js: \\f3b8;\r\n$fa-var-js-square: \\f3b9;\r\n$fa-var-jsfiddle: \\f1cc;\r\n$fa-var-key: \\f084;\r\n$fa-var-keybase: \\f4f5;\r\n$fa-var-keyboard: \\f11c;\r\n$fa-var-keycdn: \\f3ba;\r\n$fa-var-kickstarter: \\f3bb;\r\n$fa-var-kickstarter-k: \\f3bc;\r\n$fa-var-kiss: \\f596;\r\n$fa-var-kiss-beam: \\f597;\r\n$fa-var-kiss-wink-heart: \\f598;\r\n$fa-var-kiwi-bird: \\f535;\r\n$fa-var-korvue: \\f42f;\r\n$fa-var-lamp: \\f4ca;\r\n$fa-var-language: \\f1ab;\r\n$fa-var-laptop: \\f109;\r\n$fa-var-laravel: \\f3bd;\r\n$fa-var-lastfm: \\f202;\r\n$fa-var-lastfm-square: \\f203;\r\n$fa-var-laugh: \\f599;\r\n$fa-var-laugh-beam: \\f59a;\r\n$fa-var-laugh-squint: \\f59b;\r\n$fa-var-laugh-wink: \\f59c;\r\n$fa-var-leaf: \\f06c;\r\n$fa-var-leaf-heart: \\f4cb;\r\n$fa-var-leanpub: \\f212;\r\n$fa-var-lemon: \\f094;\r\n$fa-var-less: \\f41d;\r\n$fa-var-less-than: \\f536;\r\n$fa-var-less-than-equal: \\f537;\r\n$fa-var-level-down: \\f149;\r\n$fa-var-level-down-alt: \\f3be;\r\n$fa-var-level-up: \\f148;\r\n$fa-var-level-up-alt: \\f3bf;\r\n$fa-var-life-ring: \\f1cd;\r\n$fa-var-lightbulb: \\f0eb;\r\n$fa-var-line: \\f3c0;\r\n$fa-var-link: \\f0c1;\r\n$fa-var-linkedin: \\f08c;\r\n$fa-var-linkedin-in: \\f0e1;\r\n$fa-var-linode: \\f2b8;\r\n$fa-var-linux: \\f17c;\r\n$fa-var-lira-sign: \\f195;\r\n$fa-var-list: \\f03a;\r\n$fa-var-list-alt: \\f022;\r\n$fa-var-list-ol: \\f0cb;\r\n$fa-var-list-ul: \\f0ca;\r\n$fa-var-location-arrow: \\f124;\r\n$fa-var-lock: \\f023;\r\n$fa-var-lock-alt: \\f30d;\r\n$fa-var-lock-open: \\f3c1;\r\n$fa-var-lock-open-alt: \\f3c2;\r\n$fa-var-long-arrow-alt-down: \\f309;\r\n$fa-var-long-arrow-alt-left: \\f30a;\r\n$fa-var-long-arrow-alt-right: \\f30b;\r\n$fa-var-long-arrow-alt-up: \\f30c;\r\n$fa-var-long-arrow-down: \\f175;\r\n$fa-var-long-arrow-left: \\f177;\r\n$fa-var-long-arrow-right: \\f178;\r\n$fa-var-long-arrow-up: \\f176;\r\n$fa-var-loveseat: \\f4cc;\r\n$fa-var-low-vision: \\f2a8;\r\n$fa-var-luchador: \\f455;\r\n$fa-var-luggage-cart: \\f59d;\r\n$fa-var-lyft: \\f3c3;\r\n$fa-var-magento: \\f3c4;\r\n$fa-var-magic: \\f0d0;\r\n$fa-var-magnet: \\f076;\r\n$fa-var-mailchimp: \\f59e;\r\n$fa-var-male: \\f183;\r\n$fa-var-mandalorian: \\f50f;\r\n$fa-var-map: \\f279;\r\n$fa-var-map-marked: \\f59f;\r\n$fa-var-map-marked-alt: \\f5a0;\r\n$fa-var-map-marker: \\f041;\r\n$fa-var-map-marker-alt: \\f3c5;\r\n$fa-var-map-pin: \\f276;\r\n$fa-var-map-signs: \\f277;\r\n$fa-var-marker: \\f5a1;\r\n$fa-var-mars: \\f222;\r\n$fa-var-mars-double: \\f227;\r\n$fa-var-mars-stroke: \\f229;\r\n$fa-var-mars-stroke-h: \\f22b;\r\n$fa-var-mars-stroke-v: \\f22a;\r\n$fa-var-mastodon: \\f4f6;\r\n$fa-var-maxcdn: \\f136;\r\n$fa-var-medal: \\f5a2;\r\n$fa-var-medapps: \\f3c6;\r\n$fa-var-medium: \\f23a;\r\n$fa-var-medium-m: \\f3c7;\r\n$fa-var-medkit: \\f0fa;\r\n$fa-var-medrt: \\f3c8;\r\n$fa-var-meetup: \\f2e0;\r\n$fa-var-megaport: \\f5a3;\r\n$fa-var-meh: \\f11a;\r\n$fa-var-meh-blank: \\f5a4;\r\n$fa-var-meh-rolling-eyes: \\f5a5;\r\n$fa-var-memory: \\f538;\r\n$fa-var-mercury: \\f223;\r\n$fa-var-microchip: \\f2db;\r\n$fa-var-microphone: \\f130;\r\n$fa-var-microphone-alt: \\f3c9;\r\n$fa-var-microphone-alt-slash: \\f539;\r\n$fa-var-microphone-slash: \\f131;\r\n$fa-var-microsoft: \\f3ca;\r\n$fa-var-minus: \\f068;\r\n$fa-var-minus-circle: \\f056;\r\n$fa-var-minus-hexagon: \\f307;\r\n$fa-var-minus-octagon: \\f308;\r\n$fa-var-minus-square: \\f146;\r\n$fa-var-mix: \\f3cb;\r\n$fa-var-mixcloud: \\f289;\r\n$fa-var-mizuni: \\f3cc;\r\n$fa-var-mobile: \\f10b;\r\n$fa-var-mobile-alt: \\f3cd;\r\n$fa-var-mobile-android: \\f3ce;\r\n$fa-var-mobile-android-alt: \\f3cf;\r\n$fa-var-modx: \\f285;\r\n$fa-var-monero: \\f3d0;\r\n$fa-var-money-bill: \\f0d6;\r\n$fa-var-money-bill-alt: \\f3d1;\r\n$fa-var-money-bill-wave: \\f53a;\r\n$fa-var-money-bill-wave-alt: \\f53b;\r\n$fa-var-money-check: \\f53c;\r\n$fa-var-money-check-alt: \\f53d;\r\n$fa-var-monument: \\f5a6;\r\n$fa-var-moon: \\f186;\r\n$fa-var-mortar-pestle: \\f5a7;\r\n$fa-var-motorcycle: \\f21c;\r\n$fa-var-mouse-pointer: \\f245;\r\n$fa-var-music: \\f001;\r\n$fa-var-napster: \\f3d2;\r\n$fa-var-neuter: \\f22c;\r\n$fa-var-newspaper: \\f1ea;\r\n$fa-var-nimblr: \\f5a8;\r\n$fa-var-nintendo-switch: \\f418;\r\n$fa-var-node: \\f419;\r\n$fa-var-node-js: \\f3d3;\r\n$fa-var-not-equal: \\f53e;\r\n$fa-var-notes-medical: \\f481;\r\n$fa-var-npm: \\f3d4;\r\n$fa-var-ns8: \\f3d5;\r\n$fa-var-nutritionix: \\f3d6;\r\n$fa-var-object-group: \\f247;\r\n$fa-var-object-ungroup: \\f248;\r\n$fa-var-octagon: \\f306;\r\n$fa-var-odnoklassniki: \\f263;\r\n$fa-var-odnoklassniki-square: \\f264;\r\n$fa-var-old-republic: \\f510;\r\n$fa-var-opencart: \\f23d;\r\n$fa-var-openid: \\f19b;\r\n$fa-var-opera: \\f26a;\r\n$fa-var-optin-monster: \\f23c;\r\n$fa-var-osi: \\f41a;\r\n$fa-var-outdent: \\f03b;\r\n$fa-var-page4: \\f3d7;\r\n$fa-var-pagelines: \\f18c;\r\n$fa-var-paint-brush: \\f1fc;\r\n$fa-var-paint-brush-alt: \\f5a9;\r\n$fa-var-paint-roller: \\f5aa;\r\n$fa-var-palette: \\f53f;\r\n$fa-var-palfed: \\f3d8;\r\n$fa-var-pallet: \\f482;\r\n$fa-var-pallet-alt: \\f483;\r\n$fa-var-paper-plane: \\f1d8;\r\n$fa-var-paperclip: \\f0c6;\r\n$fa-var-parachute-box: \\f4cd;\r\n$fa-var-paragraph: \\f1dd;\r\n$fa-var-parking: \\f540;\r\n$fa-var-passport: \\f5ab;\r\n$fa-var-paste: \\f0ea;\r\n$fa-var-patreon: \\f3d9;\r\n$fa-var-pause: \\f04c;\r\n$fa-var-pause-circle: \\f28b;\r\n$fa-var-paw: \\f1b0;\r\n$fa-var-paypal: \\f1ed;\r\n$fa-var-pen: \\f304;\r\n$fa-var-pen-alt: \\f305;\r\n$fa-var-pen-fancy: \\f5ac;\r\n$fa-var-pen-nib: \\f5ad;\r\n$fa-var-pen-square: \\f14b;\r\n$fa-var-pencil: \\f040;\r\n$fa-var-pencil-alt: \\f303;\r\n$fa-var-pencil-ruler: \\f5ae;\r\n$fa-var-pennant: \\f456;\r\n$fa-var-people-carry: \\f4ce;\r\n$fa-var-percent: \\f295;\r\n$fa-var-percentage: \\f541;\r\n$fa-var-periscope: \\f3da;\r\n$fa-var-person-carry: \\f4cf;\r\n$fa-var-person-dolly: \\f4d0;\r\n$fa-var-person-dolly-empty: \\f4d1;\r\n$fa-var-phabricator: \\f3db;\r\n$fa-var-phoenix-framework: \\f3dc;\r\n$fa-var-phoenix-squadron: \\f511;\r\n$fa-var-phone: \\f095;\r\n$fa-var-phone-plus: \\f4d2;\r\n$fa-var-phone-slash: \\f3dd;\r\n$fa-var-phone-square: \\f098;\r\n$fa-var-phone-volume: \\f2a0;\r\n$fa-var-php: \\f457;\r\n$fa-var-pied-piper: \\f2ae;\r\n$fa-var-pied-piper-alt: \\f1a8;\r\n$fa-var-pied-piper-hat: \\f4e5;\r\n$fa-var-pied-piper-pp: \\f1a7;\r\n$fa-var-piggy-bank: \\f4d3;\r\n$fa-var-pills: \\f484;\r\n$fa-var-pinterest: \\f0d2;\r\n$fa-var-pinterest-p: \\f231;\r\n$fa-var-pinterest-square: \\f0d3;\r\n$fa-var-plane: \\f072;\r\n$fa-var-plane-alt: \\f3de;\r\n$fa-var-plane-arrival: \\f5af;\r\n$fa-var-plane-departure: \\f5b0;\r\n$fa-var-play: \\f04b;\r\n$fa-var-play-circle: \\f144;\r\n$fa-var-playstation: \\f3df;\r\n$fa-var-plug: \\f1e6;\r\n$fa-var-plus: \\f067;\r\n$fa-var-plus-circle: \\f055;\r\n$fa-var-plus-hexagon: \\f300;\r\n$fa-var-plus-octagon: \\f301;\r\n$fa-var-plus-square: \\f0fe;\r\n$fa-var-podcast: \\f2ce;\r\n$fa-var-poo: \\f2fe;\r\n$fa-var-portrait: \\f3e0;\r\n$fa-var-pound-sign: \\f154;\r\n$fa-var-power-off: \\f011;\r\n$fa-var-prescription: \\f5b1;\r\n$fa-var-prescription-bottle: \\f485;\r\n$fa-var-prescription-bottle-alt: \\f486;\r\n$fa-var-print: \\f02f;\r\n$fa-var-procedures: \\f487;\r\n$fa-var-product-hunt: \\f288;\r\n$fa-var-project-diagram: \\f542;\r\n$fa-var-pushed: \\f3e1;\r\n$fa-var-puzzle-piece: \\f12e;\r\n$fa-var-python: \\f3e2;\r\n$fa-var-qq: \\f1d6;\r\n$fa-var-qrcode: \\f029;\r\n$fa-var-question: \\f128;\r\n$fa-var-question-circle: \\f059;\r\n$fa-var-question-square: \\f2fd;\r\n$fa-var-quidditch: \\f458;\r\n$fa-var-quinscape: \\f459;\r\n$fa-var-quora: \\f2c4;\r\n$fa-var-quote-left: \\f10d;\r\n$fa-var-quote-right: \\f10e;\r\n$fa-var-r-project: \\f4f7;\r\n$fa-var-racquet: \\f45a;\r\n$fa-var-ramp-loading: \\f4d4;\r\n$fa-var-random: \\f074;\r\n$fa-var-ravelry: \\f2d9;\r\n$fa-var-react: \\f41b;\r\n$fa-var-readme: \\f4d5;\r\n$fa-var-rebel: \\f1d0;\r\n$fa-var-receipt: \\f543;\r\n$fa-var-rectangle-landscape: \\f2fa;\r\n$fa-var-rectangle-portrait: \\f2fb;\r\n$fa-var-rectangle-wide: \\f2fc;\r\n$fa-var-recycle: \\f1b8;\r\n$fa-var-red-river: \\f3e3;\r\n$fa-var-reddit: \\f1a1;\r\n$fa-var-reddit-alien: \\f281;\r\n$fa-var-reddit-square: \\f1a2;\r\n$fa-var-redo: \\f01e;\r\n$fa-var-redo-alt: \\f2f9;\r\n$fa-var-registered: \\f25d;\r\n$fa-var-rendact: \\f3e4;\r\n$fa-var-renren: \\f18b;\r\n$fa-var-repeat: \\f363;\r\n$fa-var-repeat-1: \\f365;\r\n$fa-var-repeat-1-alt: \\f366;\r\n$fa-var-repeat-alt: \\f364;\r\n$fa-var-reply: \\f3e5;\r\n$fa-var-reply-all: \\f122;\r\n$fa-var-replyd: \\f3e6;\r\n$fa-var-researchgate: \\f4f8;\r\n$fa-var-resolving: \\f3e7;\r\n$fa-var-retweet: \\f079;\r\n$fa-var-retweet-alt: \\f361;\r\n$fa-var-rev: \\f5b2;\r\n$fa-var-ribbon: \\f4d6;\r\n$fa-var-road: \\f018;\r\n$fa-var-robot: \\f544;\r\n$fa-var-rocket: \\f135;\r\n$fa-var-rocketchat: \\f3e8;\r\n$fa-var-rockrms: \\f3e9;\r\n$fa-var-route: \\f4d7;\r\n$fa-var-rss: \\f09e;\r\n$fa-var-rss-square: \\f143;\r\n$fa-var-ruble-sign: \\f158;\r\n$fa-var-ruler: \\f545;\r\n$fa-var-ruler-combined: \\f546;\r\n$fa-var-ruler-horizontal: \\f547;\r\n$fa-var-ruler-vertical: \\f548;\r\n$fa-var-rupee-sign: \\f156;\r\n$fa-var-sad-cry: \\f5b3;\r\n$fa-var-sad-tear: \\f5b4;\r\n$fa-var-safari: \\f267;\r\n$fa-var-sass: \\f41e;\r\n$fa-var-save: \\f0c7;\r\n$fa-var-scanner: \\f488;\r\n$fa-var-scanner-keyboard: \\f489;\r\n$fa-var-scanner-touchscreen: \\f48a;\r\n$fa-var-schlix: \\f3ea;\r\n$fa-var-school: \\f549;\r\n$fa-var-screwdriver: \\f54a;\r\n$fa-var-scribd: \\f28a;\r\n$fa-var-scrubber: \\f2f8;\r\n$fa-var-search: \\f002;\r\n$fa-var-search-minus: \\f010;\r\n$fa-var-search-plus: \\f00e;\r\n$fa-var-searchengin: \\f3eb;\r\n$fa-var-seedling: \\f4d8;\r\n$fa-var-sellcast: \\f2da;\r\n$fa-var-sellsy: \\f213;\r\n$fa-var-server: \\f233;\r\n$fa-var-servicestack: \\f3ec;\r\n$fa-var-share: \\f064;\r\n$fa-var-share-all: \\f367;\r\n$fa-var-share-alt: \\f1e0;\r\n$fa-var-share-alt-square: \\f1e1;\r\n$fa-var-share-square: \\f14d;\r\n$fa-var-shekel-sign: \\f20b;\r\n$fa-var-shield: \\f132;\r\n$fa-var-shield-alt: \\f3ed;\r\n$fa-var-shield-check: \\f2f7;\r\n$fa-var-ship: \\f21a;\r\n$fa-var-shipping-fast: \\f48b;\r\n$fa-var-shipping-timed: \\f48c;\r\n$fa-var-shirtsinbulk: \\f214;\r\n$fa-var-shoe-prints: \\f54b;\r\n$fa-var-shopping-bag: \\f290;\r\n$fa-var-shopping-basket: \\f291;\r\n$fa-var-shopping-cart: \\f07a;\r\n$fa-var-shopware: \\f5b5;\r\n$fa-var-shower: \\f2cc;\r\n$fa-var-shuttle-van: \\f5b6;\r\n$fa-var-shuttlecock: \\f45b;\r\n$fa-var-sign: \\f4d9;\r\n$fa-var-sign-in: \\f090;\r\n$fa-var-sign-in-alt: \\f2f6;\r\n$fa-var-sign-language: \\f2a7;\r\n$fa-var-sign-out: \\f08b;\r\n$fa-var-sign-out-alt: \\f2f5;\r\n$fa-var-signal: \\f012;\r\n$fa-var-signature: \\f5b7;\r\n$fa-var-simplybuilt: \\f215;\r\n$fa-var-sistrix: \\f3ee;\r\n$fa-var-sitemap: \\f0e8;\r\n$fa-var-sith: \\f512;\r\n$fa-var-skull: \\f54c;\r\n$fa-var-skyatlas: \\f216;\r\n$fa-var-skype: \\f17e;\r\n$fa-var-slack: \\f198;\r\n$fa-var-slack-hash: \\f3ef;\r\n$fa-var-sliders-h: \\f1de;\r\n$fa-var-sliders-h-square: \\f3f0;\r\n$fa-var-sliders-v: \\f3f1;\r\n$fa-var-sliders-v-square: \\f3f2;\r\n$fa-var-slideshare: \\f1e7;\r\n$fa-var-smile: \\f118;\r\n$fa-var-smile-beam: \\f5b8;\r\n$fa-var-smile-plus: \\f5b9;\r\n$fa-var-smile-wink: \\f4da;\r\n$fa-var-smoking: \\f48d;\r\n$fa-var-smoking-ban: \\f54d;\r\n$fa-var-snapchat: \\f2ab;\r\n$fa-var-snapchat-ghost: \\f2ac;\r\n$fa-var-snapchat-square: \\f2ad;\r\n$fa-var-snowflake: \\f2dc;\r\n$fa-var-solar-panel: \\f5ba;\r\n$fa-var-sort: \\f0dc;\r\n$fa-var-sort-alpha-down: \\f15d;\r\n$fa-var-sort-alpha-up: \\f15e;\r\n$fa-var-sort-amount-down: \\f160;\r\n$fa-var-sort-amount-up: \\f161;\r\n$fa-var-sort-down: \\f0dd;\r\n$fa-var-sort-numeric-down: \\f162;\r\n$fa-var-sort-numeric-up: \\f163;\r\n$fa-var-sort-up: \\f0de;\r\n$fa-var-soundcloud: \\f1be;\r\n$fa-var-spa: \\f5bb;\r\n$fa-var-space-shuttle: \\f197;\r\n$fa-var-spade: \\f2f4;\r\n$fa-var-speakap: \\f3f3;\r\n$fa-var-spinner: \\f110;\r\n$fa-var-spinner-third: \\f3f4;\r\n$fa-var-splotch: \\f5bc;\r\n$fa-var-spotify: \\f1bc;\r\n$fa-var-spray-can: \\f5bd;\r\n$fa-var-square: \\f0c8;\r\n$fa-var-square-full: \\f45c;\r\n$fa-var-squarespace: \\f5be;\r\n$fa-var-stack-exchange: \\f18d;\r\n$fa-var-stack-overflow: \\f16c;\r\n$fa-var-stamp: \\f5bf;\r\n$fa-var-star: \\f005;\r\n$fa-var-star-exclamation: \\f2f3;\r\n$fa-var-star-half: \\f089;\r\n$fa-var-star-half-alt: \\f5c0;\r\n$fa-var-staylinked: \\f3f5;\r\n$fa-var-steam: \\f1b6;\r\n$fa-var-steam-square: \\f1b7;\r\n$fa-var-steam-symbol: \\f3f6;\r\n$fa-var-step-backward: \\f048;\r\n$fa-var-step-forward: \\f051;\r\n$fa-var-stethoscope: \\f0f1;\r\n$fa-var-sticker-mule: \\f3f7;\r\n$fa-var-sticky-note: \\f249;\r\n$fa-var-stop: \\f04d;\r\n$fa-var-stop-circle: \\f28d;\r\n$fa-var-stopwatch: \\f2f2;\r\n$fa-var-store: \\f54e;\r\n$fa-var-store-alt: \\f54f;\r\n$fa-var-strava: \\f428;\r\n$fa-var-stream: \\f550;\r\n$fa-var-street-view: \\f21d;\r\n$fa-var-strikethrough: \\f0cc;\r\n$fa-var-stripe: \\f429;\r\n$fa-var-stripe-s: \\f42a;\r\n$fa-var-stroopwafel: \\f551;\r\n$fa-var-studiovinari: \\f3f8;\r\n$fa-var-stumbleupon: \\f1a4;\r\n$fa-var-stumbleupon-circle: \\f1a3;\r\n$fa-var-subscript: \\f12c;\r\n$fa-var-subway: \\f239;\r\n$fa-var-suitcase: \\f0f2;\r\n$fa-var-suitcase-rolling: \\f5c1;\r\n$fa-var-sun: \\f185;\r\n$fa-var-superpowers: \\f2dd;\r\n$fa-var-superscript: \\f12b;\r\n$fa-var-supple: \\f3f9;\r\n$fa-var-surprise: \\f5c2;\r\n$fa-var-swatchbook: \\f5c3;\r\n$fa-var-swimmer: \\f5c4;\r\n$fa-var-swimming-pool: \\f5c5;\r\n$fa-var-sync: \\f021;\r\n$fa-var-sync-alt: \\f2f1;\r\n$fa-var-syringe: \\f48e;\r\n$fa-var-table: \\f0ce;\r\n$fa-var-table-tennis: \\f45d;\r\n$fa-var-tablet: \\f10a;\r\n$fa-var-tablet-alt: \\f3fa;\r\n$fa-var-tablet-android: \\f3fb;\r\n$fa-var-tablet-android-alt: \\f3fc;\r\n$fa-var-tablet-rugged: \\f48f;\r\n$fa-var-tablets: \\f490;\r\n$fa-var-tachometer: \\f0e4;\r\n$fa-var-tachometer-alt: \\f3fd;\r\n$fa-var-tag: \\f02b;\r\n$fa-var-tags: \\f02c;\r\n$fa-var-tape: \\f4db;\r\n$fa-var-tasks: \\f0ae;\r\n$fa-var-taxi: \\f1ba;\r\n$fa-var-teamspeak: \\f4f9;\r\n$fa-var-telegram: \\f2c6;\r\n$fa-var-telegram-plane: \\f3fe;\r\n$fa-var-tencent-weibo: \\f1d5;\r\n$fa-var-tennis-ball: \\f45e;\r\n$fa-var-terminal: \\f120;\r\n$fa-var-text-height: \\f034;\r\n$fa-var-text-width: \\f035;\r\n$fa-var-th: \\f00a;\r\n$fa-var-th-large: \\f009;\r\n$fa-var-th-list: \\f00b;\r\n$fa-var-themeco: \\f5c6;\r\n$fa-var-themeisle: \\f2b2;\r\n$fa-var-thermometer: \\f491;\r\n$fa-var-thermometer-empty: \\f2cb;\r\n$fa-var-thermometer-full: \\f2c7;\r\n$fa-var-thermometer-half: \\f2c9;\r\n$fa-var-thermometer-quarter: \\f2ca;\r\n$fa-var-thermometer-three-quarters: \\f2c8;\r\n$fa-var-thumbs-down: \\f165;\r\n$fa-var-thumbs-up: \\f164;\r\n$fa-var-thumbtack: \\f08d;\r\n$fa-var-ticket: \\f145;\r\n$fa-var-ticket-alt: \\f3ff;\r\n$fa-var-times: \\f00d;\r\n$fa-var-times-circle: \\f057;\r\n$fa-var-times-hexagon: \\f2ee;\r\n$fa-var-times-octagon: \\f2f0;\r\n$fa-var-times-square: \\f2d3;\r\n$fa-var-tint: \\f043;\r\n$fa-var-tint-slash: \\f5c7;\r\n$fa-var-tired: \\f5c8;\r\n$fa-var-toggle-off: \\f204;\r\n$fa-var-toggle-on: \\f205;\r\n$fa-var-toolbox: \\f552;\r\n$fa-var-tooth: \\f5c9;\r\n$fa-var-trade-federation: \\f513;\r\n$fa-var-trademark: \\f25c;\r\n$fa-var-train: \\f238;\r\n$fa-var-transgender: \\f224;\r\n$fa-var-transgender-alt: \\f225;\r\n$fa-var-trash: \\f1f8;\r\n$fa-var-trash-alt: \\f2ed;\r\n$fa-var-tree: \\f1bb;\r\n$fa-var-tree-alt: \\f400;\r\n$fa-var-trello: \\f181;\r\n$fa-var-triangle: \\f2ec;\r\n$fa-var-tripadvisor: \\f262;\r\n$fa-var-trophy: \\f091;\r\n$fa-var-trophy-alt: \\f2eb;\r\n$fa-var-truck: \\f0d1;\r\n$fa-var-truck-container: \\f4dc;\r\n$fa-var-truck-couch: \\f4dd;\r\n$fa-var-truck-loading: \\f4de;\r\n$fa-var-truck-moving: \\f4df;\r\n$fa-var-truck-ramp: \\f4e0;\r\n$fa-var-tshirt: \\f553;\r\n$fa-var-tty: \\f1e4;\r\n$fa-var-tumblr: \\f173;\r\n$fa-var-tumblr-square: \\f174;\r\n$fa-var-tv: \\f26c;\r\n$fa-var-tv-retro: \\f401;\r\n$fa-var-twitch: \\f1e8;\r\n$fa-var-twitter: \\f099;\r\n$fa-var-twitter-square: \\f081;\r\n$fa-var-typo3: \\f42b;\r\n$fa-var-uber: \\f402;\r\n$fa-var-uikit: \\f403;\r\n$fa-var-umbrella: \\f0e9;\r\n$fa-var-umbrella-beach: \\f5ca;\r\n$fa-var-underline: \\f0cd;\r\n$fa-var-undo: \\f0e2;\r\n$fa-var-undo-alt: \\f2ea;\r\n$fa-var-uniregistry: \\f404;\r\n$fa-var-universal-access: \\f29a;\r\n$fa-var-university: \\f19c;\r\n$fa-var-unlink: \\f127;\r\n$fa-var-unlock: \\f09c;\r\n$fa-var-unlock-alt: \\f13e;\r\n$fa-var-untappd: \\f405;\r\n$fa-var-upload: \\f093;\r\n$fa-var-usb: \\f287;\r\n$fa-var-usd-circle: \\f2e8;\r\n$fa-var-usd-square: \\f2e9;\r\n$fa-var-user: \\f007;\r\n$fa-var-user-alt: \\f406;\r\n$fa-var-user-alt-slash: \\f4fa;\r\n$fa-var-user-astronaut: \\f4fb;\r\n$fa-var-user-check: \\f4fc;\r\n$fa-var-user-circle: \\f2bd;\r\n$fa-var-user-clock: \\f4fd;\r\n$fa-var-user-cog: \\f4fe;\r\n$fa-var-user-edit: \\f4ff;\r\n$fa-var-user-friends: \\f500;\r\n$fa-var-user-graduate: \\f501;\r\n$fa-var-user-lock: \\f502;\r\n$fa-var-user-md: \\f0f0;\r\n$fa-var-user-minus: \\f503;\r\n$fa-var-user-ninja: \\f504;\r\n$fa-var-user-plus: \\f234;\r\n$fa-var-user-secret: \\f21b;\r\n$fa-var-user-shield: \\f505;\r\n$fa-var-user-slash: \\f506;\r\n$fa-var-user-tag: \\f507;\r\n$fa-var-user-tie: \\f508;\r\n$fa-var-user-times: \\f235;\r\n$fa-var-users: \\f0c0;\r\n$fa-var-users-cog: \\f509;\r\n$fa-var-ussunnah: \\f407;\r\n$fa-var-utensil-fork: \\f2e3;\r\n$fa-var-utensil-knife: \\f2e4;\r\n$fa-var-utensil-spoon: \\f2e5;\r\n$fa-var-utensils: \\f2e7;\r\n$fa-var-utensils-alt: \\f2e6;\r\n$fa-var-vaadin: \\f408;\r\n$fa-var-vector-square: \\f5cb;\r\n$fa-var-venus: \\f221;\r\n$fa-var-venus-double: \\f226;\r\n$fa-var-venus-mars: \\f228;\r\n$fa-var-viacoin: \\f237;\r\n$fa-var-viadeo: \\f2a9;\r\n$fa-var-viadeo-square: \\f2aa;\r\n$fa-var-vial: \\f492;\r\n$fa-var-vials: \\f493;\r\n$fa-var-viber: \\f409;\r\n$fa-var-video: \\f03d;\r\n$fa-var-video-plus: \\f4e1;\r\n$fa-var-video-slash: \\f4e2;\r\n$fa-var-vimeo: \\f40a;\r\n$fa-var-vimeo-square: \\f194;\r\n$fa-var-vimeo-v: \\f27d;\r\n$fa-var-vine: \\f1ca;\r\n$fa-var-vk: \\f189;\r\n$fa-var-vnv: \\f40b;\r\n$fa-var-volleyball-ball: \\f45f;\r\n$fa-var-volume-down: \\f027;\r\n$fa-var-volume-mute: \\f2e2;\r\n$fa-var-volume-off: \\f026;\r\n$fa-var-volume-up: \\f028;\r\n$fa-var-vuejs: \\f41f;\r\n$fa-var-walking: \\f554;\r\n$fa-var-wallet: \\f555;\r\n$fa-var-warehouse: \\f494;\r\n$fa-var-warehouse-alt: \\f495;\r\n$fa-var-watch: \\f2e1;\r\n$fa-var-weebly: \\f5cc;\r\n$fa-var-weibo: \\f18a;\r\n$fa-var-weight: \\f496;\r\n$fa-var-weight-hanging: \\f5cd;\r\n$fa-var-weixin: \\f1d7;\r\n$fa-var-whatsapp: \\f232;\r\n$fa-var-whatsapp-square: \\f40c;\r\n$fa-var-wheelchair: \\f193;\r\n$fa-var-whistle: \\f460;\r\n$fa-var-whmcs: \\f40d;\r\n$fa-var-wifi: \\f1eb;\r\n$fa-var-wikipedia-w: \\f266;\r\n$fa-var-window: \\f40e;\r\n$fa-var-window-alt: \\f40f;\r\n$fa-var-window-close: \\f410;\r\n$fa-var-window-maximize: \\f2d0;\r\n$fa-var-window-minimize: \\f2d1;\r\n$fa-var-window-restore: \\f2d2;\r\n$fa-var-windows: \\f17a;\r\n$fa-var-wine-glass: \\f4e3;\r\n$fa-var-wine-glass-alt: \\f5ce;\r\n$fa-var-wix: \\f5cf;\r\n$fa-var-wolf-pack-battalion: \\f514;\r\n$fa-var-won-sign: \\f159;\r\n$fa-var-wordpress: \\f19a;\r\n$fa-var-wordpress-simple: \\f411;\r\n$fa-var-wpbeginner: \\f297;\r\n$fa-var-wpexplorer: \\f2de;\r\n$fa-var-wpforms: \\f298;\r\n$fa-var-wrench: \\f0ad;\r\n$fa-var-x-ray: \\f497;\r\n$fa-var-xbox: \\f412;\r\n$fa-var-xing: \\f168;\r\n$fa-var-xing-square: \\f169;\r\n$fa-var-y-combinator: \\f23b;\r\n$fa-var-yahoo: \\f19e;\r\n$fa-var-yandex: \\f413;\r\n$fa-var-yandex-international: \\f414;\r\n$fa-var-yelp: \\f1e9;\r\n$fa-var-yen-sign: \\f157;\r\n$fa-var-yoast: \\f2b1;\r\n$fa-var-youtube: \\f167;\r\n$fa-var-youtube-square: \\f431;\r\n","// Bordered & Pulled\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-border {\r\n border: solid .08em $fa-border-color;\r\n border-radius: .1em;\r\n padding: .2em .25em .15em;\r\n}\r\n\r\n.#{$fa-css-prefix}-pull-left { float: left; }\r\n.#{$fa-css-prefix}-pull-right { float: right; }\r\n\r\n.#{$fa-css-prefix},\r\n.fas,\r\n.far,\r\n.fal,\r\n.fab {\r\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\r\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\r\n}\r\n","// Animated Icons\r\n// --------------------------\r\n\r\n.#{$fa-css-prefix}-spin {\r\n animation: fa-spin 2s infinite linear;\r\n}\r\n\r\n.#{$fa-css-prefix}-pulse {\r\n animation: fa-spin 1s infinite steps(8);\r\n}\r\n\r\n@keyframes fa-spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n","// Rotated & Flipped Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\r\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\r\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\r\n\r\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\r\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\r\n.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }\r\n\r\n// Hook for IE8-9\r\n// -------------------------\r\n\r\n:root {\r\n .#{$fa-css-prefix}-rotate-90,\r\n .#{$fa-css-prefix}-rotate-180,\r\n .#{$fa-css-prefix}-rotate-270,\r\n .#{$fa-css-prefix}-flip-horizontal,\r\n .#{$fa-css-prefix}-flip-vertical {\r\n filter: none;\r\n }\r\n}\r\n","// Mixins\r\n// --------------------------\r\n\r\n@mixin fa-icon {\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n display: inline-block;\r\n font-style: normal;\r\n font-variant: normal;\r\n font-weight: normal;\r\n line-height: 1;\r\n vertical-align: -.125em;\r\n}\r\n\r\n@mixin fa-icon-rotate($degrees, $rotation) {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\r\n transform: rotate($degrees);\r\n}\r\n\r\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\r\n transform: scale($horiz, $vert);\r\n}\r\n\r\n\r\n// Only display content to screen readers. A la Bootstrap 4.\r\n//\r\n// See: http://a11yproject.com/posts/how-to-hide-content/\r\n\r\n@mixin sr-only {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n\r\n// Use in conjunction with .sr-only to only display content when it's focused.\r\n//\r\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\r\n//\r\n// Credit: HTML5 Boilerplate\r\n\r\n@mixin sr-only-focusable {\r\n &:active,\r\n &:focus {\r\n clip: auto;\r\n height: auto;\r\n margin: 0;\r\n overflow: visible;\r\n position: static;\r\n width: auto;\r\n }\r\n}\r\n","// Stacked Icons\r\n// -------------------------\r\n\r\n.#{$fa-css-prefix}-stack {\r\n display: inline-block;\r\n height: 2em;\r\n line-height: 2em;\r\n position: relative;\r\n vertical-align: middle;\r\n width: 2em;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-1x,\r\n.#{$fa-css-prefix}-stack-2x {\r\n left: 0;\r\n position: absolute;\r\n text-align: center;\r\n width: 100%;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-1x {\r\n line-height: inherit;\r\n}\r\n\r\n.#{$fa-css-prefix}-stack-2x {\r\n font-size: 2em;\r\n}\r\n\r\n.#{$fa-css-prefix}-inverse {\r\n color: $fa-inverse;\r\n}\r\n","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\r\nreaders do not read off random characters that represent icons */\r\n\r\n.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }\r\n.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }\r\n.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }\r\n.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }\r\n.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }\r\n.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }\r\n.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }\r\n.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }\r\n.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }\r\n.#{$fa-css-prefix}-alarm-clock:before { content: fa-content($fa-var-alarm-clock); }\r\n.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }\r\n.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }\r\n.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }\r\n.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }\r\n.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }\r\n.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }\r\n.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }\r\n.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }\r\n.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }\r\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }\r\n.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }\r\n.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }\r\n.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }\r\n.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }\r\n.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }\r\n.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }\r\n.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }\r\n.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }\r\n.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }\r\n.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }\r\n.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }\r\n.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }\r\n.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }\r\n.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }\r\n.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }\r\n.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }\r\n.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }\r\n.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }\r\n.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }\r\n.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }\r\n.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }\r\n.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }\r\n.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }\r\n.#{$fa-css-prefix}-arrow-alt-down:before { content: fa-content($fa-var-arrow-alt-down); }\r\n.#{$fa-css-prefix}-arrow-alt-from-bottom:before { content: fa-content($fa-var-arrow-alt-from-bottom); }\r\n.#{$fa-css-prefix}-arrow-alt-from-left:before { content: fa-content($fa-var-arrow-alt-from-left); }\r\n.#{$fa-css-prefix}-arrow-alt-from-right:before { content: fa-content($fa-var-arrow-alt-from-right); }\r\n.#{$fa-css-prefix}-arrow-alt-from-top:before { content: fa-content($fa-var-arrow-alt-from-top); }\r\n.#{$fa-css-prefix}-arrow-alt-left:before { content: fa-content($fa-var-arrow-alt-left); }\r\n.#{$fa-css-prefix}-arrow-alt-right:before { content: fa-content($fa-var-arrow-alt-right); }\r\n.#{$fa-css-prefix}-arrow-alt-square-down:before { content: fa-content($fa-var-arrow-alt-square-down); }\r\n.#{$fa-css-prefix}-arrow-alt-square-left:before { content: fa-content($fa-var-arrow-alt-square-left); }\r\n.#{$fa-css-prefix}-arrow-alt-square-right:before { content: fa-content($fa-var-arrow-alt-square-right); }\r\n.#{$fa-css-prefix}-arrow-alt-square-up:before { content: fa-content($fa-var-arrow-alt-square-up); }\r\n.#{$fa-css-prefix}-arrow-alt-to-bottom:before { content: fa-content($fa-var-arrow-alt-to-bottom); }\r\n.#{$fa-css-prefix}-arrow-alt-to-left:before { content: fa-content($fa-var-arrow-alt-to-left); }\r\n.#{$fa-css-prefix}-arrow-alt-to-right:before { content: fa-content($fa-var-arrow-alt-to-right); }\r\n.#{$fa-css-prefix}-arrow-alt-to-top:before { content: fa-content($fa-var-arrow-alt-to-top); }\r\n.#{$fa-css-prefix}-arrow-alt-up:before { content: fa-content($fa-var-arrow-alt-up); }\r\n.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }\r\n.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }\r\n.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }\r\n.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }\r\n.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }\r\n.#{$fa-css-prefix}-arrow-from-bottom:before { content: fa-content($fa-var-arrow-from-bottom); }\r\n.#{$fa-css-prefix}-arrow-from-left:before { content: fa-content($fa-var-arrow-from-left); }\r\n.#{$fa-css-prefix}-arrow-from-right:before { content: fa-content($fa-var-arrow-from-right); }\r\n.#{$fa-css-prefix}-arrow-from-top:before { content: fa-content($fa-var-arrow-from-top); }\r\n.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }\r\n.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }\r\n.#{$fa-css-prefix}-arrow-square-down:before { content: fa-content($fa-var-arrow-square-down); }\r\n.#{$fa-css-prefix}-arrow-square-left:before { content: fa-content($fa-var-arrow-square-left); }\r\n.#{$fa-css-prefix}-arrow-square-right:before { content: fa-content($fa-var-arrow-square-right); }\r\n.#{$fa-css-prefix}-arrow-square-up:before { content: fa-content($fa-var-arrow-square-up); }\r\n.#{$fa-css-prefix}-arrow-to-bottom:before { content: fa-content($fa-var-arrow-to-bottom); }\r\n.#{$fa-css-prefix}-arrow-to-left:before { content: fa-content($fa-var-arrow-to-left); }\r\n.#{$fa-css-prefix}-arrow-to-right:before { content: fa-content($fa-var-arrow-to-right); }\r\n.#{$fa-css-prefix}-arrow-to-top:before { content: fa-content($fa-var-arrow-to-top); }\r\n.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }\r\n.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows); }\r\n.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }\r\n.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }\r\n.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }\r\n.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-h); }\r\n.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-v); }\r\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }\r\n.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }\r\n.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }\r\n.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }\r\n.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }\r\n.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }\r\n.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }\r\n.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }\r\n.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }\r\n.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }\r\n.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }\r\n.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }\r\n.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }\r\n.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }\r\n.#{$fa-css-prefix}-badge:before { content: fa-content($fa-var-badge); }\r\n.#{$fa-css-prefix}-badge-check:before { content: fa-content($fa-var-badge-check); }\r\n.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }\r\n.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }\r\n.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }\r\n.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }\r\n.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }\r\n.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }\r\n.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }\r\n.#{$fa-css-prefix}-barcode-alt:before { content: fa-content($fa-var-barcode-alt); }\r\n.#{$fa-css-prefix}-barcode-read:before { content: fa-content($fa-var-barcode-read); }\r\n.#{$fa-css-prefix}-barcode-scan:before { content: fa-content($fa-var-barcode-scan); }\r\n.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }\r\n.#{$fa-css-prefix}-baseball:before { content: fa-content($fa-var-baseball); }\r\n.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }\r\n.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }\r\n.#{$fa-css-prefix}-basketball-hoop:before { content: fa-content($fa-var-basketball-hoop); }\r\n.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }\r\n.#{$fa-css-prefix}-battery-bolt:before { content: fa-content($fa-var-battery-bolt); }\r\n.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }\r\n.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }\r\n.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }\r\n.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }\r\n.#{$fa-css-prefix}-battery-slash:before { content: fa-content($fa-var-battery-slash); }\r\n.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }\r\n.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }\r\n.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }\r\n.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }\r\n.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }\r\n.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }\r\n.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }\r\n.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }\r\n.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }\r\n.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }\r\n.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }\r\n.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }\r\n.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }\r\n.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }\r\n.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }\r\n.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }\r\n.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }\r\n.#{$fa-css-prefix}-blanket:before { content: fa-content($fa-var-blanket); }\r\n.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }\r\n.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }\r\n.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }\r\n.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }\r\n.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }\r\n.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }\r\n.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }\r\n.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }\r\n.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }\r\n.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }\r\n.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }\r\n.#{$fa-css-prefix}-book-heart:before { content: fa-content($fa-var-book-heart); }\r\n.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }\r\n.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }\r\n.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }\r\n.#{$fa-css-prefix}-bowling-pins:before { content: fa-content($fa-var-bowling-pins); }\r\n.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }\r\n.#{$fa-css-prefix}-box-alt:before { content: fa-content($fa-var-box-alt); }\r\n.#{$fa-css-prefix}-box-check:before { content: fa-content($fa-var-box-check); }\r\n.#{$fa-css-prefix}-box-fragile:before { content: fa-content($fa-var-box-fragile); }\r\n.#{$fa-css-prefix}-box-full:before { content: fa-content($fa-var-box-full); }\r\n.#{$fa-css-prefix}-box-heart:before { content: fa-content($fa-var-box-heart); }\r\n.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }\r\n.#{$fa-css-prefix}-box-up:before { content: fa-content($fa-var-box-up); }\r\n.#{$fa-css-prefix}-box-usd:before { content: fa-content($fa-var-box-usd); }\r\n.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }\r\n.#{$fa-css-prefix}-boxes-alt:before { content: fa-content($fa-var-boxes-alt); }\r\n.#{$fa-css-prefix}-boxing-glove:before { content: fa-content($fa-var-boxing-glove); }\r\n.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }\r\n.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }\r\n.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }\r\n.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }\r\n.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }\r\n.#{$fa-css-prefix}-browser:before { content: fa-content($fa-var-browser); }\r\n.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }\r\n.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }\r\n.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }\r\n.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }\r\n.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }\r\n.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }\r\n.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }\r\n.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }\r\n.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }\r\n.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }\r\n.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }\r\n.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }\r\n.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }\r\n.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }\r\n.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }\r\n.#{$fa-css-prefix}-calendar-edit:before { content: fa-content($fa-var-calendar-edit); }\r\n.#{$fa-css-prefix}-calendar-exclamation:before { content: fa-content($fa-var-calendar-exclamation); }\r\n.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }\r\n.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }\r\n.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }\r\n.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }\r\n.#{$fa-css-prefix}-camera-alt:before { content: fa-content($fa-var-camera-alt); }\r\n.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }\r\n.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }\r\n.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }\r\n.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }\r\n.#{$fa-css-prefix}-caret-circle-down:before { content: fa-content($fa-var-caret-circle-down); }\r\n.#{$fa-css-prefix}-caret-circle-left:before { content: fa-content($fa-var-caret-circle-left); }\r\n.#{$fa-css-prefix}-caret-circle-right:before { content: fa-content($fa-var-caret-circle-right); }\r\n.#{$fa-css-prefix}-caret-circle-up:before { content: fa-content($fa-var-caret-circle-up); }\r\n.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }\r\n.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }\r\n.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }\r\n.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }\r\n.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }\r\n.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }\r\n.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }\r\n.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }\r\n.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }\r\n.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }\r\n.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }\r\n.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }\r\n.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }\r\n.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }\r\n.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }\r\n.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }\r\n.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }\r\n.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }\r\n.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }\r\n.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }\r\n.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }\r\n.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }\r\n.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }\r\n.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }\r\n.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }\r\n.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }\r\n.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }\r\n.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }\r\n.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }\r\n.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }\r\n.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }\r\n.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }\r\n.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }\r\n.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }\r\n.#{$fa-css-prefix}-chess-bishop-alt:before { content: fa-content($fa-var-chess-bishop-alt); }\r\n.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }\r\n.#{$fa-css-prefix}-chess-clock:before { content: fa-content($fa-var-chess-clock); }\r\n.#{$fa-css-prefix}-chess-clock-alt:before { content: fa-content($fa-var-chess-clock-alt); }\r\n.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }\r\n.#{$fa-css-prefix}-chess-king-alt:before { content: fa-content($fa-var-chess-king-alt); }\r\n.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }\r\n.#{$fa-css-prefix}-chess-knight-alt:before { content: fa-content($fa-var-chess-knight-alt); }\r\n.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }\r\n.#{$fa-css-prefix}-chess-pawn-alt:before { content: fa-content($fa-var-chess-pawn-alt); }\r\n.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }\r\n.#{$fa-css-prefix}-chess-queen-alt:before { content: fa-content($fa-var-chess-queen-alt); }\r\n.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }\r\n.#{$fa-css-prefix}-chess-rook-alt:before { content: fa-content($fa-var-chess-rook-alt); }\r\n.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }\r\n.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }\r\n.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }\r\n.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }\r\n.#{$fa-css-prefix}-chevron-double-down:before { content: fa-content($fa-var-chevron-double-down); }\r\n.#{$fa-css-prefix}-chevron-double-left:before { content: fa-content($fa-var-chevron-double-left); }\r\n.#{$fa-css-prefix}-chevron-double-right:before { content: fa-content($fa-var-chevron-double-right); }\r\n.#{$fa-css-prefix}-chevron-double-up:before { content: fa-content($fa-var-chevron-double-up); }\r\n.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }\r\n.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }\r\n.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }\r\n.#{$fa-css-prefix}-chevron-square-down:before { content: fa-content($fa-var-chevron-square-down); }\r\n.#{$fa-css-prefix}-chevron-square-left:before { content: fa-content($fa-var-chevron-square-left); }\r\n.#{$fa-css-prefix}-chevron-square-right:before { content: fa-content($fa-var-chevron-square-right); }\r\n.#{$fa-css-prefix}-chevron-square-up:before { content: fa-content($fa-var-chevron-square-up); }\r\n.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }\r\n.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }\r\n.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }\r\n.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }\r\n.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }\r\n.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }\r\n.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }\r\n.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }\r\n.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }\r\n.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }\r\n.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }\r\n.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }\r\n.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }\r\n.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download); }\r\n.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }\r\n.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload); }\r\n.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }\r\n.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }\r\n.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }\r\n.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }\r\n.#{$fa-css-prefix}-club:before { content: fa-content($fa-var-club); }\r\n.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }\r\n.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }\r\n.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }\r\n.#{$fa-css-prefix}-code-commit:before { content: fa-content($fa-var-code-commit); }\r\n.#{$fa-css-prefix}-code-merge:before { content: fa-content($fa-var-code-merge); }\r\n.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }\r\n.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }\r\n.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }\r\n.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }\r\n.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }\r\n.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }\r\n.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }\r\n.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }\r\n.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }\r\n.#{$fa-css-prefix}-comment-alt-check:before { content: fa-content($fa-var-comment-alt-check); }\r\n.#{$fa-css-prefix}-comment-alt-dots:before { content: fa-content($fa-var-comment-alt-dots); }\r\n.#{$fa-css-prefix}-comment-alt-edit:before { content: fa-content($fa-var-comment-alt-edit); }\r\n.#{$fa-css-prefix}-comment-alt-exclamation:before { content: fa-content($fa-var-comment-alt-exclamation); }\r\n.#{$fa-css-prefix}-comment-alt-lines:before { content: fa-content($fa-var-comment-alt-lines); }\r\n.#{$fa-css-prefix}-comment-alt-minus:before { content: fa-content($fa-var-comment-alt-minus); }\r\n.#{$fa-css-prefix}-comment-alt-plus:before { content: fa-content($fa-var-comment-alt-plus); }\r\n.#{$fa-css-prefix}-comment-alt-slash:before { content: fa-content($fa-var-comment-alt-slash); }\r\n.#{$fa-css-prefix}-comment-alt-smile:before { content: fa-content($fa-var-comment-alt-smile); }\r\n.#{$fa-css-prefix}-comment-alt-times:before { content: fa-content($fa-var-comment-alt-times); }\r\n.#{$fa-css-prefix}-comment-check:before { content: fa-content($fa-var-comment-check); }\r\n.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }\r\n.#{$fa-css-prefix}-comment-edit:before { content: fa-content($fa-var-comment-edit); }\r\n.#{$fa-css-prefix}-comment-exclamation:before { content: fa-content($fa-var-comment-exclamation); }\r\n.#{$fa-css-prefix}-comment-lines:before { content: fa-content($fa-var-comment-lines); }\r\n.#{$fa-css-prefix}-comment-minus:before { content: fa-content($fa-var-comment-minus); }\r\n.#{$fa-css-prefix}-comment-plus:before { content: fa-content($fa-var-comment-plus); }\r\n.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }\r\n.#{$fa-css-prefix}-comment-smile:before { content: fa-content($fa-var-comment-smile); }\r\n.#{$fa-css-prefix}-comment-times:before { content: fa-content($fa-var-comment-times); }\r\n.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }\r\n.#{$fa-css-prefix}-comments-alt:before { content: fa-content($fa-var-comments-alt); }\r\n.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }\r\n.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }\r\n.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }\r\n.#{$fa-css-prefix}-compress-alt:before { content: fa-content($fa-var-compress-alt); }\r\n.#{$fa-css-prefix}-compress-wide:before { content: fa-content($fa-var-compress-wide); }\r\n.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }\r\n.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }\r\n.#{$fa-css-prefix}-container-storage:before { content: fa-content($fa-var-container-storage); }\r\n.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }\r\n.#{$fa-css-prefix}-conveyor-belt:before { content: fa-content($fa-var-conveyor-belt); }\r\n.#{$fa-css-prefix}-conveyor-belt-alt:before { content: fa-content($fa-var-conveyor-belt-alt); }\r\n.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }\r\n.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }\r\n.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }\r\n.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }\r\n.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }\r\n.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }\r\n.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }\r\n.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }\r\n.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }\r\n.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }\r\n.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }\r\n.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }\r\n.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }\r\n.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }\r\n.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }\r\n.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }\r\n.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }\r\n.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }\r\n.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }\r\n.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }\r\n.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }\r\n.#{$fa-css-prefix}-credit-card-blank:before { content: fa-content($fa-var-credit-card-blank); }\r\n.#{$fa-css-prefix}-credit-card-front:before { content: fa-content($fa-var-credit-card-front); }\r\n.#{$fa-css-prefix}-cricket:before { content: fa-content($fa-var-cricket); }\r\n.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }\r\n.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }\r\n.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }\r\n.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }\r\n.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }\r\n.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }\r\n.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }\r\n.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }\r\n.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }\r\n.#{$fa-css-prefix}-curling:before { content: fa-content($fa-var-curling); }\r\n.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }\r\n.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }\r\n.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }\r\n.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }\r\n.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }\r\n.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }\r\n.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }\r\n.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }\r\n.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }\r\n.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }\r\n.#{$fa-css-prefix}-desktop-alt:before { content: fa-content($fa-var-desktop-alt); }\r\n.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }\r\n.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }\r\n.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-diamond); }\r\n.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }\r\n.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }\r\n.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }\r\n.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }\r\n.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }\r\n.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }\r\n.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }\r\n.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }\r\n.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }\r\n.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }\r\n.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }\r\n.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }\r\n.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }\r\n.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }\r\n.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }\r\n.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }\r\n.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }\r\n.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }\r\n.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }\r\n.#{$fa-css-prefix}-dolly-empty:before { content: fa-content($fa-var-dolly-empty); }\r\n.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }\r\n.#{$fa-css-prefix}-dolly-flatbed-alt:before { content: fa-content($fa-var-dolly-flatbed-alt); }\r\n.#{$fa-css-prefix}-dolly-flatbed-empty:before { content: fa-content($fa-var-dolly-flatbed-empty); }\r\n.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }\r\n.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }\r\n.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }\r\n.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }\r\n.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }\r\n.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }\r\n.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }\r\n.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }\r\n.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }\r\n.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }\r\n.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }\r\n.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }\r\n.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }\r\n.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }\r\n.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }\r\n.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }\r\n.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }\r\n.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }\r\n.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }\r\n.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }\r\n.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }\r\n.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }\r\n.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }\r\n.#{$fa-css-prefix}-ellipsis-h-alt:before { content: fa-content($fa-var-ellipsis-h-alt); }\r\n.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }\r\n.#{$fa-css-prefix}-ellipsis-v-alt:before { content: fa-content($fa-var-ellipsis-v-alt); }\r\n.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }\r\n.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }\r\n.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }\r\n.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }\r\n.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }\r\n.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }\r\n.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }\r\n.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }\r\n.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }\r\n.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }\r\n.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }\r\n.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }\r\n.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange); }\r\n.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }\r\n.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }\r\n.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }\r\n.#{$fa-css-prefix}-exclamation-square:before { content: fa-content($fa-var-exclamation-square); }\r\n.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }\r\n.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }\r\n.#{$fa-css-prefix}-expand-alt:before { content: fa-content($fa-var-expand-alt); }\r\n.#{$fa-css-prefix}-expand-arrows:before { content: fa-content($fa-var-expand-arrows); }\r\n.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }\r\n.#{$fa-css-prefix}-expand-wide:before { content: fa-content($fa-var-expand-wide); }\r\n.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }\r\n.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link); }\r\n.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }\r\n.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square); }\r\n.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }\r\n.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }\r\n.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }\r\n.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }\r\n.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }\r\n.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }\r\n.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }\r\n.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }\r\n.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }\r\n.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }\r\n.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }\r\n.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }\r\n.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }\r\n.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }\r\n.#{$fa-css-prefix}-field-hockey:before { content: fa-content($fa-var-field-hockey); }\r\n.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }\r\n.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }\r\n.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }\r\n.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }\r\n.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }\r\n.#{$fa-css-prefix}-file-check:before { content: fa-content($fa-var-file-check); }\r\n.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }\r\n.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }\r\n.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }\r\n.#{$fa-css-prefix}-file-edit:before { content: fa-content($fa-var-file-edit); }\r\n.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }\r\n.#{$fa-css-prefix}-file-exclamation:before { content: fa-content($fa-var-file-exclamation); }\r\n.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }\r\n.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }\r\n.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }\r\n.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }\r\n.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }\r\n.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }\r\n.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }\r\n.#{$fa-css-prefix}-file-minus:before { content: fa-content($fa-var-file-minus); }\r\n.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }\r\n.#{$fa-css-prefix}-file-plus:before { content: fa-content($fa-var-file-plus); }\r\n.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }\r\n.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }\r\n.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }\r\n.#{$fa-css-prefix}-file-times:before { content: fa-content($fa-var-file-times); }\r\n.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }\r\n.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }\r\n.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }\r\n.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }\r\n.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }\r\n.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }\r\n.#{$fa-css-prefix}-film-alt:before { content: fa-content($fa-var-film-alt); }\r\n.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }\r\n.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }\r\n.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }\r\n.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }\r\n.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }\r\n.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }\r\n.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }\r\n.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }\r\n.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }\r\n.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }\r\n.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }\r\n.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }\r\n.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }\r\n.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }\r\n.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }\r\n.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }\r\n.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }\r\n.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }\r\n.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }\r\n.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }\r\n.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }\r\n.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }\r\n.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }\r\n.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }\r\n.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }\r\n.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }\r\n.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }\r\n.#{$fa-css-prefix}-football-helmet:before { content: fa-content($fa-var-football-helmet); }\r\n.#{$fa-css-prefix}-forklift:before { content: fa-content($fa-var-forklift); }\r\n.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }\r\n.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }\r\n.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }\r\n.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }\r\n.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }\r\n.#{$fa-css-prefix}-fragile:before { content: fa-content($fa-var-fragile); }\r\n.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }\r\n.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }\r\n.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }\r\n.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }\r\n.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }\r\n.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }\r\n.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }\r\n.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }\r\n.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }\r\n.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }\r\n.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }\r\n.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }\r\n.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }\r\n.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }\r\n.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }\r\n.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }\r\n.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }\r\n.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }\r\n.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }\r\n.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }\r\n.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }\r\n.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }\r\n.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }\r\n.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }\r\n.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }\r\n.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }\r\n.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }\r\n.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }\r\n.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }\r\n.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }\r\n.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }\r\n.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }\r\n.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }\r\n.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }\r\n.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }\r\n.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }\r\n.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }\r\n.#{$fa-css-prefix}-golf-club:before { content: fa-content($fa-var-golf-club); }\r\n.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }\r\n.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }\r\n.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }\r\n.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }\r\n.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }\r\n.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }\r\n.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }\r\n.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }\r\n.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }\r\n.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }\r\n.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }\r\n.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }\r\n.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }\r\n.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }\r\n.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }\r\n.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }\r\n.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }\r\n.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }\r\n.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }\r\n.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }\r\n.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }\r\n.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }\r\n.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }\r\n.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }\r\n.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }\r\n.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }\r\n.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }\r\n.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }\r\n.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }\r\n.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }\r\n.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }\r\n.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }\r\n.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }\r\n.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }\r\n.#{$fa-css-prefix}-h1:before { content: fa-content($fa-var-h1); }\r\n.#{$fa-css-prefix}-h2:before { content: fa-content($fa-var-h2); }\r\n.#{$fa-css-prefix}-h3:before { content: fa-content($fa-var-h3); }\r\n.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }\r\n.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }\r\n.#{$fa-css-prefix}-hand-heart:before { content: fa-content($fa-var-hand-heart); }\r\n.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }\r\n.#{$fa-css-prefix}-hand-holding-box:before { content: fa-content($fa-var-hand-holding-box); }\r\n.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }\r\n.#{$fa-css-prefix}-hand-holding-seedling:before { content: fa-content($fa-var-hand-holding-seedling); }\r\n.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }\r\n.#{$fa-css-prefix}-hand-holding-water:before { content: fa-content($fa-var-hand-holding-water); }\r\n.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }\r\n.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }\r\n.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }\r\n.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }\r\n.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }\r\n.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }\r\n.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }\r\n.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }\r\n.#{$fa-css-prefix}-hand-receiving:before { content: fa-content($fa-var-hand-receiving); }\r\n.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }\r\n.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }\r\n.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }\r\n.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }\r\n.#{$fa-css-prefix}-hands-heart:before { content: fa-content($fa-var-hands-heart); }\r\n.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }\r\n.#{$fa-css-prefix}-hands-usd:before { content: fa-content($fa-var-hands-usd); }\r\n.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }\r\n.#{$fa-css-prefix}-handshake-alt:before { content: fa-content($fa-var-handshake-alt); }\r\n.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }\r\n.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }\r\n.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }\r\n.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }\r\n.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }\r\n.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }\r\n.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }\r\n.#{$fa-css-prefix}-heart-circle:before { content: fa-content($fa-var-heart-circle); }\r\n.#{$fa-css-prefix}-heart-square:before { content: fa-content($fa-var-heart-square); }\r\n.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }\r\n.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }\r\n.#{$fa-css-prefix}-hexagon:before { content: fa-content($fa-var-hexagon); }\r\n.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }\r\n.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }\r\n.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }\r\n.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }\r\n.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }\r\n.#{$fa-css-prefix}-hockey-sticks:before { content: fa-content($fa-var-hockey-sticks); }\r\n.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }\r\n.#{$fa-css-prefix}-home-heart:before { content: fa-content($fa-var-home-heart); }\r\n.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }\r\n.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }\r\n.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }\r\n.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }\r\n.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }\r\n.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }\r\n.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }\r\n.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }\r\n.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }\r\n.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }\r\n.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }\r\n.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }\r\n.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }\r\n.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }\r\n.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }\r\n.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }\r\n.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }\r\n.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }\r\n.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }\r\n.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }\r\n.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }\r\n.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }\r\n.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }\r\n.#{$fa-css-prefix}-inbox-in:before { content: fa-content($fa-var-inbox-in); }\r\n.#{$fa-css-prefix}-inbox-out:before { content: fa-content($fa-var-inbox-out); }\r\n.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }\r\n.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }\r\n.#{$fa-css-prefix}-industry-alt:before { content: fa-content($fa-var-industry-alt); }\r\n.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }\r\n.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }\r\n.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }\r\n.#{$fa-css-prefix}-info-square:before { content: fa-content($fa-var-info-square); }\r\n.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }\r\n.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }\r\n.#{$fa-css-prefix}-inventory:before { content: fa-content($fa-var-inventory); }\r\n.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }\r\n.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }\r\n.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }\r\n.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }\r\n.#{$fa-css-prefix}-jack-o-lantern:before { content: fa-content($fa-var-jack-o-lantern); }\r\n.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }\r\n.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }\r\n.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }\r\n.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }\r\n.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }\r\n.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }\r\n.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }\r\n.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }\r\n.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }\r\n.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }\r\n.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }\r\n.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }\r\n.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }\r\n.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }\r\n.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }\r\n.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }\r\n.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }\r\n.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }\r\n.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }\r\n.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }\r\n.#{$fa-css-prefix}-lamp:before { content: fa-content($fa-var-lamp); }\r\n.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }\r\n.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }\r\n.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }\r\n.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }\r\n.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }\r\n.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }\r\n.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }\r\n.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }\r\n.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }\r\n.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }\r\n.#{$fa-css-prefix}-leaf-heart:before { content: fa-content($fa-var-leaf-heart); }\r\n.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }\r\n.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }\r\n.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }\r\n.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }\r\n.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }\r\n.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down); }\r\n.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }\r\n.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up); }\r\n.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }\r\n.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }\r\n.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }\r\n.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }\r\n.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }\r\n.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }\r\n.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }\r\n.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }\r\n.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }\r\n.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }\r\n.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }\r\n.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }\r\n.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }\r\n.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }\r\n.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }\r\n.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }\r\n.#{$fa-css-prefix}-lock-alt:before { content: fa-content($fa-var-lock-alt); }\r\n.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }\r\n.#{$fa-css-prefix}-lock-open-alt:before { content: fa-content($fa-var-lock-open-alt); }\r\n.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }\r\n.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }\r\n.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }\r\n.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }\r\n.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-down); }\r\n.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-left); }\r\n.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-right); }\r\n.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-up); }\r\n.#{$fa-css-prefix}-loveseat:before { content: fa-content($fa-var-loveseat); }\r\n.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }\r\n.#{$fa-css-prefix}-luchador:before { content: fa-content($fa-var-luchador); }\r\n.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }\r\n.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }\r\n.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }\r\n.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }\r\n.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }\r\n.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }\r\n.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }\r\n.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }\r\n.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }\r\n.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }\r\n.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }\r\n.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }\r\n.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }\r\n.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }\r\n.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }\r\n.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }\r\n.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }\r\n.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }\r\n.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }\r\n.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }\r\n.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }\r\n.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }\r\n.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }\r\n.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }\r\n.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }\r\n.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }\r\n.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }\r\n.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }\r\n.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }\r\n.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }\r\n.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }\r\n.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }\r\n.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }\r\n.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }\r\n.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }\r\n.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }\r\n.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }\r\n.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }\r\n.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }\r\n.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }\r\n.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }\r\n.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }\r\n.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }\r\n.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }\r\n.#{$fa-css-prefix}-minus-hexagon:before { content: fa-content($fa-var-minus-hexagon); }\r\n.#{$fa-css-prefix}-minus-octagon:before { content: fa-content($fa-var-minus-octagon); }\r\n.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }\r\n.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }\r\n.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }\r\n.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }\r\n.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }\r\n.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }\r\n.#{$fa-css-prefix}-mobile-android:before { content: fa-content($fa-var-mobile-android); }\r\n.#{$fa-css-prefix}-mobile-android-alt:before { content: fa-content($fa-var-mobile-android-alt); }\r\n.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }\r\n.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }\r\n.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }\r\n.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }\r\n.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }\r\n.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }\r\n.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }\r\n.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }\r\n.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }\r\n.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }\r\n.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }\r\n.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }\r\n.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }\r\n.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }\r\n.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }\r\n.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }\r\n.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }\r\n.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }\r\n.#{$fa-css-prefix}-nintendo-switch:before { content: fa-content($fa-var-nintendo-switch); }\r\n.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }\r\n.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }\r\n.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }\r\n.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }\r\n.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }\r\n.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }\r\n.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }\r\n.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }\r\n.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }\r\n.#{$fa-css-prefix}-octagon:before { content: fa-content($fa-var-octagon); }\r\n.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }\r\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }\r\n.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }\r\n.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }\r\n.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }\r\n.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }\r\n.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }\r\n.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }\r\n.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }\r\n.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }\r\n.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }\r\n.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }\r\n.#{$fa-css-prefix}-paint-brush-alt:before { content: fa-content($fa-var-paint-brush-alt); }\r\n.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }\r\n.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }\r\n.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }\r\n.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }\r\n.#{$fa-css-prefix}-pallet-alt:before { content: fa-content($fa-var-pallet-alt); }\r\n.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }\r\n.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }\r\n.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }\r\n.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }\r\n.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }\r\n.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }\r\n.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }\r\n.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }\r\n.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }\r\n.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }\r\n.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }\r\n.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }\r\n.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }\r\n.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }\r\n.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }\r\n.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }\r\n.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }\r\n.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil); }\r\n.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }\r\n.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }\r\n.#{$fa-css-prefix}-pennant:before { content: fa-content($fa-var-pennant); }\r\n.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }\r\n.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }\r\n.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }\r\n.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }\r\n.#{$fa-css-prefix}-person-carry:before { content: fa-content($fa-var-person-carry); }\r\n.#{$fa-css-prefix}-person-dolly:before { content: fa-content($fa-var-person-dolly); }\r\n.#{$fa-css-prefix}-person-dolly-empty:before { content: fa-content($fa-var-person-dolly-empty); }\r\n.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }\r\n.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }\r\n.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }\r\n.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }\r\n.#{$fa-css-prefix}-phone-plus:before { content: fa-content($fa-var-phone-plus); }\r\n.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }\r\n.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }\r\n.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }\r\n.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }\r\n.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }\r\n.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }\r\n.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }\r\n.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }\r\n.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }\r\n.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }\r\n.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }\r\n.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }\r\n.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }\r\n.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }\r\n.#{$fa-css-prefix}-plane-alt:before { content: fa-content($fa-var-plane-alt); }\r\n.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }\r\n.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }\r\n.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }\r\n.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }\r\n.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }\r\n.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }\r\n.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }\r\n.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }\r\n.#{$fa-css-prefix}-plus-hexagon:before { content: fa-content($fa-var-plus-hexagon); }\r\n.#{$fa-css-prefix}-plus-octagon:before { content: fa-content($fa-var-plus-octagon); }\r\n.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }\r\n.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }\r\n.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }\r\n.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }\r\n.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }\r\n.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }\r\n.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }\r\n.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }\r\n.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }\r\n.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }\r\n.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }\r\n.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }\r\n.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }\r\n.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }\r\n.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }\r\n.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }\r\n.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }\r\n.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }\r\n.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }\r\n.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }\r\n.#{$fa-css-prefix}-question-square:before { content: fa-content($fa-var-question-square); }\r\n.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }\r\n.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }\r\n.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }\r\n.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }\r\n.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }\r\n.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }\r\n.#{$fa-css-prefix}-racquet:before { content: fa-content($fa-var-racquet); }\r\n.#{$fa-css-prefix}-ramp-loading:before { content: fa-content($fa-var-ramp-loading); }\r\n.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }\r\n.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }\r\n.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }\r\n.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }\r\n.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }\r\n.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }\r\n.#{$fa-css-prefix}-rectangle-landscape:before { content: fa-content($fa-var-rectangle-landscape); }\r\n.#{$fa-css-prefix}-rectangle-portrait:before { content: fa-content($fa-var-rectangle-portrait); }\r\n.#{$fa-css-prefix}-rectangle-wide:before { content: fa-content($fa-var-rectangle-wide); }\r\n.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }\r\n.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }\r\n.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }\r\n.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }\r\n.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }\r\n.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }\r\n.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }\r\n.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }\r\n.#{$fa-css-prefix}-rendact:before { content: fa-content($fa-var-rendact); }\r\n.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }\r\n.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-repeat); }\r\n.#{$fa-css-prefix}-repeat-1:before { content: fa-content($fa-var-repeat-1); }\r\n.#{$fa-css-prefix}-repeat-1-alt:before { content: fa-content($fa-var-repeat-1-alt); }\r\n.#{$fa-css-prefix}-repeat-alt:before { content: fa-content($fa-var-repeat-alt); }\r\n.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }\r\n.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }\r\n.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }\r\n.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }\r\n.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }\r\n.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }\r\n.#{$fa-css-prefix}-retweet-alt:before { content: fa-content($fa-var-retweet-alt); }\r\n.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }\r\n.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }\r\n.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }\r\n.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }\r\n.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }\r\n.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }\r\n.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }\r\n.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }\r\n.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }\r\n.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }\r\n.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }\r\n.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }\r\n.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }\r\n.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }\r\n.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }\r\n.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }\r\n.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }\r\n.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }\r\n.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }\r\n.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }\r\n.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }\r\n.#{$fa-css-prefix}-scanner:before { content: fa-content($fa-var-scanner); }\r\n.#{$fa-css-prefix}-scanner-keyboard:before { content: fa-content($fa-var-scanner-keyboard); }\r\n.#{$fa-css-prefix}-scanner-touchscreen:before { content: fa-content($fa-var-scanner-touchscreen); }\r\n.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }\r\n.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }\r\n.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }\r\n.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }\r\n.#{$fa-css-prefix}-scrubber:before { content: fa-content($fa-var-scrubber); }\r\n.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }\r\n.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }\r\n.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }\r\n.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }\r\n.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }\r\n.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }\r\n.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }\r\n.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }\r\n.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }\r\n.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }\r\n.#{$fa-css-prefix}-share-all:before { content: fa-content($fa-var-share-all); }\r\n.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }\r\n.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }\r\n.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }\r\n.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }\r\n.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield); }\r\n.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }\r\n.#{$fa-css-prefix}-shield-check:before { content: fa-content($fa-var-shield-check); }\r\n.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }\r\n.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }\r\n.#{$fa-css-prefix}-shipping-timed:before { content: fa-content($fa-var-shipping-timed); }\r\n.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }\r\n.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }\r\n.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }\r\n.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }\r\n.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }\r\n.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }\r\n.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }\r\n.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }\r\n.#{$fa-css-prefix}-shuttlecock:before { content: fa-content($fa-var-shuttlecock); }\r\n.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }\r\n.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in); }\r\n.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }\r\n.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }\r\n.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out); }\r\n.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }\r\n.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }\r\n.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }\r\n.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }\r\n.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }\r\n.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }\r\n.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }\r\n.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }\r\n.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }\r\n.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }\r\n.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }\r\n.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }\r\n.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }\r\n.#{$fa-css-prefix}-sliders-h-square:before { content: fa-content($fa-var-sliders-h-square); }\r\n.#{$fa-css-prefix}-sliders-v:before { content: fa-content($fa-var-sliders-v); }\r\n.#{$fa-css-prefix}-sliders-v-square:before { content: fa-content($fa-var-sliders-v-square); }\r\n.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }\r\n.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }\r\n.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }\r\n.#{$fa-css-prefix}-smile-plus:before { content: fa-content($fa-var-smile-plus); }\r\n.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }\r\n.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }\r\n.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }\r\n.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }\r\n.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }\r\n.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }\r\n.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }\r\n.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }\r\n.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }\r\n.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }\r\n.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }\r\n.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }\r\n.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }\r\n.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }\r\n.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }\r\n.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }\r\n.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }\r\n.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }\r\n.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }\r\n.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }\r\n.#{$fa-css-prefix}-spade:before { content: fa-content($fa-var-spade); }\r\n.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }\r\n.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }\r\n.#{$fa-css-prefix}-spinner-third:before { content: fa-content($fa-var-spinner-third); }\r\n.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }\r\n.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }\r\n.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }\r\n.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }\r\n.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }\r\n.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }\r\n.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }\r\n.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }\r\n.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }\r\n.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }\r\n.#{$fa-css-prefix}-star-exclamation:before { content: fa-content($fa-var-star-exclamation); }\r\n.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }\r\n.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }\r\n.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }\r\n.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }\r\n.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }\r\n.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }\r\n.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }\r\n.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }\r\n.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }\r\n.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }\r\n.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }\r\n.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }\r\n.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }\r\n.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }\r\n.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }\r\n.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }\r\n.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }\r\n.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }\r\n.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }\r\n.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }\r\n.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }\r\n.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }\r\n.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }\r\n.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }\r\n.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }\r\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }\r\n.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }\r\n.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }\r\n.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }\r\n.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }\r\n.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }\r\n.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }\r\n.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }\r\n.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }\r\n.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }\r\n.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }\r\n.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }\r\n.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }\r\n.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }\r\n.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }\r\n.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }\r\n.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }\r\n.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }\r\n.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }\r\n.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }\r\n.#{$fa-css-prefix}-tablet-android:before { content: fa-content($fa-var-tablet-android); }\r\n.#{$fa-css-prefix}-tablet-android-alt:before { content: fa-content($fa-var-tablet-android-alt); }\r\n.#{$fa-css-prefix}-tablet-rugged:before { content: fa-content($fa-var-tablet-rugged); }\r\n.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }\r\n.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer); }\r\n.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }\r\n.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }\r\n.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }\r\n.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }\r\n.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }\r\n.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }\r\n.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }\r\n.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }\r\n.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }\r\n.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }\r\n.#{$fa-css-prefix}-tennis-ball:before { content: fa-content($fa-var-tennis-ball); }\r\n.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }\r\n.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }\r\n.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }\r\n.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }\r\n.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }\r\n.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }\r\n.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }\r\n.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }\r\n.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }\r\n.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }\r\n.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }\r\n.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }\r\n.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }\r\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }\r\n.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }\r\n.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }\r\n.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }\r\n.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket); }\r\n.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }\r\n.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }\r\n.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }\r\n.#{$fa-css-prefix}-times-hexagon:before { content: fa-content($fa-var-times-hexagon); }\r\n.#{$fa-css-prefix}-times-octagon:before { content: fa-content($fa-var-times-octagon); }\r\n.#{$fa-css-prefix}-times-square:before { content: fa-content($fa-var-times-square); }\r\n.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }\r\n.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }\r\n.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }\r\n.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }\r\n.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }\r\n.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }\r\n.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }\r\n.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }\r\n.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }\r\n.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }\r\n.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }\r\n.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }\r\n.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }\r\n.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }\r\n.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }\r\n.#{$fa-css-prefix}-tree-alt:before { content: fa-content($fa-var-tree-alt); }\r\n.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }\r\n.#{$fa-css-prefix}-triangle:before { content: fa-content($fa-var-triangle); }\r\n.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); }\r\n.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }\r\n.#{$fa-css-prefix}-trophy-alt:before { content: fa-content($fa-var-trophy-alt); }\r\n.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }\r\n.#{$fa-css-prefix}-truck-container:before { content: fa-content($fa-var-truck-container); }\r\n.#{$fa-css-prefix}-truck-couch:before { content: fa-content($fa-var-truck-couch); }\r\n.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }\r\n.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }\r\n.#{$fa-css-prefix}-truck-ramp:before { content: fa-content($fa-var-truck-ramp); }\r\n.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }\r\n.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }\r\n.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }\r\n.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }\r\n.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }\r\n.#{$fa-css-prefix}-tv-retro:before { content: fa-content($fa-var-tv-retro); }\r\n.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }\r\n.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }\r\n.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }\r\n.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }\r\n.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }\r\n.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }\r\n.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }\r\n.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }\r\n.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }\r\n.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }\r\n.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }\r\n.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }\r\n.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }\r\n.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }\r\n.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }\r\n.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }\r\n.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }\r\n.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }\r\n.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }\r\n.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }\r\n.#{$fa-css-prefix}-usd-circle:before { content: fa-content($fa-var-usd-circle); }\r\n.#{$fa-css-prefix}-usd-square:before { content: fa-content($fa-var-usd-square); }\r\n.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }\r\n.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }\r\n.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }\r\n.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }\r\n.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }\r\n.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }\r\n.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }\r\n.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }\r\n.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }\r\n.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }\r\n.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }\r\n.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }\r\n.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }\r\n.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }\r\n.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }\r\n.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }\r\n.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }\r\n.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }\r\n.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }\r\n.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }\r\n.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }\r\n.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }\r\n.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }\r\n.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }\r\n.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }\r\n.#{$fa-css-prefix}-utensil-fork:before { content: fa-content($fa-var-utensil-fork); }\r\n.#{$fa-css-prefix}-utensil-knife:before { content: fa-content($fa-var-utensil-knife); }\r\n.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }\r\n.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }\r\n.#{$fa-css-prefix}-utensils-alt:before { content: fa-content($fa-var-utensils-alt); }\r\n.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }\r\n.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }\r\n.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }\r\n.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }\r\n.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }\r\n.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }\r\n.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }\r\n.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }\r\n.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }\r\n.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }\r\n.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }\r\n.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }\r\n.#{$fa-css-prefix}-video-plus:before { content: fa-content($fa-var-video-plus); }\r\n.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }\r\n.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }\r\n.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }\r\n.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }\r\n.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }\r\n.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }\r\n.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }\r\n.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }\r\n.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }\r\n.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }\r\n.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }\r\n.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }\r\n.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }\r\n.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }\r\n.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }\r\n.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }\r\n.#{$fa-css-prefix}-warehouse-alt:before { content: fa-content($fa-var-warehouse-alt); }\r\n.#{$fa-css-prefix}-watch:before { content: fa-content($fa-var-watch); }\r\n.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }\r\n.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }\r\n.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }\r\n.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }\r\n.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }\r\n.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }\r\n.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }\r\n.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }\r\n.#{$fa-css-prefix}-whistle:before { content: fa-content($fa-var-whistle); }\r\n.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }\r\n.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }\r\n.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }\r\n.#{$fa-css-prefix}-window:before { content: fa-content($fa-var-window); }\r\n.#{$fa-css-prefix}-window-alt:before { content: fa-content($fa-var-window-alt); }\r\n.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }\r\n.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }\r\n.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }\r\n.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }\r\n.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }\r\n.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }\r\n.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }\r\n.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }\r\n.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }\r\n.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }\r\n.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }\r\n.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }\r\n.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }\r\n.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }\r\n.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }\r\n.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }\r\n.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }\r\n.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }\r\n.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }\r\n.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }\r\n.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }\r\n.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }\r\n.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }\r\n.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }\r\n.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }\r\n.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }\r\n.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }\r\n.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }\r\n.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }\r\n","// Screen Readers\r\n// -------------------------\r\n\r\n.sr-only { @include sr-only; }\r\n.sr-only-focusable { @include sr-only-focusable; }\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 400;\r\n src: url('#{$fa-font-path}/fa-regular-400.eot');\r\n src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');\r\n}\r\n\r\n.far {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 400;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 300;\r\n src: url('#{$fa-font-path}/fa-light-300.eot');\r\n src: url('#{$fa-font-path}/fa-light-300.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-light-300.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-light-300.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-light-300.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-light-300.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fal {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 300;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-style: normal;\r\n font-weight: 900;\r\n src: url('#{$fa-font-path}/fa-solid-900.eot');\r\n src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fa,\r\n.fas {\r\n font-family: 'Font Awesome 5 Pro';\r\n font-weight: 900;\r\n}\r\n","@import 'variables';\r\n\r\n@font-face {\r\n font-family: 'Font Awesome 5 Brands';\r\n font-style: normal;\r\n font-weight: normal;\r\n src: url('#{$fa-font-path}/fa-brands-400.eot');\r\n src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),\r\n url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),\r\n url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),\r\n url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),\r\n url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');\r\n}\r\n\r\n.fab {\r\n font-family: 'Font Awesome 5 Brands';\r\n}\r\n","/*!\n * Copyright (c) 2017. tom@axisj.com\n * - github.com/thomasjang\n * - www.axisj.com\n */\n\n$hack_ie67: '.';\n\n@mixin placeholder($color: $input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: $color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder {\n color: $color;\n }\n // Internet Explorer 10+\n &::-webkit-input-placeholder {\n color: $color;\n }\n // Safari and Chrome\n}\n\n@mixin prefixer($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n } @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n } @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n } @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n } @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n } @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin box-shadow($shadows...) {\n @include prefixer(box-shadow, $shadows, spec);\n}\n\n@mixin background-size($lengths...) {\n @include prefixer(background-size, $lengths, spec);\n}\n\n@mixin ax-border-radius($border-radius, $direction:\"\", $adjust:0) {\n @if (type_of($border-radius) == \"list\") {\n @if ($direction == \"\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"top\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n } @else if ($direction == \"bottom\") {\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"left\") {\n border-top-left-radius: nth($border-radius, 1)+$adjust;\n border-bottom-left-radius: nth($border-radius, 4)+$adjust;\n } @else if ($direction == \"right\") {\n border-top-right-radius: nth($border-radius, 2)+$adjust;\n border-bottom-right-radius: nth($border-radius, 3)+$adjust;\n }\n } @else {\n @if ($direction == \"\") {\n border-radius: $border-radius+$adjust;\n } @else if ($direction == \"top\") {\n border-top-left-radius: $border-radius+$adjust;\n border-top-right-radius: $border-radius+$adjust;\n } @else if ($direction == \"bottom\") {\n border-bottom-left-radius: $border-radius+$adjust;\n border-bottom-right-radius: $border-radius+$adjust;\n } @else if ($direction == \"left\") {\n border-top-left-radius: $border-radius+$adjust;\n border-bottom-left-radius: $border-radius+$adjust;\n } @else if ($direction == \"right\") {\n border-top-right-radius: $border-radius+$adjust;\n border-bottom-right-radius: $border-radius+$adjust;\n }\n }\n}\n\n@mixin ax-background($pos, $g1: null, $g2: null) {\n\n $pos-type: type-of(nth($pos, 1));\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $g2: $g1;\n $g1: $pos;\n $pos: to top;\n } @else if ($g1 == null) {\n $g1: $pos;\n $pos: to top;\n }\n\n // @debug($g1);\n @if (length($g1) == 2) {\n $g2: nth($g1, 2);\n $g1: nth($g1, 1);\n @include linear-gradient($pos, $g1, $g2);\n } @else if (length($g1) == 3) {\n @include linear-gradient(nth($g1, 1), nth($g1, 2), nth($g1, 3));\n } @else {\n @if (type_of(nth($g2, 1)) == color) {\n $g2: nth($g2, 1);\n }\n @include linear-gradient($pos, $g1, $g2);\n }\n}\n","//==\n$ax5grid-border: 1px solid #ccc !default;\n$ax5grid-bg: #fff !default;\n$ax5grid-font-size: 12px !default;\n$ax5grid-column-border: 1px solid #ccc !default;\n\n//== header\n$ax5grid-header-column-color: #222 !default;\n$ax5grid-header-column-border: 1px solid #ccc !default;\n$ax5grid-header-column-box-shadow: inset 1px 1px 0px 0px #fff !default;\n$ax5grid-header-column-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-header-column-hover-bg-colors: (#eee, #eee) !default;\n$ax5grid-header-column-resizer-color: #ff3300 !default;\n$ax5grid-header-column-resizer-size: 4px !default;\n$ax5grid-header-sorter-size: 9px !default;\n$ax5grid-header-sorter-color: #000 !default;\n\n//== aside\n$ax5grid-aside-border: 1px solid darken(#ccc, 0%) !default;\n$ax5grid-aside-bg: #f2f2f2 !default;\n$ax5grid-aside-column-shadow: inset 1px 1px 0px 0px #fff !default;\n\n$ax5grid-frozen-line-border: 1px solid darken(#ccc, 10%) !default;\n\n//== footsum\n$ax5grid-footsum-bg: #ffe7e2 !default;\n$ax5grid-footsum-line-border: 1px solid darken(#ccc, 10%) !default;\n\n//== page\n$ax5grid-page-border: 1px solid #ccc !default;\n$ax5grid-page-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-page-navigation-padding: 5px !default;\n$ax5grid-page-navigation-font-size: 12px !default;\n$ax5grid-page-navigation-btn-min-width: 20px !default;\n$ax5grid-page-navigation-btn-border: 0px none !default;\n$ax5grid-page-navigation-btn-border-radius: 5px !default;\n$ax5grid-page-navigation-btn-bg: transparent !default;\n$ax5grid-page-navigation-btn-font-size: 11px !default;\n$ax5grid-page-navigation-btn-color: #222 !default;\n$ax5grid-page-navigation-btn-hover-bg: #888 !default;\n$ax5grid-page-navigation-btn-hover-color: #fff !default;\n\n$ax5grid-page-status-font-size: 12px !default;\n$ax5grid-page-status-padding: 10px !default;\n$ax5grid-page-status-color: #222 !default;\n\n//== scroll\n$ax5grid-scroll-track-border: 1px solid #ccc !default;\n$ax5grid-scroll-track-bg: #f3f3f3 !default;\n$ax5grid-scroll-corner-bg: #EAEDEF !default;\n\n$ax5grid-scroll-bar-border-radius: 10px !default;\n$ax5grid-scroll-bar-border: 0px solid #fff !default;\n$ax5grid-scroll-bar-bg: #ccc !default;\n$ax5grid-scroll-bar-hover-border: 0px solid #ccc !default;\n$ax5grid-scroll-bar-hover-bg: #bababa !default;\n\n//== body.row\n$ax5grid-row-bg-0: #f3f3f3 !default;\n$ax5grid-row-bg-1: #fff !default;\n$ax5grid-row-bg-2: #f3f3f3 !default;\n$ax5grid-row-bg-3: #fff !default;\n$ax5grid-row-hover-bg: lighten(#cce2f3, 5%) !default;\n$ax5grid-row-grouping-bg: #ffffe7 !default;\n$ax5grid-row-selected: lighten(#b1d7fe, 10%) !default;\n\n//== body.cell\n$ax5grid-cell-padding-row-selector: 5px !default;\n$ax5grid-cell-padding: 3px 5px !default;\n\n$ax5grid-cell-checkbox-border: 1px solid #ccc !default;\n$ax5grid-cell-checkbox-border-radius: 3px !default;\n$ax5grid-cell-checkbox-bg-colors: (#FFFFFF, #F0F0F0) !default;\n$ax5grid-cell-disable-checkbox-bg-colors: (darken(nth($ax5grid-cell-checkbox-bg-colors, 2), 10%), darken(nth($ax5grid-cell-checkbox-bg-colors, 1), 10%)) !default;\n$ax5grid-cell-checkbox-arrow-color: $brand-primary !default;\n\n$ax5grid-cell-focused-box-shadow: inset 0px 0px 1px 1px #0581f2 !default;\n$ax5grid-cell-focused-bg: lighten(#b1d7fe, 10%) !default;\n$ax5grid-cell-focused-color: #000 !default;\n\n$ax5grid-cell-selected-border-color: #ccc !default;\n$ax5grid-cell-selected-bg: #b1d7fe !default;\n$ax5grid-cell-selected-color: #000 !default;\n\n//== resizer\n$ax5grid-resizer-color: #ff3300 !default;\n$ax5grid-resizer-size: 2px !default;\n\n\n// mixins\n@mixin gridBoxModal() {\n margin: 0;\n padding: 0;\n}\n\n@mixin gridColumn($container) {\n\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n padding: 0;\n font-size: $ax5grid-font-size;\n border: 0 none;\n\n &.hasBorder {\n border-right: $ax5grid-column-border;\n border-bottom: $ax5grid-column-border;\n }\n &.isLastColumn {\n\n }\n &.lineNumberColumn {\n\n }\n &.focused {\n box-shadow: $ax5grid-cell-focused-box-shadow;\n }\n\n @if ($container == \"header\") {\n cursor: pointer;\n box-shadow: $ax5grid-header-column-box-shadow;\n &:hover {\n @include ax-background(top, $ax5grid-header-column-hover-bg-colors);\n }\n &[data-ax5grid-column-row=\"null\"] {\n box-shadow: none;\n }\n }\n\n &[data-ax5grid-column-row=\"null\"] {\n border-right: 0 none;\n }\n\n &[data-ax5grid-column-selected] {\n background: $ax5grid-cell-selected-bg;\n border-color: $ax5grid-cell-selected-border-color;\n color: $ax5grid-cell-selected-color;\n }\n\n &[data-ax5grid-column-focused] {\n box-shadow: $ax5grid-cell-focused-box-shadow;\n background: $ax5grid-cell-focused-bg;\n color: $ax5grid-cell-focused-color;\n }\n\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n cursor: pointer;\n [data-ax5grid-cellHolder] {\n padding: $ax5grid-cell-padding-row-selector;\n }\n\n .checkBox {\n display: inline-block;\n position: relative;\n border: $ax5grid-cell-checkbox-border;\n border-radius: $ax5grid-cell-checkbox-border-radius;\n @include ax-background(top, $ax5grid-cell-checkbox-bg-colors);\n height: 100%;\n width: 100%;\n &:after {\n content: '';\n width: 60%;\n height: 40%;\n position: absolute;\n top: 20%;\n right: 20%;\n border: 0.2em solid $ax5grid-cell-checkbox-arrow-color;\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0.0;\n @include transform(rotate(-50deg));\n }\n }\n &[data-ax5grid-selected=\"true\"] {\n .checkBox {\n &:after {\n opacity: 1;\n }\n }\n }\n }\n\n &[data-ax5grid-column-attr=\"lineNumber\"] {\n }\n\n [data-ax5grid-cellHolder] {\n // 그리드 셀표현 : 그리드의 컬럼텍스트가 여기에 출력됨\n display: block;\n box-sizing: border-box;\n padding: $ax5grid-cell-padding;\n font-size: $ax5grid-font-size;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n @if ($container == \"header\") {\n //text-align: center;\n }\n\n &[data-ax5grid-text-align=\"left\"] {\n text-align: left;\n }\n &[data-ax5grid-text-align=\"center\"] {\n text-align: center;\n }\n &[data-ax5grid-text-align=\"right\"] {\n text-align: right;\n }\n &[data-ax5grid-cellHolder=\"multiLine\"] {\n white-space: normal;\n }\n\n [data-ax5grid-editor] {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 0 none;\n background: $ax5grid-bg;\n &::-ms-clear {\n display: none;\n }\n }\n\n [data-ax5select] {\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n border: 0px none;\n background: $ax5grid-bg;\n .ax5select-display {\n height: 100%;\n border-radius: 0;\n }\n }\n\n [data-ax5grid-editor=\"checkbox\"] {\n display: inline-block;\n position: relative;\n border: $ax5grid-cell-checkbox-border;\n border-radius: $ax5grid-cell-checkbox-border-radius;\n @include ax-background(top, $ax5grid-cell-checkbox-bg-colors);\n height: 100%;\n &:after {\n content: '';\n width: 60%;\n height: 40%;\n position: absolute;\n top: 20%;\n right: 20%;\n border: 0.2em solid $ax5grid-cell-checkbox-arrow-color;\n border-top: none;\n border-right: none;\n background: transparent;\n opacity: 0.0;\n @include transform(rotate(-50deg));\n }\n &[data-ax5grid-checked=\"true\"] {\n &:after {\n opacity: 1.0;\n }\n }\n }\n\n [data-ax5grid-tnode-arrow] {\n display: inline-block;\n box-sizing: content-box;\n text-align: right;\n text-shadow: 0 -1px #fff;\n padding: 0 5px 0 0;\n }\n a[data-ax5grid-tnode-arrow] {\n cursor: pointer;\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n [data-ax5grid-tnode-item=\"group\"] {\n display: inline-block;\n }\n [data-ax5grid-tnode-item=\"item\"] {\n display: inline-block;\n }\n }\n}\n\n@mixin gridRowBackground() {\n &.tr-0 {\n background: $ax5grid-row-bg-0;\n }\n &.tr-1 {\n background: $ax5grid-row-bg-1;\n }\n &.tr-2 {\n background: $ax5grid-row-bg-2;\n }\n &.tr-3 {\n background: $ax5grid-row-bg-3;\n }\n &.hover {\n background: $ax5grid-row-hover-bg;\n }\n &[data-ax5grid-grouping-tr=\"true\"] {\n background: $ax5grid-row-grouping-bg;\n }\n &[data-ax5grid-selected=\"true\"] {\n background: $ax5grid-row-selected;\n td {\n //color: #fff;\n //box-shadow: inset 1px 1px 0px 0px #fff;\n &[data-ax5grid-column-attr=\"rowSelector\"],\n &[data-ax5grid-column-attr=\"lineNumber\"] {\n box-shadow: none;\n }\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n .checkBox {\n &:after {\n opacity: 1;\n }\n }\n }\n }\n }\n &[data-ax5grid-disable-selection=\"true\"] {\n // background: $ax5grid-row-selected;\n td {\n &[data-ax5grid-column-attr=\"rowSelector\"] {\n .checkBox {\n cursor: not-allowed;\n @include ax-background(top, $ax5grid-cell-disable-checkbox-bg-colors);\n &:after {\n opacity: 0;\n }\n }\n }\n }\n }\n\n // mergeCells 대상 컬럼 배경생 통일.\n td.merged {\n background: $ax5grid-row-bg-1;\n }\n}\n\n@mixin gridPanel($container) {\n [data-ax5grid-panel] {\n @include gridBoxModal();\n position: absolute;\n overflow: hidden;\n /*\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n transform: translate3d(0, 0, 0);\n */\n\n table {\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n border: 0 none;\n width: 100%;\n @if ($container == \"header\") {\n height: 100%;\n }\n tr {\n border-bottom: 0 none;\n @include gridRowBackground();\n td {\n @include gridColumn($container);\n\n }\n }\n }\n\n &[data-ax5grid-panel=\"aside-header\"] {\n border-right: $ax5grid-aside-border;\n table {\n tr {\n td {\n text-align: center;\n }\n }\n }\n }\n &[data-ax5grid-panel=\"top-aside-body\"],\n &[data-ax5grid-panel=\"aside-body\"],\n &[data-ax5grid-panel=\"bottom-aside-body\"] {\n border-right: $ax5grid-aside-border;\n background: $ax5grid-aside-bg;\n table {\n tr {\n background: $ax5grid-aside-bg;\n td {\n text-align: center;\n box-shadow: $ax5grid-aside-column-shadow;\n }\n }\n }\n }\n\n &[data-ax5grid-panel=\"left-header\"],\n &[data-ax5grid-panel=\"top-left-body\"],\n &[data-ax5grid-panel=\"left-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"] {\n border-right: $ax5grid-frozen-line-border; /// frozen Line color\n }\n\n &[data-ax5grid-panel=\"top-aside-body\"],\n &[data-ax5grid-panel=\"top-left-body\"],\n &[data-ax5grid-panel=\"top-body\"],\n &[data-ax5grid-panel=\"top-right-body\"] {\n border-bottom: $ax5grid-frozen-line-border; /// frozen Line color\n }\n\n &[data-ax5grid-panel=\"bottom-aside-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"],\n &[data-ax5grid-panel=\"bottom-body\"],\n &[data-ax5grid-panel=\"bottom-right-body\"] {\n border-top: $ax5grid-footsum-line-border; /// footSum Line color\n }\n\n &[data-ax5grid-panel=\"bottom-aside-body\"],\n &[data-ax5grid-panel=\"bottom-left-body\"],\n &[data-ax5grid-panel=\"bottom-body\"],\n &[data-ax5grid-panel=\"bottom-right-body\"] {\n background: $ax5grid-footsum-bg;\n }\n\n [data-ax5grid-panel-scroll] {\n position: absolute;\n left: 0;\n top: 0;\n }\n }\n}\n\n@mixin scrollBar($type) {\n position: absolute;\n top: 0;\n left: 0;\n @include border-top-radius($ax5grid-scroll-bar-border-radius);\n @include border-bottom-radius($ax5grid-scroll-bar-border-radius);\n box-sizing: border-box;\n border: $ax5grid-scroll-bar-border;\n background: $ax5grid-scroll-bar-bg;\n\n @if ($type == \"vertical-bar\") {\n cursor: ns-resize;\n } @else {\n cursor: ew-resize;\n }\n\n &:hover {\n border: $ax5grid-scroll-bar-hover-border;\n background: $ax5grid-scroll-bar-hover-bg;\n }\n}\n\n@mixin resizer($type: \"horizontal\") {\n display: none;\n &.live {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n background: $ax5grid-resizer-color;\n opacity: 0.5;\n\n @if ($type == \"vertical\") {\n height: $ax5grid-resizer-size;\n width: 100%;\n cursor: row-resize;\n } @else {\n height: 100%;\n width: $ax5grid-resizer-size;\n cursor: col-resize;\n }\n\n }\n}\n\n// body\n[data-ax5grid] {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n [data-ax5grid-container=\"root\"] {\n @include gridBoxModal();\n position: relative;\n background: $ax5grid-bg;\n border: $ax5grid-border;\n overflow: hidden;\n\n [data-ax5grid-container=\"hidden\"] {\n @include gridBoxModal();\n position: absolute;\n //z-index: 100;\n left: -100%;\n top: -100%;\n height: 100%;\n width: 100%;\n }\n\n [data-ax5grid-container=\"header\"] {\n user-select: none;\n @include gridBoxModal();\n position: relative;\n overflow: hidden;\n @include ax-background(top, $ax5grid-header-column-bg-colors);\n border: 0px none;\n border-bottom: $ax5grid-header-column-border;\n @include gridPanel(\"header\");\n color: $ax5grid-header-column-color;\n [data-ax5grid-column-resizer] {\n position: absolute;\n right: 0;\n top: 0;\n width: $ax5grid-header-column-resizer-size;\n height: 100%;\n cursor: col-resize;\n &:hover {\n background: $ax5grid-header-column-resizer-color;\n opacity: 0.5;\n }\n }\n [data-ax5grid-column-sort] {\n position: relative;\n //right: 0;\n //top: 2px;\n width: 10px;\n height: 10px;\n display: inline-block;\n\n @mixin sort-arrow($arrow-size, $ratio-0, $ratio-1, $arrow-color, $opacity, $direction) {\n position: absolute;\n content: ' ';\n width: 0;\n height: 0;\n display: inline-block;\n border-left: $arrow-size/$ratio-0 solid transparent;\n border-right: $arrow-size/$ratio-0 solid transparent;\n @if ($direction == \"up\") {\n border-bottom: ($arrow-size)/$ratio-1 solid $arrow-color;\n } @else {\n border-top: ($arrow-size)/$ratio-1 solid $arrow-color;\n }\n background: transparent;\n opacity: $opacity;\n }\n\n &:before {\n top: 0;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size, 2.5, 2.2, $ax5grid-header-sorter-color, 0.3, \"up\");\n }\n &:after {\n bottom: 0;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size, 2.5, 2.2, $ax5grid-header-sorter-color, 0.3, \"down\");\n }\n\n &[data-ax5grid-column-sort-order=\"asc\"] {\n &:before {\n top: 2px;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size + 1, 2.5, 2.0, $ax5grid-header-sorter-color, 0.8, \"up\");\n }\n &:after {\n display: none;\n }\n }\n &[data-ax5grid-column-sort-order=\"desc\"] {\n &:before {\n display: none;\n }\n &:after {\n bottom: 2px;\n left: 0;\n @include sort-arrow($ax5grid-header-sorter-size + 1, 2.5, 2.0, $ax5grid-header-sorter-color, 0.8, \"down\");\n }\n }\n\n }\n [data-ax5grid-column-filter] {\n // 개발중..\n $filter-size: 10px;\n\n position: absolute;\n left: 0;\n top: 0;\n width: 10px;\n height: 10px;\n cursor: pointer;\n\n &:before {\n content: ' ';\n width: 0;\n height: 0;\n display: inline-block;\n border-left: $filter-size/2 solid transparent;\n border-right: $filter-size/2 solid transparent;\n border-top: ($filter-size) solid #000;\n background: transparent;\n opacity: 1;\n }\n\n }\n }\n\n [data-ax5grid-container=\"body\"] {\n @include gridBoxModal();\n position: relative;\n overflow: hidden;\n @include gridPanel(\"body\");\n\n /*\n @keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n [data-ax5grid-panel-scroll=\"body\"]{\n table {\n @include animation(fadein 0.3s);\n }\n }\n */\n\n }\n\n [data-ax5grid-container=\"page\"] {\n @include gridBoxModal();\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n overflow: hidden;\n @include ax-background(top, $ax5grid-page-bg-colors);\n border: 0px none;\n border-top: $ax5grid-page-border;\n\n [data-ax5grid-page=\"holder\"] {\n @include gridBoxModal();\n display: table;\n //table-layout: fixed;\n width: 100%;\n height: 100%;\n [data-ax5grid-page=\"navigation\"] {\n @include gridBoxModal();\n display: table-cell;\n vertical-align: middle;\n text-align: left;\n padding-left: $ax5grid-page-navigation-padding;\n font-size: $ax5grid-page-navigation-font-size;\n\n [data-ax5grid-page-navigation=\"holder\"] {\n display: table;\n [data-ax5grid-page-navigation=\"cell\"], [data-ax5grid-page-navigation=\"cell-paging\"] {\n display: table-cell;\n vertical-align: middle;\n }\n [data-ax5grid-page-navigation=\"cell-paging\"] {\n padding: 0 $ax5grid-page-navigation-padding;\n }\n\n [data-ax5grid-page-move] {\n box-sizing: border-box;\n min-width: $ax5grid-page-navigation-btn-min-width;\n border-radius: $ax5grid-page-navigation-btn-border-radius;\n padding: 1px;\n border: $ax5grid-page-navigation-btn-border;\n background: $ax5grid-page-navigation-btn-bg;\n font-size: $ax5grid-page-navigation-btn-font-size;\n color: $ax5grid-page-navigation-btn-color;\n outline: 0;\n\n &[data-ax5grid-page-selected=\"true\"], &:active {\n background-color: $ax5grid-page-navigation-btn-hover-bg;\n color: $ax5grid-page-navigation-btn-hover-color;\n }\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n }\n [data-ax5grid-page=\"status\"] {\n @include gridBoxModal();\n display: table-cell;\n text-align: right;\n vertical-align: middle;\n padding-right: $ax5grid-page-status-padding;\n font-size: $ax5grid-page-status-font-size;\n color: $ax5grid-page-status-color;\n }\n }\n }\n\n [data-ax5grid-container=\"scroller\"] {\n @include gridBoxModal();\n position: absolute;\n right: 0px;\n bottom: 0px;\n\n $scroller-size: 15px;\n [data-ax5grid-scroller=\"vertical\"] {\n box-sizing: border-box;\n position: absolute;\n display: none;\n right: 0;\n bottom: 0;\n width: $scroller-size;\n height: 100%;\n background: $ax5grid-scroll-track-bg;\n border-left: $ax5grid-scroll-track-border;\n\n [data-ax5grid-scroller=\"vertical-bar\"] {\n @include scrollBar(\"vertical-bar\");\n }\n }\n [data-ax5grid-scroller=\"horizontal\"] {\n box-sizing: border-box;\n position: absolute;\n display: none;\n right: 0;\n bottom: 0;\n height: $scroller-size;\n width: 100%;\n background: $ax5grid-scroll-track-bg;\n border-top: $ax5grid-scroll-track-border;\n\n [data-ax5grid-scroller=\"horizontal-bar\"] {\n @include scrollBar(\"horizontal-bar\");\n }\n }\n [data-ax5grid-scroller=\"corner\"] {\n position: absolute;\n display: none;\n right: 0px;\n bottom: 0px;\n width: $scroller-size;\n height: $scroller-size;\n\n background: $ax5grid-scroll-corner-bg;\n border-top: $ax5grid-scroll-track-border;\n border-left: $ax5grid-scroll-track-border;\n }\n }\n\n [data-ax5grid-resizer=\"horizontal\"] {\n @include resizer(\"horizontal\");\n }\n [data-ax5grid-resizer=\"vertical\"] {\n @include resizer(\"vertical\");\n }\n }\n}","$output-bourbon-deprecation-warnings: false !default;\n\n/// @type cubic-bezier\n$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);\n$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);\n$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);\n$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);\n$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);\n$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);\n\n$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);\n$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);\n$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);\n$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);\n$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);\n$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);\n$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);\n\n$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);\n$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);\n$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);\n$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);\n$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);\n$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);\n$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);\n$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);\n\n$prefix-for-webkit: true !default;\n$prefix-for-mozilla: true !default;\n$prefix-for-microsoft: true !default;\n$prefix-for-opera: true !default;\n$prefix-for-spec: true !default;\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n\n// Opacity\n@mixin opacity($opacity) {\n opacity: $opacity;\n // IE8 filter\n $opacity-ie: ($opacity * 100);\n filter: alpha(opacity=$opacity-ie);\n}\n\n@mixin keyframes($name) {\n $original-prefix-for-webkit: $prefix-for-webkit;\n $original-prefix-for-mozilla: $prefix-for-mozilla;\n $original-prefix-for-microsoft: $prefix-for-microsoft;\n $original-prefix-for-opera: $prefix-for-opera;\n $original-prefix-for-spec: $prefix-for-spec;\n\n @if $original-prefix-for-webkit {\n @include disable-prefix-for-all();\n $prefix-for-webkit: true !global;\n @-webkit-keyframes #{$name} {\n @content;\n }\n }\n\n @if $original-prefix-for-mozilla {\n @include disable-prefix-for-all();\n $prefix-for-mozilla: true !global;\n @-moz-keyframes #{$name} {\n @content;\n }\n }\n\n $prefix-for-webkit: $original-prefix-for-webkit !global;\n $prefix-for-mozilla: $original-prefix-for-mozilla !global;\n $prefix-for-microsoft: $original-prefix-for-microsoft !global;\n $prefix-for-opera: $original-prefix-for-opera !global;\n $prefix-for-spec: $original-prefix-for-spec !global;\n\n @if $original-prefix-for-spec {\n @keyframes #{$name} {\n @content;\n }\n }\n}\n\n///// bourbon support\n\n// Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content\n@mixin keyframes($name) {\n $original-prefix-for-webkit: $prefix-for-webkit;\n $original-prefix-for-mozilla: $prefix-for-mozilla;\n $original-prefix-for-microsoft: $prefix-for-microsoft;\n $original-prefix-for-opera: $prefix-for-opera;\n $original-prefix-for-spec: $prefix-for-spec;\n\n @if $original-prefix-for-webkit {\n @include disable-prefix-for-all();\n $prefix-for-webkit: true !global;\n @-webkit-keyframes #{$name} {\n @content;\n }\n }\n\n @if $original-prefix-for-mozilla {\n @include disable-prefix-for-all();\n $prefix-for-mozilla: true !global;\n @-moz-keyframes #{$name} {\n @content;\n }\n }\n\n $prefix-for-webkit: $original-prefix-for-webkit !global;\n $prefix-for-mozilla: $original-prefix-for-mozilla !global;\n $prefix-for-microsoft: $original-prefix-for-microsoft !global;\n $prefix-for-opera: $original-prefix-for-opera !global;\n $prefix-for-spec: $original-prefix-for-spec !global;\n\n @if $original-prefix-for-spec {\n @keyframes #{$name} {\n @content;\n }\n }\n}\n\n@mixin transform($property: none) {\n // none | \n @include prefixer(transform, $property, webkit moz ms o spec);\n}\n\n@mixin transform-origin($axes: 50%) {\n // x-axis - left | center | right | length | %\n // y-axis - top | center | bottom | length | %\n // z-axis - length\n @include prefixer(transform-origin, $axes, webkit moz ms o spec);\n}\n\n@mixin transform-style($style: flat) {\n @include prefixer(transform-style, $style, webkit moz ms o spec);\n}\n\n@mixin display($value) {\n // flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n } @else if $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n } @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse)\n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: normal;\n\n @if $value == row {\n $value-2009: horizontal;\n } @else if $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n } @else if $value == column {\n $value-2009: vertical;\n } @else if $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @include prefixer(box-direction, $direction, webkit moz spec);\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n // Alt values\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n } @else if $value == wrap {\n $alt-value: multiple;\n } @else if $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n } @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n } @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n } @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property($properties...) {\n -webkit-transition-property: transition-property-names($properties, \"webkit\");\n -moz-transition-property: transition-property-names($properties, \"moz\");\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function($motions...) {\n // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n\n// http://www.w3.org/TR/css3-animations/#the-animation-name-property-\n// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.\n\n@mixin animation($animations...) {\n @include prefixer(animation, $animations, webkit moz spec);\n}\n\n@mixin animation-name($names...) {\n @include prefixer(animation-name, $names, webkit moz spec);\n}\n\n@mixin animation-duration($times...) {\n @include prefixer(animation-duration, $times, webkit moz spec);\n}\n\n@mixin animation-timing-function($motions...) {\n // ease | linear | ease-in | ease-out | ease-in-out\n @include prefixer(animation-timing-function, $motions, webkit moz spec);\n}\n\n@mixin animation-iteration-count($values...) {\n // infinite | \n @include prefixer(animation-iteration-count, $values, webkit moz spec);\n}\n\n@mixin animation-direction($directions...) {\n // normal | alternate\n @include prefixer(animation-direction, $directions, webkit moz spec);\n}\n\n@mixin animation-play-state($states...) {\n // running | paused\n @include prefixer(animation-play-state, $states, webkit moz spec);\n}\n\n@mixin animation-delay($times...) {\n @include prefixer(animation-delay, $times, webkit moz spec);\n}\n\n@mixin animation-fill-mode($modes...) {\n // none | forwards | backwards | both\n @include prefixer(animation-fill-mode, $modes, webkit moz spec);\n}\n\n@mixin linear-gradient($pos, $g1, $g2: null,\n $g3: null, $g4: null,\n $g5: null, $g6: null,\n $g7: null, $g8: null,\n $g9: null, $g10: null,\n $fallback: null) {\n\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5;\n $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;\n\n // Set $g1 as the default fallback color\n $fallback-color: nth($g1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n\n@function _linear-positions-parser($pos) {\n $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings;\n $output-bourbon-deprecation-warnings: false !global;\n\n $type: type-of(nth($pos, 1));\n $spec: null;\n $degree: null;\n $side: null;\n $corner: null;\n $length: length($pos);\n // Parse Side and corner positions\n @if ($length > 1) {\n @if nth($pos, 1) == \"to\" { // Newer syntax\n $side: nth($pos, 2);\n\n @if $length == 2 { // eg. to top\n // Swap for backwards compatibility\n $degree: _position-flipper(nth($pos, 2));\n }\n @else if $length == 3 { // eg. to top left\n $corner: nth($pos, 3);\n }\n }\n @else if $length == 2 { // Older syntax (\"top left\")\n $side: _position-flipper(nth($pos, 1));\n $corner: _position-flipper(nth($pos, 2));\n }\n\n @if (\"#{$side} #{$corner}\" == \"left top\") or (\"#{$side} #{$corner}\" == \"top left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right top\") or (\"#{$side} #{$corner}\" == \"top right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"right bottom\") or (\"#{$side} #{$corner}\" == \"bottom right\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n @else if (\"#{$side} #{$corner}\" == \"left bottom\") or (\"#{$side} #{$corner}\" == \"bottom left\") {\n $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});\n }\n $spec: to $side $corner;\n }\n @else if $length == 1 {\n // Swap for backwards compatibility\n @if $type == string {\n $degree: $pos;\n $spec: to _position-flipper($pos);\n }\n @else {\n $degree: -270 - $pos; //rotate the gradient opposite from spec\n $spec: $pos;\n }\n }\n $degree: unquote($degree + \",\");\n $spec: unquote($spec + \",\");\n\n $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global;\n\n @return $degree $spec;\n}\n\n@function _position-flipper($pos) {\n @return if($pos == left, right, null)\n if($pos == right, left, null)\n if($pos == top, bottom, null)\n if($pos == bottom, top, null);\n}\n\n/// border-radius\n@mixin border-top-radius($radii) {\n border-top-left-radius: $radii;\n border-top-right-radius: $radii;\n}\n\n@mixin border-right-radius($radii) {\n border-bottom-right-radius: $radii;\n border-top-right-radius: $radii;\n}\n\n@mixin border-bottom-radius($radii) {\n border-bottom-left-radius: $radii;\n border-bottom-right-radius: $radii;\n}\n\n@mixin border-left-radius($radii) {\n border-bottom-left-radius: $radii;\n border-top-left-radius: $radii;\n}\n\n/// perspective\n@mixin perspective($depth: none) {\n @include prefixer(perspective, $depth, webkit moz spec);\n}\n\n@mixin perspective-origin($value: 50% 50%) {\n @include prefixer(perspective-origin, $value, webkit moz spec);\n}\n\n//// ellipsis\n@mixin ellipsis($width: 100%) {\n display: inline-block;\n max-width: $width;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n}","$ax5mask-z-index: 1000 !default;\n$ax5mask-bg-opacity: 0.6 !default;\n\n$ax5mask-bg: #000 !default;\n$ax5mask-text-color: #fff !default;\n$ax5mask-text-shadow:0px 1px 0px #000 !default;\n\n$ax5mask-easing-time-open: 0.25s !default;\n$ax5mask-easing-time-close: 0.25s !default;\n\n@mixin ax-mask() {\n position: absolute;\n}\n\n@mixin ax-panel-mask() {\n position: absolute;\n}\n\n// mixins --------------------------------------------- end\n\n@include keyframes(ax-mask) {\n from {\n opacity: 0.0;\n }\n to {\n opacity: $ax5mask-bg-opacity;\n }\n}\n\n@include keyframes(ax-mask-fade-out) {\n from {\n opacity: $ax5mask-bg-opacity;\n }\n to {\n opacity: 0.0;\n }\n}\n\n.ax-masking {\n -webkit-filter: blur(3px);\n //position: fixed;\n @include transform(scale(0.96));\n @include transform(translateZ(0));\n}\n\n.ax-mask {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n z-index: $ax5mask-z-index;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n .ax-mask-bg {\n z-index: 1;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: $ax5mask-bg;\n opacity: $ax5mask-bg-opacity;\n }\n .ax-mask-content {\n z-index: 2;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: table;\n vertical-align: middle;\n text-align: center;\n color: $ax5mask-text-color;\n text-shadow: $ax5mask-text-shadow;\n * {\n color: inherit;\n }\n > div {\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n }\n }\n\n &.fade-out {\n @include animation(ax-mask-fade-out $ax5mask-easing-time-close);\n opacity: 0.0;\n }\n}","//==============\n//== modal\n$ax5modal-z-index: 2000 !default;\n$ax5modal-box-model: border-box !default;\n$ax5modal-bg: #fff !default;\n$ax5modal-border: 1px solid #ddd !default;\n$ax5modal-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.60) !default;\n$ax5modal-body-padding: 0px !default;\n$ax5modal-header-padding: 10px 15px !default;\n\n$ax5modal-header-addon-padding: 10px 10px !default;\n$ax5modal-header-addon-btn-padding: 0px 2px !default;\n\n$ax5modal-border-radius: 4px !default;\n$ax5modal-easing-time-open: 0.3s !default;\n$ax5modal-easing-time-close: 0.3s !default;\n$ax5modal-easing-open: $ease-out-back !default;\n$ax5modal-easing-close: $ease-out-back !default;\n\n//== modal resizer\n$ax5modal-resizer-bg: #ccc !default;\n$ax5modal-resizer-border: 1px solid #ff0000 !default;\n$ax5modal-resizer-box-shaodw: 0px 0px 5px 0px rgba(0, 0, 0, 0.60) !default;\n$ax5modal-resizer-opacity : 0.3 !default;\n\n//** Border color for elements within dialog\n$ax5modal-default-text: #222 !default;\n$ax5modal-default-border: 1px solid #ddd !default;\n$ax5modal-default-header-bg: #f5f5f5 !default;\n\n@mixin ax-modal() {\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n background-color: $ax5modal-bg;\n border: $ax5modal-border;\n\n @include ax-border-radius($ax5modal-border-radius);\n @include box-shadow($ax5modal-box-shadow);\n\n z-index: $ax5modal-z-index;\n position: fixed;\n left: 0px;\n top: 0px;\n //overflow: hidden;\n box-sizing: content-box;\n}\n\n@mixin ax-modal-section() {\n .ax-modal-header {\n user-select: none;\n //font-size: 1em;\n font-weight: 600;\n padding: $ax5modal-header-padding;\n border-bottom: 1px solid transparent;\n border-top-left-radius: $ax5modal-border-radius;\n border-top-right-radius: $ax5modal-border-radius;\n\n cursor: move;\n .ax-modal-header-addon{\n position: absolute;\n right: 0px;\n top: 0px;\n padding: $ax5modal-header-addon-padding;\n [data-modal-header-btn]{\n border: 0;\n padding: $ax5modal-header-addon-btn-padding;\n background: transparent;\n display: inline-block;\n text-align: center;\n cursor: pointer;\n outline: 0;\n }\n }\n }\n .ax-modal-body {\n border-bottom-left-radius: $ax5modal-border-radius;\n border-bottom-right-radius: $ax5modal-border-radius;\n\n padding: $ax5modal-body-padding;\n text-align: center;\n @include flex(1);\n position: relative;\n overflow: hidden;\n\n iframe {\n border: 0 none;\n }\n\n .fadeIn{\n @include animation(ax-modal-fade-in $ax5modal-easing-time-open $ease-out-back forwards);\n }\n .fadeOut{\n @include animation(ax-modal-fade-out $ax5modal-easing-time-open $ease-out-back forwards);\n }\n }\n}\n\n@mixin modal-variant($text-color, $border, $header-bg-color) {\n .ax-modal-header {\n color: $text-color;\n background: $header-bg-color;\n .ax-modal-header-addon{\n a{\n color: $text-color;\n outline: 0;\n }\n }\n }\n .ax-modal-body {\n\n }\n}\n\n@include keyframes(ax-modal) {\n 0% {\n opacity: 0.0;\n //@include transform(translateY(20%));\n @include transform(scale(0.8));\n }\n 100% {\n opacity: 1.0;\n @include transform(scale(1.0));\n }\n /*\n 0% {\n opacity: 0.0;\n -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 0.1% {\n opacity: 1.0;\n -webkit-transform: matrix3d(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 5.9% {\n -webkit-transform: matrix3d(0.711, 0, 0, 0, 0, 0.742, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.711, 0, 0, 0, 0, 0.742, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 7.7% {\n -webkit-transform: matrix3d(0.768, 0, 0, 0, 0, 0.812, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.768, 0, 0, 0, 0, 0.812, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 11.5% {\n -webkit-transform: matrix3d(0.869, 0, 0, 0, 0, 0.935, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.869, 0, 0, 0, 0, 0.935, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 11.7% {\n -webkit-transform: matrix3d(0.873, 0, 0, 0, 0, 0.94, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.873, 0, 0, 0, 0, 0.94, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 15.2% {\n -webkit-transform: matrix3d(0.941, 0, 0, 0, 0, 1.014, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.941, 0, 0, 0, 0, 1.014, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 17.5% {\n -webkit-transform: matrix3d(0.973, 0, 0, 0, 0, 1.045, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.973, 0, 0, 0, 0, 1.045, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 19% {\n -webkit-transform: matrix3d(0.99, 0, 0, 0, 0, 1.058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.99, 0, 0, 0, 0, 1.058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 22.8% {\n -webkit-transform: matrix3d(1.019, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.019, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 23.2% {\n -webkit-transform: matrix3d(1.021, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.021, 0, 0, 0, 0, 1.071, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 30.3% {\n -webkit-transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 30.4% {\n -webkit-transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.036, 0, 0, 0, 0, 1.049, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 37.5% {\n -webkit-transform: matrix3d(1.028, 0, 0, 0, 0, 1.016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.028, 0, 0, 0, 0, 1.016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 44.6% {\n -webkit-transform: matrix3d(1.016, 0, 0, 0, 0, 0.997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.016, 0, 0, 0, 0, 0.997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 50.3% {\n -webkit-transform: matrix3d(1.008, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.008, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 51.7% {\n -webkit-transform: matrix3d(1.006, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1.006, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 70.3% {\n -webkit-transform: matrix3d(0.998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 80.3% {\n -webkit-transform: matrix3d(0.999, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(0.999, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n 100% {\n -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n */\n}\n\n@include keyframes(ax-modal-destroy) {\n /*\n from {\n @include transform(scale(1));\n opacity: 1.0;\n }\n to {\n @include transform(scale(0.5));\n opacity: 0.0;\n }\n */\n 100% {\n opacity: 0.0;\n @include transform(translateY(20%));\n }\n 0% {\n opacity: 1.0;\n @include transform(translateY(0));\n }\n\n}\n\n@include keyframes(ax-modal-fullscreen) {\n 0% {\n @include transform(translateY(20%));\n }\n 100% {\n @include transform(translateY(0));\n }\n}\n\n@include keyframes(ax-modal-fullscreen-destroy) {\n 0% {\n @include transform(translateY(0));\n }\n 100% {\n @include transform(translateY(100%));\n }\n}\n\n@include keyframes(ax-modal-fade-in){\n 0% {\n opacity: 0.0;\n }\n 100% {\n opacity: 1.0;\n }\n}\n\n@include keyframes(ax-modal-fade-out){\n 0% {\n opacity: 1.0;\n }\n 100% {\n opacity: 0.0;\n }\n}\n\n// mixins --------------------------------------------- end\n\n.ax5modal {\n * {\n box-sizing: border-box;\n }\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n @include animation(ax-modal $ax5modal-easing-time-open $ax5modal-easing-open forwards);\n @include transform(translateZ(0px));\n //@include transition(all $ax5modal-easing-time-open linear);\n\n @include ax-modal();\n @include ax-modal-section();\n @include modal-variant($ax5modal-default-text, $ax5modal-default-border, $ax5modal-default-header-bg);\n\n &.destroy {\n @include animation(ax-modal-destroy $ax5modal-easing-time-close $ax5modal-easing-close forwards);\n }\n\n &.fullscreen {\n border: 0px none;\n @include ax-border-radius(0px);\n @include box-shadow(none);\n @include animation(ax-modal-fullscreen $ax5modal-easing-time-open $ease-out-back forwards);\n\n &.destroy {\n @include animation(ax-modal-fullscreen-destroy $ax5modal-easing-time-close $ease-out-expo forwards);\n }\n }\n\n &.draged{\n .ax-modal-header {\n opacity: 0.5;\n }\n .ax-modal-body {\n opacity: 0.5;\n }\n }\n [data-ax5modal-resizer]{\n position: absolute;\n display: block;\n &:before{\n position: absolute;\n content: ' ';\n display: block;\n width: auto;\n height: auto;\n left: auto;\n top: auto;\n right: auto;\n bottom: auto;\n //background: #ff3300;\n //opacity: 0.3;\n }\n\n &[data-ax5modal-resizer=\"top\"]{\n left: 0;\n top: 0;\n width: 100%;\n height: 0;\n\n &:before{\n width: 100%;\n height: 8px;\n left: 0;\n top: -4px;\n cursor: row-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom\"]{\n left: 0;\n bottom: 0;\n width: 100%;\n height: 0;\n\n &:before{\n width: 100%;\n height: 8px;\n left: 0;\n top: -4px;\n cursor: row-resize;\n }\n }\n &[data-ax5modal-resizer=\"left\"]{\n left: 0;\n top: 0;\n width: 0;\n height: 100%;\n\n &:before{\n width: 8px;\n height: 100%;\n left: -4px;\n top: 0;\n cursor: col-resize;\n }\n }\n &[data-ax5modal-resizer=\"right\"]{\n right: 0;\n top: 0;\n width: 0;\n height: 100%;\n\n &:before{\n width: 8px;\n height: 100%;\n left: -4px;\n top: 0;\n cursor: col-resize;\n }\n }\n &[data-ax5modal-resizer=\"top-left\"]{\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nwse-resize;\n }\n }\n &[data-ax5modal-resizer=\"top-right\"]{\n right: 0;\n top: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nesw-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom-left\"]{\n left: 0;\n bottom: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nesw-resize;\n }\n }\n &[data-ax5modal-resizer=\"bottom-right\"]{\n right: 0;\n bottom: 0;\n width: 0;\n height: 0;\n\n &:before{\n width: 8px;\n height: 8px;\n left: -4px;\n top: -4px;\n cursor: nwse-resize;\n }\n }\n }\n}\n\n// resizer가 활성화 되면 리사이저 백그라운드도 함께 활성화 됩니다. 백그라운드는 페이지 전체를 투명 레이어로 덮어 리사이저가 자유롭게 활동 하도록 도와 줍니다.\n.ax5modal-resizer-background{\n position: fixed;\n left: 0px;\n top: 0px;\n width: 100%;\n height: 100%;\n background: transparent;\n z-index: $ax5modal-z-index;\n //opacity: 0.1;\n cursor: move;\n}\n.ax5modal-resizer{\n position: absolute;\n left: 0px;\n top: 0px;\n\n z-index: $ax5modal-z-index + 1;\n cursor: move;\n\n box-sizing: $ax5modal-box-model;\n background-color: $ax5modal-resizer-bg;\n border: $ax5modal-resizer-border;\n opacity: $ax5modal-resizer-opacity;\n\n @include ax-border-radius($ax5modal-border-radius);\n @include box-shadow($ax5modal-box-shadow);\n}","//============== toast\n$ax5toast-z-index: 2000;\n// 0:left,top / 1:right,top / 2:right,bottom / 3:left,bottom\n$ax5toast-container-width: auto !default;\n$ax5toast-container-padding: 10px !default;\n$ax5toast-box-model: border-box !default;\n$ax5toast-border: 1px solid rgb(255/2, 255/2, 255/2) !default;\n$ax5toast-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.175) !default;\n$ax5toast-body-padding: 6px !default;\n$ax5toast-border-radius: 8px !default;\n$ax5toast-opacity: 0.9 !default;\n$ax5toast-box-margin: 5px 0px 5px 0px !default;\n$ax5toast-icon-size: 24px;\n$ax5toast-easing: $ease-in-out-quint;\n$ax5toast-easing-time: 0.3s;\n\n//** Border color for elements within toast\n$ax5toast-default-text: #282828 !default;\n$ax5toast-default-bg: #fff !default;\n$ax5toast-default-color: $body-color !default;\n\n$ax5toast-primary-text: $brand-primary !default;\n$ax5toast-primary-bg: #fff !default;\n$ax5toast-primary-color: $brand-primary !default;\n\n$ax5toast-success-text: $brand-success !default;\n$ax5toast-success-bg: #fff !default;\n$ax5toast-success-color: $brand-success !default;\n\n$ax5toast-info-text: $brand-info !default;\n$ax5toast-info-bg: #fff !default;\n$ax5toast-info-color: $brand-info !default;\n\n$ax5toast-warning-text: #fff !default;\n$ax5toast-warning-bg: $brand-warning !default;\n$ax5toast-warning-color: $brand-warning !default;\n\n$ax5toast-danger-text: #fff !default;\n$ax5toast-danger-bg: $brand-warning !default;\n$ax5toast-danger-color: $brand-danger !default;\n\n@mixin ax-toast() {\n box-sizing: $ax5toast-box-model;\n border: $ax5toast-border;\n opacity: $ax5toast-opacity;\n\n @include ax-border-radius($ax5toast-border-radius);\n box-shadow: $ax5toast-box-shadow;\n position: relative;\n margin: $ax5toast-box-margin;\n}\n\n@mixin ax-toast-section() {\n display: table;\n padding: $ax5toast-body-padding;\n .ax-toast-icon {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: left;\n font-size: $ax5toast-icon-size;\n width: $ax5toast-icon-size;\n vertical-align: middle;\n }\n .ax-toast-body {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: left;\n vertical-align: middle;\n }\n .ax-toast-buttons {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: right;\n vertical-align: middle;\n button {\n &:not(:last-child) {\n margin-right: 3px;\n }\n }\n }\n .ax-toast-close {\n display: table-cell;\n padding: $ax5toast-body-padding;\n text-align: right;\n vertical-align: top;\n text-decoration: none;\n cursor: pointer;\n }\n}\n\n@mixin toast-variant($text-color, $bg-color, $color) {\n background: $bg-color;\n color: $text-color;\n .ax-toast-icon {\n color: $color;\n }\n .ax-toast-close {\n color: $text-color;\n }\n}\n\n@include keyframes(ax-toast-bottom) {\n from {\n @include transform(translateY(-100px) scale(0.7));\n }\n to {\n //@include opacity($mask-bg-opacity);\n @include transform(translateY(0px) scale(1))\n }\n}\n\n@include keyframes(ax-toast-top) {\n from {\n @include transform(translateY(100px) scale(0.7));\n }\n to {\n //@include opacity($mask-bg-opacity);\n @include transform(translateY(0px) scale(1))\n }\n}\n\n@include keyframes(ax-toast-removed-bottom) {\n from {\n @include transform(translateY(0px));\n opacity: 1.0;\n }\n to {\n @include transform(translateY(10px) scale(0.7));\n opacity: 0.0;\n }\n}\n\n@include keyframes(ax-toast-removed-top) {\n from {\n @include transform(translateY(0px));\n opacity: 1.0;\n }\n to {\n @include transform(translateY(-10px) scale(0.7));\n opacity: 0.0;\n }\n}\n\n@include keyframes(ax-toast-destroy) {\n from {\n @include transform(scale(1));\n opacity: 1.0;\n }\n to {\n @include transform(scale(1.5));\n opacity: 0.0;\n }\n}\n\n// mixins --------------------------------------------- end\n\n.ax5-ui-toast-container {\n z-index: $ax5toast-z-index;\n position: fixed;\n width: $ax5toast-container-width;\n padding: $ax5toast-container-padding;\n\n box-sizing: border-box;\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n\n .ax5-ui-toast {\n @include ax-toast();\n @include ax-toast-section();\n @include transition(all $ax5toast-easing-time ease-in-out);\n\n @include toast-variant($ax5toast-default-text, $ax5toast-default-bg, $ax5toast-default-color);\n\n &.primary {\n @include toast-variant($ax5toast-primary-text, $ax5toast-primary-bg, $ax5toast-primary-color);\n }\n &.success {\n @include toast-variant($ax5toast-success-text, $ax5toast-success-bg, $ax5toast-success-color);\n }\n &.info {\n @include toast-variant($ax5toast-info-text, $ax5toast-info-bg, $ax5toast-info-color);\n }\n &.warning {\n @include toast-variant($ax5toast-warning-text, $ax5toast-warning-bg, $ax5toast-warning-color);\n }\n &.danger {\n @include toast-variant($ax5toast-danger-text, $ax5toast-danger-bg, $ax5toast-danger-color);\n }\n }\n\n &.bottom-left {\n left: 0;\n bottom: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-top $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-bottom $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n &.bottom-right {\n right: 0;\n bottom: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-top $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-bottom $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n\n }\n\n &.top-left {\n left: 0;\n top: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-bottom $ax5toast-easing-time $ax5toast-easing);\n\n &.removed {\n @include animation(ax-toast-removed-top $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n\n &.top-right {\n right: 0;\n top: 0;\n\n .ax5-ui-toast {\n @include animation(ax-toast-bottom $ax5toast-easing-time $ax5toast-easing);\n &.removed {\n @include animation(ax-toast-removed-top $ax5toast-easing-time ease forwards);\n }\n &.destroy {\n @include animation(ax-toast-destroy $ax5toast-easing-time ease forwards);\n }\n }\n }\n\n}\n\n","\r\n.ui-datepicker {\r\n padding:0;\r\n font-family:inherit;\r\n\r\n .ui-icon {\r\n background-image:none;\r\n }\r\n\r\n &.ui-widget.ui-widget-content {\r\n border:0 none;\r\n box-shadow:0 0 10px rgba(#000, 0.4);\r\n }\r\n\r\n th {\r\n font-weight:400;\r\n }\r\n\r\n td {\r\n padding:0;\r\n text-align:center;\r\n\r\n .ui-state-default {\r\n background-color:transparent;\r\n border:0 none;\r\n text-align:center;\r\n\r\n &:hover {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n }\r\n }\r\n\r\n .ui-state-highlight {\r\n color:$brand-primary;\r\n }\r\n\r\n .ui-state-active {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n }\r\n\r\n }\r\n\r\n .ui-widget-header {\r\n background-color:$brand-primary;\r\n color:#fff;\r\n border:0 none;\r\n border-bottom-left-radius:0;\r\n border-bottom-right-radius:0;\r\n }\r\n\r\n .ui-datepicker-header {\r\n padding:0;\r\n height:30px;\r\n @include display-flex();\r\n align-items: center;\r\n }\r\n\r\n .ui-datepicker-prev,\r\n .ui-datepicker-next {\r\n text-align: center;\r\n width:30px;\r\n height:30px;\r\n top:0px;\r\n @include display-flex();\r\n align-items: center;\r\n justify-content: center;\r\n border-radius:0px;\r\n\r\n &.ui-datepicker-prev-hover,\r\n &.ui-datepicker-next-hover{\r\n background-color:darken($brand-primary, 7.5%);\r\n color:#fff;\r\n border:0 none;\r\n cursor:pointer;\r\n }\r\n }\r\n\r\n .ui-datepicker-prev {\r\n left:0;\r\n }\r\n\r\n .ui-datepicker-next {\r\n right:0;\r\n }\r\n\r\n .ui-datepicker-title {\r\n width:100%;\r\n select {\r\n vertical-align: middle;\r\n background: transparent;\r\n border: 0 none;\r\n color: #fff;\r\n height:30px;\r\n line-height:30px;\r\n outline: 0 none !important;\r\n text-align:center;\r\n margin:0;\r\n font-family:inherit;\r\n\r\n option {\r\n color:#333;\r\n }\r\n }\r\n }\r\n}","#login-form {\r\n width:100%;\r\n height:100%;\r\n display:flex;\r\n background:url(../images/admin/login-bg.jpg);\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .login-logo {\r\n font-size:32px;\r\n font-weight:900;\r\n color:#fff;\r\n -webkit-animation: SLIDE-UP 0.6s linear forwards;\r\n -o-animation: SLIDE-UP 0.6s linear forwards;\r\n animation: SLIDE-UP 0.6s linear forwards;\r\n margin-bottom:20px;\r\n text-align:center;\r\n }\r\n\r\n .login-notice {\r\n color:#ccc;\r\n font-size:12px;\r\n text-align:center;\r\n letter-spacing: -0.04em;\r\n margin-top:10px;\r\n }\r\n .login-panel {\r\n -webkit-animation: SLIDE-DOWN 0.6s linear forwards;\r\n -o-animation: SLIDE-DOWN 0.6s linear forwards;\r\n animation: SLIDE-DOWN 0.6s linear forwards;\r\n border:1px solid #788694;\r\n width: 320px;\r\n box-shadow: 0 0 10px #000;\r\n border-radius: 8px;\r\n overflow: hidden;\r\n background: rgba(0,0,0,0.5);\r\n margin:0 auto;\r\n\r\n .login-heading {\r\n padding: 10px 15px;\r\n border-top-right-radius: 2px;\r\n border-top-left-radius: 2px;\r\n color: #ccc;\r\n border-bottom: 1px solid #788694;\r\n font-size: 0.9em;\r\n background: rgba(255,255,255,0.1);\r\n text-align:center;\r\n }\r\n\r\n .login-body {\r\n padding: 20px 20px;\r\n color: #eee;\r\n text-align: left;\r\n }\r\n\r\n .form-control {\r\n background:transparent;\r\n text-align:center;\r\n color:#fff;\r\n border: #ccc 1px solid;\r\n }\r\n\r\n .btn {\r\n background:#000;\r\n color:#fff;\r\n border:1px solid #ccc;\r\n padding: 10px;\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/public_html/assets/images/admin/frm-select-arrow.png b/public_html/assets/images/admin/frm-select-arrow.png new file mode 100644 index 0000000..ae3dd4f Binary files /dev/null and b/public_html/assets/images/admin/frm-select-arrow.png differ diff --git a/public_html/assets/js/admin.min.js b/public_html/assets/js/admin.min.js index 3676901..dceea0f 100644 --- a/public_html/assets/js/admin.min.js +++ b/public_html/assets/js/admin.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=3)}([function(t,e,i){var n,a,o,r;r=function(t,e){"use strict";var i,n=(i=e)&&i.__esModule?i:{default:i};var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};var o=function(){function t(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var i=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=i+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,n.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,n.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":a(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}();t.exports=r},a=[t,i(7)],void 0===(o="function"==typeof(n=r)?n.apply(e,a):n)||(t.exports=o)},function(t,e,i){var n=i(6),a=i(5);t.exports=function(t,e,i){if(!t&&!e&&!i)throw new Error("Missing required arguments");if(!n.string(e))throw new TypeError("Second argument must be a String");if(!n.fn(i))throw new TypeError("Third argument must be a Function");if(n.node(t))return function(t,e,i){return t.addEventListener(e,i),{destroy:function(){t.removeEventListener(e,i)}}}(t,e,i);if(n.nodeList(t))return function(t,e,i){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,i)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,i)})}}}(t,e,i);if(n.string(t))return function(t,e,i){return a(document.body,t,e,i)}(t,e,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(t,e){function i(){}i.prototype={on:function(t,e,i){var n=this.e||(this.e={});return(n[t]||(n[t]=[])).push({fn:e,ctx:i}),this},once:function(t,e,i){var n=this;function a(){n.off(t,a),e.apply(i,arguments)}return a._=e,this.on(t,a,i)},emit:function(t){for(var e=[].slice.call(arguments,1),i=((this.e||(this.e={}))[t]||[]).slice(),n=0,a=i.length;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===l(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,r.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return h("action",t)}},{key:"defaultTarget",value:function(t){var e=h("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return h("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,i=!!document.queryCommandSupported;return e.forEach(function(t){i=i&&!!document.queryCommandSupported(t)}),i}}]),e}();function h(t,e){var i="data-clipboard-"+t;if(e.hasAttribute(i))return e.getAttribute(i)}t.exports=u},a=[t,i(0),i(2),i(1)],void 0===(o="function"==typeof(n=r)?n.apply(e,a):n)||(t.exports=o)},function(t,e){var i=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&t.nodeType!==i;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},function(t,e,i){var n=i(4);function a(t,e,i,a,o){var r=function(t,e,i,a){return function(i){i.delegateTarget=n(i.target,e),i.delegateTarget&&a.call(t,i)}}.apply(this,arguments);return t.addEventListener(i,r,o),{destroy:function(){t.removeEventListener(i,r,o)}}}t.exports=function(t,e,i,n,o){return"function"==typeof t.addEventListener?a.apply(null,arguments):"function"==typeof i?a.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return a(t,e,i,n,o)}))}},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var i=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===i||"[object HTMLCollection]"===i)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var i=t.hasAttribute("readonly");i||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),i||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),a=document.createRange();a.selectNodeContents(t),n.removeAllRanges(),n.addRange(a),e=n.toString()}return e}}])}),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=/\+/g;function i(t){return a.raw?t:encodeURIComponent(t)}function n(i,n){var o=a.raw?i:function(t){0===t.indexOf('"')&&(t=t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return t=decodeURIComponent(t.replace(e," ")),a.json?JSON.parse(t):t}catch(t){}}(i);return t.isFunction(n)?n(o):o}var a=t.cookie=function(e,o,r){if(arguments.length>1&&!t.isFunction(o)){if("number"==typeof(r=t.extend({},a.defaults,r)).expires){var s=r.expires,l=r.expires=new Date;l.setMilliseconds(l.getMilliseconds()+864e5*s)}return document.cookie=[i(e),"=",function(t){return i(a.json?JSON.stringify(t):String(t))}(o),r.expires?"; expires="+r.expires.toUTCString():"",r.path?"; path="+r.path:"",r.domain?"; domain="+r.domain:"",r.secure?"; secure":""].join("")}for(var c,u=e?void 0:{},h=document.cookie?document.cookie.split("; "):[],d=0,f=h.length;d0&&t.on("submit",function(){$.blockUI({css:{width:"25px",top:"49%",left:"49%",border:"0px none",backgroundColor:"transparent",cursor:"wait"},message:'로딩중',baseZ:1e4,overlayCSS:{opacity:0}})})});var DateFormatter,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};(function(){"use strict";var t=this,e=this,i=e?e.document:null,n=(e&&e.document.documentElement,/^(["'](\\.|[^"\\\n\r])*?["']|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/),a=/^-ms-/,o=/[\-_]([\da-z])/gi,r=/([A-Z])/g,s=/\./,l=/[-|+]?[\D]/gi,c=/\D/gi,u=new RegExp("([0-9])([0-9][0-9][0-9][,.])"),h=/&/g,d=/=/,f=/[ ]+/g,p={},m=void 0,g=void 0;p.guid=1,p.getGuid=function(){return p.guid++},p.info=m=function(){var t=arguments,n=function(t,i,n,a,o,r){return e&&e.navigator?(i=-1!=(t=navigator.userAgent.toLowerCase()).search(/mobile/g),-1!=t.search(/iphone/g)?{name:"iphone",version:0,mobile:!0}:-1!=t.search(/ipad/g)?{name:"ipad",version:0,mobile:!0}:-1!=t.search(/android/g)?{name:"android",version:(a=/(android)[ \/]([\w.]+)/.exec(t)||[])[2]||"0",mobile:i}:("","msie"==(o=(a=/(opr)[ \/]([\w.]+)/.exec(t)||/(chrome)[ \/]([\w.]+)/.exec(t)||/(webkit)[ \/]([\w.]+)/.exec(t)||/(msie) ([\w.]+)/.exec(t)||t.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t)||[])[1]||"")&&(o="ie"),{name:o,version:a[2]||"0",mobile:i})):{}}(),a=!("undefined"==typeof window||"undefined"==typeof navigator||!e.document),o=e&&/Firefox/i.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel";return{errorMsg:{},version:"1.4.126",baseUrl:"",onerror:function(){console.error(g.toArray(t).join(":"))},eventKeys:{BACKSPACE:8,TAB:9,RETURN:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,HOME:36,END:35,PAGEUP:33,PAGEDOWN:34,INSERT:45,SPACE:32},weekNames:[{label:"SUN"},{label:"MON"},{label:"TUE"},{label:"WED"},{label:"THU"},{label:"FRI"},{label:"SAT"}],browser:n,isBrowser:a,supportTouch:!!e&&("ontouchstart"in e||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),supportFileApi:!!e&&(e.FileReader&&e.File&&e.FileList&&e.Blob),wheelEnm:o,urlUtil:function(t,n){return n=(t={href:e.location.href,param:e.location.search,referrer:i.referrer,pathname:e.location.pathname,hostname:e.location.hostname,port:e.location.port}).href.split(/[\?#]/),t.param=t.param.replace("?",""),t.url=n[0],t.href.search("#")>-1&&(t.hashdata=g.last(n)),n=null,t.baseUrl=g.left(t.href,"?").replace(t.pathname,""),t},getError:function(t,e,i){return m.errorMsg&&m.errorMsg[t]?{className:t,errorCode:e,methodName:i,msg:m.errorMsg[t][e]}:{className:t,errorCode:e,methodName:i}}}}(),p.util=g=function(){var v=Object.prototype.toString;function y(t,e){if(M(t))return[];var i=void 0,n=0,a=t.length;if(void 0===a||"function"==typeof t){for(i in t)if(void 0!==t[i]&&!1===e.call(t[i],i,t[i]))break}else for(;n0&&(e+=","),e+=_(t[i]);e+="]"}else if(p.util.isObject(t)){e+="{";var a=[];y(t,function(t,e){a.push('"'+t+'": '+_(e))}),e+=a.join(", "),e+="}"}else e=p.util.isString(t)?'"'+t+'"':p.util.isNumber(t)?t:p.util.isUndefined(t)?"undefined":p.util.isFunction(t)?'"{Function}"':t;return e}function b(t){return"[object Object]"==v.call(t)}function w(t){return"[object Array]"==v.call(t)}function k(t){return"function"==typeof t}function x(t){return"[object String]"==v.call(t)}function D(t){return"[object Number]"==v.call(t)}function M(t){return null==t||""===t}function T(t,e){return void 0===t||void 0===e?"":x(e)?t.indexOf(e)>-1?t.substr(0,t.indexOf(e)):"":D(e)?t.substr(0,e):""}function C(t,e){return void 0===t||void 0===e?"":(t=""+t,x(e)?t.lastIndexOf(e)>-1?t.substr(t.lastIndexOf(e)+1):"":D(e)?t.substr(t.length-e):"")}function S(t){return t.replace(a,"ms-").replace(o,function(t,e){return e.toUpperCase()})}function P(t){return S(t).replace(r,function(t,e){return"-"+e.toLowerCase()})}function A(t,e){var i,n,a,o=(""+t).split(s);return n=Number(o[0].replace(/,/g,""))<0||"-0"==o[0],a=0,o[0]=o[0].replace(l,""),o[1]?(o[1]=o[1].replace(c,""),a=Number(o[0]+"."+o[1])||0):a=Number(o[0])||0,i=n?-a:a,y(e,function(t,e){var n,a;"round"==t&&(i=D(e)?e<0?+(Math.round(i+"e-"+Math.abs(e))+"e+"+Math.abs(e)):+(Math.round(i+"e+"+e)+"e-"+e):Math.round(i)),"floor"==t&&(i=Math.floor(i)),"ceil"==t?i=Math.ceil(i):"money"==t?i=function(t){var e=""+i;if(isNaN(e)||""==e)return"";var n=e.split(".");n[0]+=".";do{n[0]=n[0].replace(u,"$1,$2")}while(u.test(n[0]));return n.length>1?n.join(""):n[0].split(".")[0]}():"abs"==t?i=Math.abs(Number(i)):"byte"==t&&(n="KB",(a=Number(i)/1024)/1024>1&&(n="MB",a/=1024),a/1024>1&&(n="GB",a/=1024),i=A(a,{round:1})+n)}),i}function I(t,e,i,n,a,o){var r;return new Date,e<0&&(e=0),void 0===n&&(n=12),void 0===a&&(a=0),r=new Date(Date.UTC(t,e,i||1,n,a,o||0)),0==e&&1==i&&r.getUTCHours()+r.getTimezoneOffset()/60<0?r.setUTCHours(0):r.setUTCHours(r.getUTCHours()+r.getTimezoneOffset()/60),r}function O(t,e){var i,n,a,o,r,s,l,c,u,h,d,f,p,g,v,y=void 0,_=void 0,b=void 0,w=void 0,k=void 0,D=void 0,M=void 0,T=void 0,S=void 0,P=void 0;if(x(t))if(0==t.length)t=new Date;else if(t.length>15)/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i.test(t)||/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i.test(t)?t=new Date(t):(y=(S=(D=t.split(/ /g))[0].split(/\D/g))[0],_=parseFloat(S[1]),b=parseFloat(S[2]),M=(T=D[1]||"09:00").substring(0,5).split(":"),w=parseFloat(M[0]),k=parseFloat(M[1]),"AM"!==C(T,2)&&"PM"!==C(T,2)||(w+=12),t=I(y,_-1,b,w,k));else if(14==t.length)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,A(P.substr(6,2)),A(P.substr(8,2)),A(P.substr(10,2)),A(P.substr(12,2)));else if(t.length>7)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,A(P.substr(6,2)));else if(t.length>4)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,1);else{if(t.length>2)return I((P=t.replace(/\D/g,"")).substr(0,4),P.substr(4,2)-1,1);t=new Date}return void 0===e||void 0===t?t:("add"in e&&(t=function(t,e){var i=void 0,n=void 0,a=void 0,o=void 0;return void 0!==e.d?t.setTime(t.getTime()+864e5*e.d):void 0!==e.m?(i=t.getFullYear(),n=t.getMonth(),a=t.getDate(),(o=E(i+=parseInt(e.m/12),n+=e.m%12))=e||i<0||h&&t-c>=o}function m(){var t=Date.now();if(p(t))return g(t);s=setTimeout(m,function(t){var i=t-c,n=e-(t-l);return h?Math.min(n,o-i):n}(t))}function g(t){return s=void 0,d&&n?f(t):(n=a=void 0,r)}function v(){for(var t=Date.now(),i=p(t),o=arguments.length,d=Array(o),g=0;g\&\"]/gm,function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";case'"':return""";default:return t}}):""}function Y(t){return"[object String]"!=v.call(t)?t:t?t.replace(/(<)|(>)|(&)|(")/gm,function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";case""":return'"';default:return t}}):""}return{alert:function(t){return e.alert(_(t)),t},each:y,map:function(t,e){if(M(t))return[];var i=void 0,n=0,a=t.length,o=[],r=void 0;if(b(t)){for(i in t)if(void 0!==t[i]){if(r=void 0,!1===(r=e.call(t[i],i,t[i])))break;o.push(r)}}else for(;n0&&(void 0===e[n]||!1!==(a=i.call(t,a,e[--n]))););return a},filter:function(t,e){if(M(t))return[];var i,n=0,a=t.length,o=[];if(b(t))for(i in t)void 0!==t[i]&&e.call(t[i],i,t[i])&&o.push(t[i]);else for(;n7&&O(t)instanceof Date)return!0;if((t=t.replace(/\D/g,"")).length>7){var i=t.substr(4,2),n=t.substr(6,2);(t=O(t)).getMonth()==i-1&&t.getDate()==n&&(e=!0)}}return e},stopEvent:function(t){t||(t=window.event);return t.cancelBubble=!0,t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1},selectRange:W,debounce:H,throttle:function(t,e,i){var n=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return b(i)&&(n="leading"in i?!!i.leading:n,a="trailing"in i?!!i.trailing:a),H(t,e,{leading:n,maxWait:e,trailing:a})},escapeHtml:z,unescapeHtml:Y,string:function(t){return new function(t){this.value=t,this.toString=function(){return this.value},this.format=function(){for(var t=[],e=0,i=arguments.length;e.5?l/(2-o-r):l/(o+r),o){case t:n=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}if(t=c(t,360),e=c(e,100),i=c(i,100),0===e)n=a=o=i;else{var s=i<.5?i*(1+e):i+e-i*e,l=2*i-s;n=r(l,s,t+1/3),a=r(l,s,t),o=r(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*o}}return new function(e){this._originalValue=e,e=function(t){var e=void 0;return(e=o.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=o.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=o.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=o.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=o.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=o.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=o.hex8.exec(t))?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16),a:parseInt(e[4]/255,16),format:"hex8"}:(e=o.hex6.exec(t))?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16),format:"hex"}:(e=o.hex4.exec(t))?{r:parseInt(e[1]+""+e[1],16),g:parseInt(e[2]+""+e[2],16),b:parseInt(e[3]+""+e[3],16),a:parseInt(e[4]+""+e[4],16),format:"hex8"}:!!(e=o.hex3.exec(t))&&{r:parseInt(e[1]+""+e[1],16),g:parseInt(e[2]+""+e[2],16),b:parseInt(e[3]+""+e[3],16),format:"hex"}}(e),this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a||1,this._format=e.format,this._hex=l(this.r)+l(this.g)+l(this.b),this.getHexValue=function(){return this._hex},this.lighten=function(e){e=0===e?0:e||10;var i,n=u(this.r,this.g,this.b);return n.l+=e/100,n.l=Math.min(1,Math.max(0,n.l)),n.h=360*n.h,t("rgba("+s((i=h(n.h,r(n.s),r(n.l))).r)+", "+s(i.g)+", "+s(i.b)+", "+this.a+")")},this.darken=function(e){e=0===e?0:e||10;var i,n=u(this.r,this.g,this.b);return n.l-=e/100,n.l=Math.min(1,Math.max(0,n.l)),n.h=360*n.h,t("rgba("+s((i=h(n.h,r(n.s),r(n.l))).r)+", "+s(i.g)+", "+s(i.b)+", "+this.a+")")},this.getBrightness=function(){return(299*this.r+587*this.g+114*this.b)/1e3},this.isDark=function(){return this.getBrightness()<128},this.isLight=function(){return!this.isDark()},this.getHsl=function(){var t=u(this.r,this.g,this.b);return t.l=Math.min(1,Math.max(0,t.l)),t.h=360*t.h,{h:t.h,s:t.s,l:t.l}}}(e)}}}(),"object"===("undefined"==typeof module?"undefined":_typeof(module))&&"object"===_typeof(module.exports)?module.exports=p:t.ax5=p}).call("undefined"!=typeof window?window:void 0),ax5.def={},ax5.info.errorMsg.ax5dialog={501:"Duplicate call error"},ax5.info.errorMsg.ax5picker={401:"Can not find target element",402:"Can not find boundID",501:"Can not find content key"},ax5.info.errorMsg["single-uploader"]={460:"There are no files to be uploaded.",461:"There is no uploaded files."},ax5.info.errorMsg.ax5calendar={401:"Can not find target element"},ax5.info.errorMsg.ax5formatter={401:"Can not find target element",402:"Can not find boundID",501:"Can not find pattern"},ax5.info.errorMsg.ax5menu={501:"Can not find menu item"},ax5.info.errorMsg.ax5select={401:"Can not find target element",402:"Can not find boundID",501:"Can not find option"},ax5.info.errorMsg.ax5combobox={401:"Can not find target element",402:"Can not find boundID",501:"Can not find option"},function(){"use strict";var t,e,i,n,a,o,r=/^\s*|\s*$/g;(Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=(i=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(a){if("object"!==(void 0===a?"undefined":_typeof(a))&&("function"!=typeof a||null===a))throw new TypeError("type err");var o,r,s=[];for(o in a)t.call(a,o)&&s.push(o);if(e)for(r=0;r>>0;if("function"!=typeof t)throw TypeError();var n,a=arguments[1];for(n=0;ni));n+=1);return t.removeRule(0),r};document.querySelectorAll=function(t){return e(t,1/0)},document.querySelector=function(t){return e(t,1)[0]||null}}}(),String.prototype.trim||(String.prototype.trim=function(){return this.replace(r,"")}),window.JSON||(window.JSON={parse:function(t){return new Function("","return "+t)()},stringify:(o=/["]/g,a=function(t){var e,i,n;switch(e=void 0===t?"undefined":_typeof(t)){case"string":return'"'+t.replace(o,'\\"')+'"';case"number":case"boolean":return t.toString();case"undefined":return"undefined";case"function":return'""';case"object":if(!t)return"null";if(e="",t.splice){for(i=0,n=t.length;i=9)return!1;var t=Array.prototype.splice;Array.prototype.splice=function(){var e=Array.prototype.slice.call(arguments);return void 0===e[1]&&(e[1]=this.length-e[0]),t.apply(this,e)}}(),function(){var t=Array.prototype.slice;try{t.call(document.documentElement)}catch(e){Array.prototype.slice=function(e,i){if(i=void 0!==i?i:this.length,"[object Array]"===Object.prototype.toString.call(this))return t.call(this,e,i);var n,a,o=[],r=this.length,s=e||0;s=s>=0?s:Math.max(0,r+s);var l="number"==typeof i?Math.min(i,r):r;if(i<0&&(l=r+i),(a=l-s)>0)if(o=new Array(a),this.charAt)for(n=0;n":">",'"':""","'":"'","/":"/"};var u=/\s*/,h=/\s+/,d=/\s*=/,f=/\s*\}/,p=/#|\^|\/|>|\{|&|=|!/;function m(t){this.string=t,this.tail=t,this.pos=0}function g(t,e){this.view=t,this.cache={".":this.view,"@each":function(){var t=[];for(var e in this)t.push({"@key":e,"@value":this[e]});return t}},this.parent=e}function v(){this.cache={}}m.prototype.eos=function(){return""===this.tail},m.prototype.scan=function(t){var e=this.tail.match(t);if(!e||0!==e.index)return"";var i=e[0];return this.tail=this.tail.substring(i.length),this.pos+=i.length,i},m.prototype.scanUntil=function(t){var e,i=this.tail.search(t);switch(i){case-1:e=this.tail,this.tail="";break;case 0:e="";break;default:e=this.tail.substring(0,i),this.tail=this.tail.substring(i)}return this.pos+=e.length,e},g.prototype.push=function(t){return new g(t,this)},g.prototype.lookup=function(t){var e,i=this.cache;if(i.hasOwnProperty(t))e=i[t];else{for(var a,r,s=this,l=!1;s;){if(t.indexOf(".")>0)for(e=s.view,a=t.split("."),r=0;null!=e&&r0?a[a.length-1][4]:i;break;default:n.push(e)}return i}(function(t){for(var e,i,n=[],a=0,o=t.length;a"===o?r=this.renderPartial(a,e,i,n):"&"===o?r=this.unescapedValue(a,e):"name"===o?r=this.escapedValue(a,e):"text"===o&&(r=this.rawValue(a)),void 0!==r&&(s+=r);return s},v.prototype.renderSection=function(t,e,a,o){var r=this,s="",l=e.lookup(t[1]);if(l){if(i(l))for(var c=0,u=l.length;c"'\/]/g,function(t){return c[t]})},t.Scanner=m,t.Context=g,t.Writer=v}),function(){var t=ax5.ui,e=ax5.util,i=void 0;t.addClass({className:"mask"},function(){var n,a=this;this.instanceId=ax5.getGuid(),this.config={theme:"",target:jQuery(document.body).get(0),animateTime:250},this.maskContent="",this.status="off",n=this.config;var o=function(t,e){return t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),t=null,e=null,!0},r=function(t){this.maskContent=t};this.init=function(){this.onStateChanged=n.onStateChanged,this.onClick=n.onClick,this.config.content&&r.call(this,this.config.content)},this.open=function(t){"on"===this.status&&this.close(),t&&t.content&&r.call(this,t.content),t&&void 0===t.templateName&&(t.templateName="defaultMask"),a.maskConfig=jQuery.extend(!0,{},this.config,t);var e=a.maskConfig,n=e.target,s=jQuery(n),l="ax-mask-"+ax5.getGuid(),c=void 0,u={},h={},d=e.templateName,f=function(t){return void 0===t.templateName&&(t.templateName="defaultMask"),i.tmpl.get.call(this,t.templateName,t)}({theme:e.theme,maskId:l,body:this.maskContent,templateName:d});return jQuery(document.body).append(f),n&&n!==jQuery(document.body).get(0)&&(u={position:e.position||"absolute",left:s.offset().left,top:s.offset().top,width:s.outerWidth(),height:s.outerHeight()},s.addClass("ax-masking"),jQuery(window).on("resize.ax5mask-"+this.instanceId,function(t){this.align()}.bind(this))),void 0!==a.maskConfig.zIndex&&(u["z-index"]=a.maskConfig.zIndex),this.$mask=c=jQuery("#"+l),this.$target=s,this.status="on",c.css(u),e.onClick&&c.on("click",function(t){h={self:a,state:"open",type:"click"},a.maskConfig.onClick.call(h,h)}),o.call(this,null,{self:this,state:"open"}),t=null,e=null,n=null,s=null,l=null,c=null,u=null,h=null,d=null,f=null,this},this.close=function(t){if(this.$mask){var e=function(){this.status="off",this.$mask.remove(),this.$target.removeClass("ax-masking"),o.call(this,null,{self:this,state:"close"}),jQuery(window).off("resize.ax5mask-"+this.instanceId)};t?setTimeout(function(){e.call(this)}.bind(this),t):e.call(this)}return this},this.fadeOut=function(){return this.$mask&&(this.$mask.addClass("fade-out"),setTimeout(function(){(function(){this.status="off",this.$mask.remove(),this.$target.removeClass("ax-masking"),o.call(this,null,{self:this,state:"close"}),jQuery(window).off("resize.ax5mask-"+this.instanceId)}).call(this)}.bind(this),n.animateTime)),this},this.align=function(){if(this.maskConfig&&this.maskConfig.target&&this.maskConfig.target!==jQuery(document.body).get(0))try{var t={position:this.maskConfig.position||"absolute",left:this.$target.offset().left,top:this.$target.offset().top,width:this.$target.outerWidth(),height:this.$target.outerHeight()};this.$mask.css(t)}catch(t){}return this},this.pullRequest=function(){console.log("test pullRequest01"),console.log("test pullRequest02")},this.main=function(){t.mask_instance=t.mask_instance||[],t.mask_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),i=ax5.ui.mask}(),function(){var t=ax5.ui.mask;t.tmpl={defaultMask:function(t){return'\n
\n
\n
\n
\n {{{body}}}\n
\n
\n
\n '},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(){var t=ax5.ui,e=ax5.util,i=void 0;t.addClass({className:"modal"},function(){var n,a=this,o={mousedown:ax5.info.supportTouch?"touchstart":"mousedown",mousemove:ax5.info.supportTouch?"touchmove":"mousemove",mouseup:ax5.info.supportTouch?"touchend":"mouseup"},r=function(t){var e=t;return"changedTouches"in t&&t.changedTouches&&(e=t.changedTouches[0]),{clientX:e.clientX,clientY:e.clientY}};this.instanceId=ax5.getGuid(),this.config={id:"ax5-modal-"+this.instanceId,position:{left:"center",top:"middle",margin:10},minimizePosition:"bottom-right",clickEventName:"ontouchstart"in document.documentElement?"touchstart":"click",theme:"default",width:300,height:400,closeToEsc:!0,disableDrag:!1,disableResize:!1,animateTime:250,iframe:!1},this.activeModal=null,this.watingModal=!1,this.$={},n=this.config;var s=function(t,e){var i={resize:function(e){t&&t.onResize?t.onResize.call(e,e):this.onResize&&this.onResize.call(e,e)},move:function(){}};return e.state in i&&i[e.state].call(this,e),t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),!0},l=function(t,n){var l=void 0;jQuery(document.body).append(function(t,e){var n={modalId:t,theme:e.theme,header:e.header,fullScreen:e.fullScreen?"fullscreen":"",styles:"",iframe:e.iframe,iframeLoadingMsg:e.iframeLoadingMsg,disableResize:e.disableResize};return e.zIndex&&(n.styles+="z-index:"+e.zIndex+";"),e.absolute&&(n.styles+="position:absolute;"),n.iframe&&"string"==typeof n.iframe.param&&(n.iframe.param=ax5.util.param(n.iframe.param)),i.tmpl.get.call(this,"content",n,{})}.call(this,t.id,t)),this.activeModal=jQuery("#"+t.id),this.$={root:this.activeModal,header:this.activeModal.find('[data-modal-els="header"]'),body:this.activeModal.find('[data-modal-els="body"]')},t.iframe?(this.$["iframe-wrap"]=this.activeModal.find('[data-modal-els="iframe-wrap"]'),this.$.iframe=this.activeModal.find('[data-modal-els="iframe"]'),this.$["iframe-form"]=this.activeModal.find('[data-modal-els="iframe-form"]'),this.$["iframe-loading"]=this.activeModal.find('[data-modal-els="iframe-loading"]')):this.$["body-frame"]=this.activeModal.find('[data-modal-els="body-frame"]'),this.align(),l={self:this,id:t.id,theme:t.theme,width:t.width,height:t.height,state:"open",$:this.$},t.iframe&&(this.$["iframe-wrap"].css({height:t.height}),this.$.iframe.css({height:t.height}),this.$["iframe-form"].attr({method:t.iframe.method}),this.$["iframe-form"].attr({target:t.id+"-frame"}),this.$["iframe-form"].attr({action:t.iframe.url}),this.$.iframe.on("load",function(){l.state="load",t.iframeLoadingMsg&&this.$["iframe-loading"].hide(),s.call(this,t,l)}.bind(this)),t.iframeLoadingMsg||this.$.iframe.show(),this.$["iframe-form"].submit()),n&&n.call(l,l),this.watingModal||s.call(this,t,l),t.closeToEsc&&jQuery(window).bind("keydown.ax-modal",function(t){u.call(this,t||window.event)}.bind(this)),jQuery(window).bind("resize.ax-modal",function(t){this.align(null,t||window.event)}.bind(this)),this.$.header.off(o.mousedown).off("dragstart").on(o.mousedown,function(i){var n=e.findParentNode(i.target,function(t){if(t.getAttribute("data-modal-header-btn"))return!0});t.isFullScreen||n||1==t.disableDrag||(a.mousePosition=r(i),d.on.call(a)),n&&c.call(a,i||window.event,t)}).on("dragstart",function(t){return e.stopEvent(t.originalEvent),!1}),this.activeModal.off(o.mousedown).off("dragstart").on(o.mousedown,"[data-ax5modal-resizer]",function(e){if(t.disableDrag||t.isFullScreen)return!1;a.mousePosition=r(e),f.on.call(a,this.getAttribute("data-ax5modal-resizer"))}).on("dragstart",function(t){return e.stopEvent(t.originalEvent),!1})},c=function(t,i,n,a,o){var r=void 0;t.srcElement&&(t.target=t.srcElement),(a=e.findParentNode(t.target,function(t){if(t.getAttribute("data-modal-header-btn"))return!0}))&&(r={self:this,key:o=a.getAttribute("data-modal-header-btn"),value:i.header.btns[o],dialogId:i.id,btnTarget:a},i.header.btns[o].onClick&&i.header.btns[o].onClick.call(r,o)),r=null,i=null,a=null,o=null},u=function(t){t.keyCode==ax5.info.eventKeys.ESC&&this.close()},h={"top-left":function(){this.align({left:"left",top:"top"})},"top-right":function(){this.align({left:"right",top:"top"})},"bottom-left":function(){this.align({left:"left",top:"bottom"})},"bottom-right":function(){this.align({left:"right",top:"bottom"})},"center-middle":function(){this.align({left:"center",top:"middle"})}},d={on:function(){var t=this.activeModal.css("z-index"),e=this.activeModal.offset(),i={width:this.activeModal.outerWidth(),height:this.activeModal.outerHeight()};jQuery(window).width(),jQuery(window).height(),jQuery(document).scrollLeft(),jQuery(document).scrollTop(),a.__dx=0,a.__dy=0,a.resizerBg=jQuery('
'),a.resizer=jQuery('
'),a.resizerBg.css({zIndex:t}),a.resizer.css({left:e.left,top:e.top,width:i.width,height:i.height,zIndex:t+1}),jQuery(document.body).append(a.resizerBg).append(a.resizer),a.activeModal.addClass("draged"),jQuery(document.body).on(o.mousemove+".ax5modal-move-"+this.instanceId,function(t){a.resizer.css(function(t){return a.__dx=t.clientX-a.mousePosition.clientX,a.__dy=t.clientY-a.mousePosition.clientY,{left:e.left+a.__dx,top:e.top+a.__dy}}(t))}).on(o.mouseup+".ax5modal-move-"+this.instanceId,function(t){d.off.call(a)}).on("mouseleave.ax5modal-move-"+this.instanceId,function(t){d.off.call(a)}),jQuery(document.body).attr("unselectable","on").css("user-select","none").on("selectstart",!1)},off:function(){this.activeModal.removeClass("draged"),function(){var t=this.resizer.offset();this.modalConfig.absolute||(t.left-=jQuery(document).scrollLeft(),t.top-=jQuery(document).scrollTop()),this.activeModal.css(t),this.modalConfig.left=t.left,this.modalConfig.top=t.top,t=null}.call(this),this.resizer.remove(),this.resizer=null,this.resizerBg.remove(),this.resizerBg=null,jQuery(document.body).off(o.mousemove+".ax5modal-move-"+this.instanceId).off(o.mouseup+".ax5modal-move-"+this.instanceId).off("mouseleave.ax5modal-move-"+this.instanceId),jQuery(document.body).removeAttr("unselectable").css("user-select","auto").off("selectstart"),s.call(this,a.modalConfig,{self:this,state:"move"})}},f={on:function(t){var e=this.activeModal.css("z-index"),i=this.activeModal.offset(),n={width:this.activeModal.outerWidth(),height:this.activeModal.outerHeight()},r=(jQuery(window).width(),jQuery(window).height(),jQuery(document).scrollLeft(),jQuery(document).scrollTop(),{top:function(t){return l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),{left:i.left,top:i.top+a.__dy,width:n.width,height:n.height-2*a.__dy}):t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),{left:i.left+a.__dy,top:i.top+a.__dy,width:n.width-2*a.__dy,height:n.height-2*a.__dy}):{left:i.left,top:i.top+a.__dy,width:n.width,height:n.height-a.__dy}},bottom:function(t){return l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey?(l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left,top:i.top-a.__dy,width:n.width,height:n.height+2*a.__dy}):t.altKey?(l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left-a.__dy,top:i.top-a.__dy,width:n.width+2*a.__dy,height:n.height+2*a.__dy}):{left:i.left,top:i.top,width:n.width,height:n.height+a.__dy}},left:function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),t.shiftKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top,width:n.width-2*a.__dx,height:n.height}):t.altKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dx,width:n.width-2*a.__dx,height:n.height-2*a.__dx}):{left:i.left+a.__dx,top:i.top,width:n.width-a.__dx,height:n.height}},right:function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),t.shiftKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top,width:n.width+2*a.__dx,height:n.height}):t.altKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top-a.__dx,width:n.width+2*a.__dx,height:n.height+2*a.__dx}):{left:i.left,top:i.top,width:n.width+a.__dx,height:n.height}},"top-left":function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey||t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dy,width:n.width-2*a.__dx,height:n.height-2*a.__dy}):(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dy,width:n.width-a.__dx,height:n.height-a.__dy})},"top-right":function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey||t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top+a.__dy,width:n.width+2*a.__dx,height:n.height-2*a.__dy}):{left:i.left,top:i.top+a.__dy,width:n.width+a.__dx,height:n.height-a.__dy}},"bottom-left":function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey||t.altKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left+a.__dx,top:i.top-a.__dy,width:n.width-2*a.__dx,height:n.height+2*a.__dy}):{left:i.left+a.__dx,top:i.top,width:n.width-a.__dx,height:n.height+a.__dy}},"bottom-right":function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey||t.altKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left-a.__dx,top:i.top-a.__dy,width:n.width+2*a.__dx,height:n.height+2*a.__dy}):{left:i.left,top:i.top,width:n.width+a.__dx,height:n.height+a.__dy}}}),s=100,l=100,c={top:"row-resize",bottom:"row-resize",left:"col-resize",right:"col-resize","top-left":"nwse-resize","top-right":"nesw-resize","bottom-left":"nesw-resize","bottom-right":"nwse-resize"};a.__dx=0,a.__dy=0,a.resizerBg=jQuery('
'),a.resizer=jQuery('
'),a.resizerBg.css({zIndex:e,cursor:c[t]}),a.resizer.css({left:i.left,top:i.top,width:n.width,height:n.height,zIndex:e+1,cursor:c[t]}),jQuery(document.body).append(a.resizerBg).append(a.resizer),a.activeModal.addClass("draged"),jQuery(document.body).bind(o.mousemove+".ax5modal-resize-"+this.instanceId,function(e){a.resizer.css(function(e){return a.__dx=e.clientX-a.mousePosition.clientX,a.__dy=e.clientY-a.mousePosition.clientY,r[t](e)}(e))}).bind(o.mouseup+".ax5modal-resize-"+this.instanceId,function(t){f.off.call(a)}).bind("mouseleave.ax5modal-resize-"+this.instanceId,function(t){f.off.call(a)}),jQuery(document.body).attr("unselectable","on").css("user-select","none").bind("selectstart",!1)},off:function(){this.activeModal.removeClass("draged"),function(){var t=this.resizer.offset();jQuery.extend(t,{width:this.resizer.width(),height:this.resizer.height()}),this.modalConfig.absolute||(t.left-=jQuery(document).scrollLeft(),t.top-=jQuery(document).scrollTop()),this.activeModal.css(t),this.modalConfig.left=t.left,this.modalConfig.top=t.top,this.modalConfig.width=t.width,this.modalConfig.height=t.height,this.$.body.css({height:t.height-this.modalConfig.headerHeight}),this.modalConfig.iframe&&(this.$["iframe-wrap"].css({height:t.height-this.modalConfig.headerHeight}),this.$.iframe.css({height:t.height-this.modalConfig.headerHeight})),t=null}.call(this),this.resizer.remove(),this.resizer=null,this.resizerBg.remove(),this.resizerBg=null,s.call(this,a.modalConfig,{self:this,state:"resize"}),jQuery(document.body).unbind(o.mousemove+".ax5modal-resize-"+this.instanceId).unbind(o.mouseup+".ax5modal-resize-"+this.instanceId).unbind("mouseleave.ax5modal-resize-"+this.instanceId),jQuery(document.body).removeAttr("unselectable").css("user-select","auto").unbind("selectstart")}};this.init=function(){this.onStateChanged=n.onStateChanged,this.onResize=n.onResize},this.open=function(t,e,i){return void 0===i&&(i=0),this.activeModal?i<3?(this.watingModal=!0,setTimeout(function(){this.open(t,e,i+1)}.bind(this),n.animateTime)):this.watingModal=!1:(t=a.modalConfig=jQuery.extend(!0,{},n,t),l.call(this,t,e),this.watingModal=!1),this},this.close=function(t){var i=void 0,o=void 0;return this.activeModal&&(i=a.modalConfig,this.activeModal.addClass("destroy"),jQuery(window).unbind("keydown.ax-modal"),jQuery(window).unbind("resize.ax-modal"),setTimeout(function(){if(i.iframe){var n=this.$.iframe;if(n){var a=n.get(0),r=a.contentDocument?a.contentDocument:a.contentWindow.document;try{$(r.body).children().each(function(){$(this).remove()})}catch(t){}r.innerHTML="",n.attr("src","about:blank").remove(),window.CollectGarbage&&window.CollectGarbage()}}this.activeModal.remove(),this.activeModal=null,this.watingModal||s.call(this,i,{self:this,state:"close"}),t&&e.isFunction(t.callback)&&(o={self:this,id:i.id,theme:i.theme,width:i.width,height:i.height,state:"close",$:this.$},t.callback.call(o,o))}.bind(this),n.animateTime)),this.minimized=!1,this},this.minimize=function(t){if(!0!==this.minimized){var e=a.modalConfig;void 0===t&&(t=n.minimizePosition),this.minimized=!0,this.$.body.hide(),a.modalConfig.originalHeight=e.height,a.modalConfig.height=0,h[t].call(this),s.call(this,e,{self:this,state:"minimize"})}return this},this.restore=function(){var t=a.modalConfig;return this.minimized&&(this.minimized=!1,this.$.body.show(),a.modalConfig.height=a.modalConfig.originalHeight,a.modalConfig.originalHeight=void 0,this.align({left:"center",top:"middle"}),s.call(this,t,{self:this,state:"restore"})),this},this.css=function(t){return this.activeModal&&!a.fullScreen&&(this.activeModal.css(t),void 0!==t.width&&(a.modalConfig.width=t.width),void 0!==t.height&&(a.modalConfig.height=t.height),this.align()),this},this.setModalConfig=function(t){return a.modalConfig=jQuery.extend({},a.modalConfig,t),this.align(),this},this.align=function(t,i){if(!this.activeModal)return this;var n,o=a.modalConfig,r={width:o.width,height:o.height};return(o.isFullScreen=void 0!==(n=o.fullScreen)&&(e.isFunction(n)?n():void 0))?(o.header&&this.$.header.show(),o.header?(o.headerHeight=this.$.header.outerHeight(),r.height+=o.headerHeight):o.headerHeight=0,r.width=jQuery(window).width(),r.height=o.height,r.left=0,r.top=0):(o.header&&this.$.header.show(),t&&jQuery.extend(!0,o.position,t),o.header?(o.headerHeight=this.$.header.outerHeight(),r.height+=o.headerHeight):o.headerHeight=0,"left"==o.position.left?r.left=o.position.margin||0:"right"==o.position.left?r.left=jQuery(window).width()-r.width-(o.position.margin||0):"center"==o.position.left?r.left=jQuery(window).width()/2-r.width/2:r.left=o.position.left||0,"top"==o.position.top?r.top=o.position.margin||0:"bottom"==o.position.top?r.top=jQuery(window).height()-r.height-(o.position.margin||0):"middle"==o.position.top?r.top=jQuery(window).height()/2-r.height/2:r.top=o.position.top||0,r.left<0&&(r.left=0),r.top<0&&(r.top=0),o.absolute&&(r.top+=jQuery(window).scrollTop(),r.left+=jQuery(window).scrollLeft())),this.activeModal.css(r),this.$.body.css({height:r.height-(o.headerHeight||0)}),o.iframe&&(this.$["iframe-wrap"].css({height:r.height-o.headerHeight}),this.$.iframe.css({height:r.height-o.headerHeight})),this},this.main=function(){t.modal_instance=t.modal_instance||[],t.modal_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),i=ax5.ui.modal}(),function(){var t=ax5.ui.modal;t.tmpl={content:function(){return' \n
\n {{#header}}\n
\n {{{title}}}\n {{#btns}}\n
\n {{#@each}}\n \n {{/@each}}\n
\n {{/btns}}\n
\n {{/header}}\n
\n {{#iframe}}\n
\n
{{{iframeLoadingMsg}}}
\n \n
\n
\n \n {{#param}}\n {{#@each}}\n \n {{/@each}}\n {{/param}}\n
\n {{/iframe}}\n {{^iframe}}\n
\n {{/iframe}}\n
\n {{^disableResize}}\n
\n
\n
\n
\n
\n
\n
\n
\n {{/disableResize}}\n
\n '},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(){var t,e=ax5.ui,i=ax5.util;e.addClass({className:"toast"},function(){var n,a=this,o=0,r=null;this.instanceId=ax5.getGuid(),this.config={clickEventName:"click",theme:"default",width:300,icon:"",closeIcon:"",msg:"",lang:{ok:"ok",cancel:"cancel"},displayTime:3e3,animateTime:250,containerPosition:"bottom-left"},this.toastContainer=null,this.queue=[],n=this.config;var s=function(t,e){return t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),t=null,e=null,!0},l=function(e,i){var n={toastId:e,theme:i.theme,icon:i.icon,msg:(i.msg||"").replace(/\n/g,"
"),btns:i.btns,closeIcon:i.closeIcon};try{return t.tmpl.get.call(this,"toastDisplay",n)}finally{e=null,n=null}},c=function(t,e){r&&clearTimeout(r);var c,h={width:t.width};if(t.id="ax5-toast-"+a.containerId+"-"+ ++o,jQuery("#"+t.id).get(0))return this;"bottom"==i.left(n.containerPosition,"-")?this.toastContainer.append(l(t.id,t)):this.toastContainer.prepend(l(t.id,t)),(c=jQuery("#"+t.id)).css({width:h.width}),t.toastBox=c,this.queue.push(t),s.call(this,t,{self:this,state:"open",toastId:t.id}),"push"===t.toastType?(setTimeout(function(){this.close(t,e)}.bind(this),n.displayTime),c.find("[data-ax-toast-btn]").on(n.clickEventName,function(i){u.call(this,i||window.event,t,c,e)}.bind(this))):"confirm"===t.toastType&&c.find("[data-ax-toast-btn]").on(n.clickEventName,function(i){u.call(this,i||window.event,t,c,e)}.bind(this)),h=null},u=function(t,e,n,a,o,r){if(o=i.findParentNode(t.target,function(t){if(t.getAttribute("data-ax-toast-btn"))return!0})){var s={key:r=o.getAttribute("data-ax-toast-btn"),value:e.btns?e.btns[r]:r,toastId:e.id,btn_target:o};e.btns&&e.btns[r].onClick?e.btns[r].onClick.call(s,r):"push"===e.toastType?(a&&a.call(s,r),this.close(e,a)):"confirm"===e.toastType&&(a&&a.call(s,r),this.close(e,a))}t=null,e=null,a=null,o=null,r=null};this.init=function(){this.onStateChanged=n.onStateChanged,a.containerId=ax5.getGuid();var t=[];n.zIndex&&t.push("z-index:"+n.zIndex),jQuery(document.body).append('
'),this.toastContainer=jQuery('[data-toast-container="'+a.containerId+'"]')},this.push=function(t,e){return a.containerId||this.init(),i.isString(t)&&(t={title:n.title,msg:t}),t.toastType="push",a.dialogConfig={},jQuery.extend(!0,a.dialogConfig,n,t),t=a.dialogConfig,c.call(this,t,e),t=null,e=null,this},this.confirm=function(t,e){return a.containerId||this.init(),i.isString(t)&&(t={title:n.title,msg:t}),t.toastType="confirm",a.dialogConfig={},jQuery.extend(!0,a.dialogConfig,n,t),void 0===(t=a.dialogConfig).btns&&(t.btns={ok:{label:n.lang.ok,theme:t.theme}}),c.call(this,t,e),t=null,e=null,this},this.close=function(t,e){void 0===t&&(t=i.last(this.queue));var a=t.toastBox;return a.addClass("push"==t.toastType?"removed":"destroy"),this.queue=i.filter(this.queue,function(){return t.id!=this.id}),setTimeout(function(){var i={toastId:t.id};a.remove(),e&&e.call(i),i={self:this,state:"close",toastId:t.id},s.call(this,t,i),0===this.queue.length&&(r&&clearTimeout(r),r=setTimeout(function(){0===this.queue.length&&(o=0)}.bind(this),3e3)),i=null,t=null,e=null,a=null}.bind(this),n.animateTime),this},this.main=function(){e.toast_instance=e.toast_instance||[],e.toast_instance.push(this),arguments&&i.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),t=ax5.ui.toast}(),function(){var t=ax5.ui.toast;t.tmpl={toastDisplay:function(t){return'\n
\n {{#icon}}\n
{{{.}}}
\n {{/icon}}\n
{{{msg}}}
\n {{#btns}}\n
\n
\n {{#@each}}\n \n {{/@each}}\n
\n
\n {{/btns}}\n {{^btns}}\n
{{{closeIcon}}}\n {{/btns}}\n
\n
'},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){t.ui=t.ui||{};t.ui.version="1.12.1";var e,i=0,n=Array.prototype.slice;t.cleanData=(e=t.cleanData,function(i){var n,a,o;for(o=0;null!=(a=i[o]);o++)try{(n=t._data(a,"events"))&&n.remove&&t(a).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,n){var a,o,r,s={},l=e.split(".")[0],c=l+"-"+(e=e.split(".")[1]);return n||(n=i,i=t.Widget),t.isArray(n)&&(n=t.extend.apply(null,[{}].concat(n))),t.expr[":"][c.toLowerCase()]=function(e){return!!t.data(e,c)},t[l]=t[l]||{},a=t[l][e],o=t[l][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),(r=new i).options=t.widget.extend({},r.options),t.each(n,function(e,n){t.isFunction(n)?s[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function a(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=a,e=n.apply(this,arguments),this._super=i,this._superApply=o,e}}():s[e]=n}),o.prototype=t.widget.extend(r,{widgetEventPrefix:a&&r.widgetEventPrefix||e},s,{constructor:o,namespace:l,widgetName:e,widgetFullName:c}),a?(t.each(a._childConstructors,function(e,i){var n=i.prototype;t.widget(n.namespace+"."+n.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,a,o=n.call(arguments,1),r=0,s=o.length;r",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var n,a,o,r=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(r={},n=e.split("."),e=n.shift(),n.length){for(a=r[e]=t.widget.extend({},this.options[e]),o=0;o
"),o=a.children()[0];return t("body").append(a),i=o.offsetWidth,a.css("overflow","scroll"),i===(n=o.offsetWidth)&&(n=a[0].clientWidth),a.remove(),e=i-n},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),n=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),a="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:u<0?"top":l>0?"bottom":"middle"};di(n(l),n(u))?h.important="horizontal":h.important="vertical",e.using.call(this,t,h)}),r.offset(t.extend(M,{using:o}))})},t.ui.position={fit:{left:function(t,e){var n,a=e.within,o=a.isWindow?a.scrollLeft:a.offset.left,r=a.width,s=t.left-e.collisionPosition.marginLeft,l=o-s,c=s+e.collisionWidth-r-o;e.collisionWidth>r?l>0&&c<=0?(n=t.left+l+e.collisionWidth-r-o,t.left+=l-n):t.left=c>0&&l<=0?o:l>c?o+r-e.collisionWidth:o:l>0?t.left+=l:c>0?t.left-=c:t.left=i(t.left-s,t.left)},top:function(t,e){var n,a=e.within,o=a.isWindow?a.scrollTop:a.offset.top,r=e.within.height,s=t.top-e.collisionPosition.marginTop,l=o-s,c=s+e.collisionHeight-r-o;e.collisionHeight>r?l>0&&c<=0?(n=t.top+l+e.collisionHeight-r-o,t.top+=l-n):t.top=c>0&&l<=0?o:l>c?o+r-e.collisionHeight:o:l>0?t.top+=l:c>0?t.top-=c:t.top=i(t.top-s,t.top)}},flip:{left:function(t,e){var i,a,o=e.within,r=o.offset.left+o.scrollLeft,s=o.width,l=o.isWindow?o.scrollLeft:o.offset.left,c=t.left-e.collisionPosition.marginLeft,u=c-l,h=c+e.collisionWidth-s-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,f="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,p=-2*e.offset[0];u<0?((i=t.left+d+f+p+e.collisionWidth-s-r)<0||i0&&((a=t.left-e.collisionPosition.marginLeft+d+f+p-l)>0||n(a)0&&((i=t.top-e.collisionPosition.marginTop+d+f+p-l)>0||n(i)=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var n=null,a=!1,o=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return n=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(n=t(e.target)),!!n&&(!(this.options.handle&&!i&&(t(this.options.handle,n).find("*").addBack().each(function(){this===e.target&&(a=!0)}),!a))&&(this.currentItem=n,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(e,i,n){var a,o,r=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,r.cursorAt&&this._adjustOffsetFromHelper(r.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),r.containment&&this._setContainment(),r.cursor&&"auto"!==r.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",r.cursor),this.storedStylesheet=t("").appendTo(o)),r.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",r.opacity)),r.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",r.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(a=this.containers.length-1;a>=0;a--)this.containers[a]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!r.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,n,a,o,r=this.options,s=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(a=(n=this.items[i]).item[0],(o=this._intersectsWithPointer(n))&&n.instance===this.currentContainer&&!(a===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===a||t.contains(this.placeholder[0],a)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],a))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(n))break;this._rearrange(e,n),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var n=this,a=this.placeholder.offset(),o=this.options.axis,r={};o&&"x"!==o||(r.left=a.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(r.top=a.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(r,parseInt(this.options.revert,10)||500,function(){n._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&n.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!n.length&&e.key&&n.push(e.key+"="),n.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},i.each(function(){n.push(t(e.item||this).attr(e.attribute||"id")||"")}),n},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,n=this.positionAbs.top,a=n+this.helperProportions.height,o=t.left,r=o+t.width,s=t.top,l=s+t.height,c=this.offset.click.top,u=this.offset.click.left,h="x"===this.options.axis||n+c>s&&n+co&&e+ut[this.floating?"width":"height"]?f:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,n,a,o,r=[],s=[],l=this._connectWith();if(l&&e)for(i=l.length-1;i>=0;i--)for(n=(a=t(l[i],this.document[0])).length-1;n>=0;n--)(o=t.data(a[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&s.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function c(){r.push(this)}for(s.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=s.length-1;i>=0;i--)s[i][0].each(c);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(n=(a=t(d[i],this.document[0])).length-1;n>=0;n--)(o=t.data(a[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&(h.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=h.length-1;i>=0;i--)for(r=h[i][1],n=0,c=(s=h[i][0]).length;n=0;i--)(n=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&n.item[0]!==this.currentItem[0]||(a=this.options.toleranceElement?t(this.options.toleranceElement,n.item):n.item,e||(n.width=a.outerWidth(),n.height=a.outerHeight()),o=a.offset(),n.left=o.left,n.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){var i,n=(e=e||this).options;n.placeholder&&n.placeholder.constructor!==String||(i=n.placeholder,n.placeholder={element:function(){var n=e.currentItem[0].nodeName.toLowerCase(),a=t("<"+n+">",e.document[0]);return e._addClass(a,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(a,"ui-sortable-helper"),"tbody"===n?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(a)):"tr"===n?e._createTrPlaceholder(e.currentItem,a):"img"===n&&a.attr("src",e.currentItem.attr("src")),i||a.css("visibility","hidden"),a},update:function(t,a){i&&!n.forcePlaceholderSize||(a.height()||a.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),a.width()||a.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(n.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),n.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var n=this;e.children().each(function(){t(" ",n.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,n,a,o,r,s,l,c,u,h,d=null,f=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],f=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[f].containerCache.over||(this.containers[f]._trigger("over",e,this._uiHash(this)),this.containers[f].containerCache.over=1);else{for(a=1e4,o=null,r=(u=d.floating||this._isFloating(this.currentItem))?"left":"top",s=u?"width":"height",h=u?"pageX":"pageY",n=this.items.length-1;n>=0;n--)t.contains(this.containers[f].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(l=this.items[n].item.offset()[r],c=!1,e[h]-l>this.items[n][s]/2&&(c=!0),Math.abs(e[h]-l)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(r=this.containment[3]+this.offset.click.top)),a.grid&&(i=this.originalPageY+Math.round((r-this.originalPageY)/a.grid[1])*a.grid[1],r=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-a.grid[1]:i+a.grid[1]:i,n=this.originalPageX+Math.round((o-this.originalPageX)/a.grid[0])*a.grid[0],o=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-a.grid[0]:n+a.grid[0]:n)),{top:r-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():l?0:s.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():l?0:s.scrollLeft())}},_rearrange:function(t,e,i,n){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var a=this.counter;this._delay(function(){a===this.counter&&this.refreshPositions(!n)})},_clear:function(t,e){this.reverting=!1;var i,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function a(t,e,i){return function(n){i._trigger(t,n,e._uiHash(e))}}for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||n.push(a("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(n.push(a("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),n=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&n.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),n=t(e.currentTarget);i[0]===n[0]&&(this._removeClass(n.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,n))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,n,a,o,r=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:r=!1,n=this.previousFilter||"",o=!1,a=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,i=this._filterMenuItems(a),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(a=String.fromCharCode(e.keyCode),i=this._filterMenuItems(a)),i.length?(this.focus(e,i),this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}r&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,n,a,o=this,r=this.options.icons.submenu,s=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=s.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),n=t("").data("ui-menu-submenu-caret",!0);o._addClass(n,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=s.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),a=(n=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(a,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,n,a;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),n=this.active.children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",n.attr("id")),a=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(a,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,n,a,o,r,s;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,n=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,a=e.offset().top-this.activeMenu.offset().top-i-n,o=this.activeMenu.scrollTop(),r=this.activeMenu.height(),s=e.outerHeight(),a<0?this.activeMenu.scrollTop(o+a):a+s>r&&this.activeMenu.scrollTop(o+a-r+s))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var n=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));n.length||(n=this.element),this._close(n),this.blur(e),this._removeClass(n.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=n},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var n;this.active&&(n="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),n&&n.length&&this.active||(n=this.activeMenu.find(this.options.items)[e]()),this.focus(i,n)},nextPage:function(e){var i,n,a;this.active?this.isLastItem()||(this._hasScroll()?(n=this.active.offset().top,a=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n-a<0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,n,a;this.active?this.isFirstItem()||(this._hasScroll()?(n=this.active.offset().top,a=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n+a>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,n,a=this.element[0].nodeName.toLowerCase(),o="textarea"===a,r="input"===a;this.isMultiLine=o||!r&&this._isContentEditable(this.element),this.valueMethod=this.element[o||r?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(a){if(this.element.prop("readOnly"))return e=!0,n=!0,void(i=!0);e=!1,n=!1,i=!1;var o=t.ui.keyCode;switch(a.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",a);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",a);break;case o.UP:e=!0,this._keyEvent("previous",a);break;case o.DOWN:e=!0,this._keyEvent("next",a);break;case o.ENTER:this.menu.active&&(e=!0,a.preventDefault(),this.menu.select(a));break;case o.TAB:this.menu.active&&this.menu.select(a);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(a),a.preventDefault());break;default:i=!0,this._searchTimeout(a)}},keypress:function(n){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||n.preventDefault());if(!i){var a=t.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:this._move("previousPage",n);break;case a.PAGE_DOWN:this._move("nextPage",n);break;case a.UP:this._keyEvent("previous",n);break;case a.DOWN:this._keyEvent("next",n)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(t),this._change(t))}}),this._initSource(),this.menu=t("
    ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var n,a;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});a=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:a})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(a.value),(n=i.item.attr("aria-label")||a.value)&&t.trim(n).length&&(this.liveRegion.children().hide(),t("
    ").text(n).appendTo(this.liveRegion))},menuselect:function(e,i){var n=i.item.data("ui-autocomplete-item"),a=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=a,this._delay(function(){this.previous=a,this.selectedItem=n})),!1!==this._trigger("select",e,{item:n})&&this._value(n.value),this.term=this._value(),this.close(e),this.selectedItem=n}}),this.liveRegion=t("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,n=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,n){n(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,a){n.xhr&&n.xhr.abort(),n.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){a(t)},error:function(){a([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),n=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||n)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
    ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var n=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return n.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
    ").text(i).appendTo(this.liveRegion))}});var r;t.ui.autocomplete;function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=l(t("
    "))}function l(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,c)}function c(){t.datepicker._isDisabledDatepicker(r.inline?r.dpDiv.parent()[0]:r.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function u(e,i){for(var n in t.extend(e,i),i)null==i[n]&&(e[n]=i[n]);return e}t.extend(t.ui,{datepicker:{version:"1.12.1"}}),t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return u(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var n,a,o;a="div"===(n=e.nodeName.toLowerCase())||"span"===n,e.id||(this.uuid+=1,e.id="dp"+this.uuid),(o=this._newInst(t(e),a)).settings=t.extend({},i||{}),"input"===n?this._connectDatepicker(e,o):a&&this._inlineDatepicker(e,o)},_newInst:function(e,i){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?l(t("
    ")):this.dpDiv}},_connectDatepicker:function(e,i){var n=t(e);i.append=t([]),i.trigger=t([]),n.hasClass(this.markerClassName)||(this._attachments(n,i),n.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var n,a,o,r=this._get(i,"appendText"),s=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t(""+r+""),e[s?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),"focus"!==(n=this._get(i,"showOn"))&&"both"!==n||e.on("focus",this._showDatepicker),"button"!==n&&"both"!==n||(a=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("").addClass(this._triggerClass).attr({src:o,alt:a,title:a}):t("").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:a,title:a}):a)),e[s?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,n,a,o=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,n=0,a=0;ai&&(i=t[a].length,n=a);return n},o.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var n=t(e);n.hasClass(this.markerClassName)||(n.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,n,a,o){var r,s,l,c,h,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),(d=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},t.data(this._dialogInput[0],"datepicker",d)),u(d.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(s=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,h=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[s/2-100+c,l/2-150+h]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=n,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,n=t(e),a=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(a.append.remove(),a.trigger.remove(),n.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||n.removeClass(this.markerClassName).empty(),r===a&&(r=null))},_enableDatepicker:function(e){var i,n,a=t(e),o=t.data(e,"datepicker");a.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==i&&"span"!==i||((n=a.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,n,a=t(e),o=t.data(e,"datepicker");a.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==i&&"span"!==i||((n=a.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;e-1},_doKeyUp:function(e){var i=t.datepicker._getInst(e.target);if(i.input.val()!==i.lastVal)try{t.datepicker.parseDate(t.datepicker._get(i,"dateFormat"),i.input?i.input.val():null,t.datepicker._getFormatConfig(i))&&(t.datepicker._setDateFromField(i),t.datepicker._updateAlternate(i),t.datepicker._updateDatepicker(i))}catch(t){}return!0},_showDatepicker:function(e){var i,n,a,o,r,s,l;("input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),t.datepicker._isDisabledDatepicker(e)||t.datepicker._lastInput===e)||(i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),!1!==(a=(n=t.datepicker._get(i,"beforeShow"))?n.apply(e,[e,i]):{})&&(u(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),o=!1,t(e).parents().each(function(){return!(o|="fixed"===t(this).css("position"))}),r={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),r=t.datepicker._checkOffset(i,r,o),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":o?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(s=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(t){for(var e,i;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[s]?i.dpDiv.show(s,t.datepicker._get(i,"showOptions"),l):i.dpDiv[s||"show"](s?l:null),t.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),t.datepicker._curInst=i)))},_updateDatepicker:function(e){this.maxRows=4,r=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,n=this._getNumberOfMonths(e),a=n[1],o=e.dpDiv.find("."+this._dayOverClass+" a");o.length>0&&c.apply(o.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),a>1&&e.dpDiv.addClass("ui-datepicker-multi-"+a).css("width",17*a+"em"),e.dpDiv[(1!==n[0]||1!==n[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,n){var a=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,s=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(n?0:t(document).scrollLeft()),c=document.documentElement.clientHeight+(n?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?a-r:0,i.left-=n&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=n&&i.top===e.input.offset().top+s?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+a>l&&l>a?Math.abs(i.left+a-l):0),i.top-=Math.min(i.top,i.top+o>c&&c>o?Math.abs(o+s):0),i},_findPos:function(e){for(var i,n=this._getInst(e),a=this._get(n,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[a?"previousSibling":"nextSibling"];return[(i=t(e).offset()).left,i.top]},_hideDatepicker:function(e){var i,n,a,o,r=this._curInst;!r||e&&r!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(r,"showAnim"),n=this._get(r,"duration"),a=function(){t.datepicker._tidyDialog(r)},t.effects&&(t.effects.effect[i]||t.effects[i])?r.dpDiv.hide(i,t.datepicker._get(r,"showOptions"),n,a):r.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?n:null,a),i||a(),this._datepickerShowing=!1,(o=this._get(r,"onClose"))&&o.apply(r.input?r.input[0]:null,[r.input?r.input.val():"",r]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),n=t.datepicker._getInst(i[0]);(i[0].id===t.datepicker._mainDivId||0!==i.parents("#"+t.datepicker._mainDivId).length||i.hasClass(t.datepicker.markerClassName)||i.closest("."+t.datepicker._triggerClass).length||!t.datepicker._datepickerShowing||t.datepicker._inDialog&&t.blockUI)&&(!i.hasClass(t.datepicker.markerClassName)||t.datepicker._curInst===n)||t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,n){var a=t(e),o=this._getInst(a[0]);this._isDisabledDatepicker(a[0])||(this._adjustInstDate(o,i+("M"===n?this._get(o,"showCurrentAtPos"):0),n),this._updateDatepicker(o))},_gotoToday:function(e){var i,n=t(e),a=this._getInst(n[0]);this._get(a,"gotoCurrent")&&a.currentDay?(a.selectedDay=a.currentDay,a.drawMonth=a.selectedMonth=a.currentMonth,a.drawYear=a.selectedYear=a.currentYear):(i=new Date,a.selectedDay=i.getDate(),a.drawMonth=a.selectedMonth=i.getMonth(),a.drawYear=a.selectedYear=i.getFullYear()),this._notifyChange(a),this._adjustDate(n)},_selectMonthYear:function(e,i,n){var a=t(e),o=this._getInst(a[0]);o["selected"+("M"===n?"Month":"Year")]=o["draw"+("M"===n?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(a)},_selectDay:function(e,i,n,a){var o,r=t(e);t(a).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||((o=this._getInst(r[0])).selectedDay=o.currentDay=t("a",a).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=n,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var n,a=t(e),o=this._getInst(a[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),(n=this._get(o,"onSelect"))?n.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,n,a,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),n=this._getDate(e),a=this.formatDate(i,n,this._getFormatConfig(e)),t(o).val(a))},noWeekends:function(t){var e=t.getDay();return[e>0&&e<6,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,n){if(null==e||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;var a,o,r,s,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),h=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,d=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,p=(n?n.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,_=!1,b=function(t){var i=a+1-1)for(g=1,v=y;;){if(v<=(o=this._getDaysInMonth(m,g-1)))break;g++,v-=o}if((s=this._daylightSavingAdjust(new Date(m,g-1,v))).getFullYear()!==m||s.getMonth()+1!==g||s.getDate()!==v)throw"Invalid date";return s},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,i){if(!e)return"";var n,a=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,s=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=n+112?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var n=!e,a=t.selectedMonth,o=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),a===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(n?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),n="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(n,-i,"M")},next:function(){t.datepicker._adjustDate(n,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(n)},selectDay:function(){return t.datepicker._selectDay(n,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(n,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(n,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,n,a,o,r,s,l,c,u,h,d,f,p,m,g,v,y,_,b,w,k,x,D,M,T,C,S,P,A,I,O,E,j,N,F,W,H,z,Y=new Date,L=this._daylightSavingAdjust(new Date(Y.getFullYear(),Y.getMonth(),Y.getDate())),R=this._get(t,"isRTL"),$=this._get(t,"showButtonPanel"),U=this._get(t,"hideIfNoPrevNext"),B=this._get(t,"navigationAsDateFormat"),K=this._getNumberOfMonths(t),Q=this._get(t,"showCurrentAtPos"),q=this._get(t,"stepMonths"),J=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),V=this._getMinMaxDate(t,"min"),X=this._getMinMaxDate(t,"max"),Z=t.drawMonth-Q,tt=t.drawYear;if(Z<0&&(Z+=12,tt--),X)for(e=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-K[0]*K[1]+1,X.getDate())),e=V&&ee;)--Z<0&&(Z=11,tt--);for(t.drawMonth=Z,t.drawYear=tt,i=this._get(t,"prevText"),i=B?this.formatDate(i,this._daylightSavingAdjust(new Date(tt,Z-q,1)),this._getFormatConfig(t)):i,n=this._canAdjustMonth(t,-1,tt,Z)?""+i+"":U?"":""+i+"",a=this._get(t,"nextText"),a=B?this.formatDate(a,this._daylightSavingAdjust(new Date(tt,Z+q,1)),this._getFormatConfig(t)):a,o=this._canAdjustMonth(t,1,tt,Z)?""+a+"":U?"":""+a+"",r=this._get(t,"currentText"),s=this._get(t,"gotoCurrent")&&t.currentDay?G:L,r=B?this.formatDate(r,s,this._getFormatConfig(t)):r,l=t.inline?"":"",c=$?"
    "+(R?l:"")+(this._isInRange(t,s)?"":"")+(R?"":l)+"
    ":"",u=parseInt(this._get(t,"firstDay"),10),u=isNaN(u)?0:u,h=this._get(t,"showWeek"),d=this._get(t,"dayNames"),f=this._get(t,"dayNamesMin"),p=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),y=this._get(t,"selectOtherMonths"),_=this._getDefaultDate(t),b="",k=0;k1)switch(D){case 0:C+=" ui-datepicker-group-first",T=" ui-corner-"+(R?"right":"left");break;case K[1]-1:C+=" ui-datepicker-group-last",T=" ui-corner-"+(R?"left":"right");break;default:C+=" ui-datepicker-group-middle",T=""}C+="'>"}for(C+="
    "+(/all|left/.test(T)&&0===k?R?o:n:"")+(/all|right/.test(T)&&0===k?R?n:o:"")+this._generateMonthYearHeader(t,Z,tt,V,X,k>0||D>0,p,m)+"
    ",S=h?"":"",w=0;w<7;w++)S+="";for(C+=S+"",A=this._getDaysInMonth(tt,Z),tt===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,A)),I=(this._getFirstDayOfMonth(tt,Z)-u+7)%7,O=Math.ceil((I+A)/7),E=J&&this.maxRows>O?this.maxRows:O,this.maxRows=E,j=this._daylightSavingAdjust(new Date(tt,Z,1-I)),N=0;N",F=h?"":"",w=0;w<7;w++)W=g?g.apply(t.input?t.input[0]:null,[j]):[!0,""],z=(H=j.getMonth()!==Z)&&!y||!W[0]||V&&jX,F+="",j.setDate(j.getDate()+1),j=this._daylightSavingAdjust(j);C+=F+""}++Z>11&&(Z=0,tt++),x+=C+="
    "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+f[P]+"
    "+this._get(t,"calculateWeek")(j)+""+(H&&!v?" ":z?""+j.getDate()+"":""+j.getDate()+"")+"
    "+(J?"
    "+(K[0]>0&&D===K[1]-1?"
    ":""):"")}b+=x}return b+=c,t._keyEvent=!1,b},_generateMonthYearHeader:function(t,e,i,n,a,o,r,s){var l,c,u,h,d,f,p,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),y=this._get(t,"showMonthAfterYear"),_="
    ",b="";if(o||!g)b+=""+r[e]+"";else{for(l=n&&n.getFullYear()===i,c=a&&a.getFullYear()===i,b+=""}if(y||(_+=b+(!o&&g&&v?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!v)_+=""+i+"";else{for(h=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=(f=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e})(h[0]),m=Math.max(p,f(h[1]||"")),p=n?Math.max(p,n.getFullYear()):p,m=a?Math.min(m,a.getFullYear()):m,t.yearshtml+="",_+=t.yearshtml,t.yearshtml=null}return _+=this._get(t,"yearSuffix"),y&&(_+=(!o&&g&&v?"":" ")+b),_+="
    "},_adjustInstDate:function(t,e,i){var n=t.selectedYear+("Y"===i?e:0),a=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(n,a))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(n,a,o)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),a=i&&en?n:a},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,n){var a=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,n+(e<0?e:a[0]*a[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,n,a=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),r=null,s=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),n=(new Date).getFullYear(),r=parseInt(i[0],10),s=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=n),i[1].match(/[+\-].*/)&&(s+=n)),(!a||e.getTime()>=a.getTime())&&(!o||e.getTime()<=o.getTime())&&(!r||e.getFullYear()>=r)&&(!s||e.getFullYear()<=s)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,n){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var a=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(n,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),a,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1";t.datepicker}),function(){"use strict";var t,e,i,n,a;t=function(t,e){return"string"==typeof t&&"string"==typeof e&&t.toLowerCase()===e.toLowerCase()},e=function(t,i,n){var a=n||"0",o=t.toString();return o.lengths?"20":"19")+r):s,p=!0;break;case"m":case"n":case"M":case"F":if(isNaN(s)){if(!((l=f.getMonth(r))>0))return null;v.month=l}else{if(!(s>=1&&12>=s))return null;v.month=s}p=!0;break;case"d":case"j":if(!(s>=1&&31>=s))return null;v.day=s,p=!0;break;case"g":case"h":if(d=a[c=n.indexOf("a")>-1?n.indexOf("a"):n.indexOf("A")>-1?n.indexOf("A"):-1],c>-1)u=t(d,g.meridiem[0])?0:t(d,g.meridiem[1])?12:-1,s>=1&&12>=s&&u>-1?v.hour=s+u-1:s>=0&&23>=s&&(v.hour=s);else{if(!(s>=0&&23>=s))return null;v.hour=s}m=!0;break;case"G":case"H":if(!(s>=0&&23>=s))return null;v.hour=s,m=!0;break;case"i":if(!(s>=0&&59>=s))return null;v.min=s,m=!0;break;case"s":if(!(s>=0&&59>=s))return null;v.sec=s,m=!0}if(!0===p&&v.year&&v.month&&v.day)v.date=new Date(v.year,v.month-1,v.day,v.hour,v.min,v.sec,0);else{if(!0!==m)return null;v.date=new Date(0,0,0,v.hour,v.min,v.sec,0)}return v.date},guessDate:function(t,e){if("string"!=typeof t)return t;var i,n,a,o,r,s,l=t.replace(this.separators,"\0").split("\0"),c=e.match(this.validParts),u=new Date,h=0;if(!/^[djmn]/g.test(c[0]))return t;for(a=0;a(i=r.length)?i:4,!(n=parseInt(4>i?n.toString().substr(0,4-i)+r:r.substr(0,4))))return null;u.setFullYear(n);break;case 3:u.setHours(s);break;case 4:u.setMinutes(s);break;case 5:u.setSeconds(s)}(o=r.substr(h)).length>0&&l.splice(a+1,0,o)}return u},parseFormat:function(t,i){var n,a=this,o=a.dateSettings,r=/\\?(.?)/gi,s=function(t,e){return n[t]?n[t]():e};return n={d:function(){return e(n.j(),2)},D:function(){return o.daysShort[n.w()]},j:function(){return i.getDate()},l:function(){return o.days[n.w()]},N:function(){return n.w()||7},w:function(){return i.getDay()},z:function(){var t=new Date(n.Y(),n.n()-1,n.j()),e=new Date(n.Y(),0,1);return Math.round((t-e)/864e5)},W:function(){var t=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),i=new Date(t.getFullYear(),0,4);return e(1+Math.round((t-i)/864e5/7),2)},F:function(){return o.months[i.getMonth()]},m:function(){return e(n.n(),2)},M:function(){return o.monthsShort[i.getMonth()]},n:function(){return i.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var t=n.Y();return t%4==0&&t%100!=0||t%400==0?1:0},o:function(){var t=n.n(),e=n.W();return n.Y()+(12===t&&9>e?1:1===t&&e>9?-1:0)},Y:function(){return i.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return n.A().toLowerCase()},A:function(){var t=n.G()<12?0:1;return o.meridiem[t]},B:function(){var t=3600*i.getUTCHours(),n=60*i.getUTCMinutes(),a=i.getUTCSeconds();return e(Math.floor((t+n+a+3600)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return i.getHours()},h:function(){return e(n.g(),2)},H:function(){return e(n.G(),2)},i:function(){return e(i.getMinutes(),2)},s:function(){return e(i.getSeconds(),2)},u:function(){return e(1e3*i.getMilliseconds(),6)},e:function(){return/\((.*)\)/.exec(String(i))[1]||"Coordinated Universal Time"},I:function(){return new Date(n.Y(),0)-Date.UTC(n.Y(),0)!=new Date(n.Y(),6)-Date.UTC(n.Y(),6)?1:0},O:function(){var t=i.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+e(100*Math.floor(n/60)+n%60,4)},P:function(){var t=n.O();return t.substr(0,3)+":"+t.substr(3,2)},T:function(){return(String(i).match(a.tzParts)||[""]).pop().replace(a.tzClip,"")||"UTC"},Z:function(){return 60*-i.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(r,s)},r:function(){return"D, d M Y H:i:s O".replace(r,s)},U:function(){return i.getTime()/1e3||0}},s(t,t)},formatDate:function(t,e){var i,n,a,o,r,s=this,l="";if("string"==typeof t&&!(t=s.parseDate(t,e)))return null;if(t instanceof Date){for(a=e.length,i=0;a>i;i++)"S"!==(r=e.charAt(i))&&"\\"!==r&&(i>0&&"\\"===e.charAt(i-1)?l+=r:(o=s.parseFormat(r,t),i!==a-1&&s.intParts.test(r)&&"S"===e.charAt(i+1)&&(n=parseInt(o)||0,o+=s.dateSettings.ordinal(n)),l+=o));return l}return""}}}();var datetimepickerFactory=function(t){"use strict";var e={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},km:{months:["មករា​","កុម្ភៈ","មិនា​","មេសា​","ឧសភា​","មិថុនា​","កក្កដា​","សីហា​","កញ្ញា​","តុលា​","វិច្ឆិកា","ធ្នូ​"],dayOfWeekShort:["អាទិ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហ​​","សុក្រ​","សៅរ៍"],dayOfWeek:["អាទិត្យ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហស្បតិ៍​","សុក្រ​","សៅរ៍"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ug:{months:["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"],dayOfWeek:["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]}},ownerDocument:document,contentWindow:window,value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,openOnFocus:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,minDateTime:!1,maxDateTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",touchMovedThreshold:5,onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},i=null,n=null,a="en",o={meridiem:["AM","PM"]},r=function(){var r=e.i18n[a],s={days:r.dayOfWeek,daysShort:r.dayOfWeekShort,months:r.months,monthsShort:t.map(r.months,function(t){return t.substring(0,3)})};"function"==typeof DateFormatter&&(i=n=new DateFormatter({dateSettings:t.extend({},o,s)}))},s={moment:{default_options:{format:"YYYY/MM/DD HH:mm",formatDate:"YYYY/MM/DD",formatTime:"HH:mm"},formatter:{parseDate:function(t,e){if(c(e))return n.parseDate(t,e);var i=moment(t,e);return!!i.isValid()&&i.toDate()},formatDate:function(t,e){return c(e)?n.formatDate(t,e):moment(t).format(e)},formatMask:function(t){return t.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59")}}}};t.datetimepicker={setLocale:function(t){var i=e.i18n[t]?t:"en";a!==i&&(a=i,r())},setDateFormatter:function(n){if("string"==typeof n&&s.hasOwnProperty(n)){var a=s[n];t.extend(e,a.default_options),i=a.formatter}else i=n}};var l={RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},c=function(t){return-1!==Object.values(l).indexOf(t)};function u(t,e,i){this.date=t,this.desc=e,this.style=i}t.extend(t.datetimepicker,l),r(),window.getComputedStyle||(window.getComputedStyle=function(t){return this.el=t,this.getPropertyValue=function(e){var i=/(-([a-z]))/g;return"float"===e&&(e="styleFloat"),i.test(e)&&(e=e.replace(i,function(t,e,i){return i.toUpperCase()})),t.currentStyle[e]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t,e){var i,n;for(i=e||0,n=this.length;i
    '),s=t('
    '),r.append(s),l.addClass("xdsoft_scroller_box").append(r),v=function(t){var e=c(t).y-d+g;e<0&&(e=0),e+s[0].offsetHeight>p&&(e=p-s[0].offsetHeight),l.trigger("scroll_element.xdsoft_scroller",[u?e/u:0])},s.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(n){a||l.trigger("resize_scroll.xdsoft_scroller",[i]),d=c(n).y,g=parseInt(s.css("margin-top"),10),p=r[0].offsetHeight,"mousedown"===n.type||"touchstart"===n.type?(e.ownerDocument&&t(e.ownerDocument.body).addClass("xdsoft_noselect"),t([e.ownerDocument.body,e.contentWindow]).on("touchend mouseup.xdsoft_scroller",function i(){t([e.ownerDocument.body,e.contentWindow]).off("touchend mouseup.xdsoft_scroller",i).off("mousemove.xdsoft_scroller",v).removeClass("xdsoft_noselect")}),t(e.ownerDocument.body).on("mousemove.xdsoft_scroller",v)):(m=!0,n.stopPropagation(),n.preventDefault())}).on("touchmove",function(t){m&&(t.preventDefault(),v(t))}).on("touchend touchcancel",function(){m=!1,g=0}),l.on("scroll_element.xdsoft_scroller",function(t,e){a||l.trigger("resize_scroll.xdsoft_scroller",[e,!0]),e=e>1?1:e<0||isNaN(e)?0:e,s.css("margin-top",u*e),setTimeout(function(){n.css("marginTop",-parseInt((n[0].offsetHeight-a)*e,10))},10)}).on("resize_scroll.xdsoft_scroller",function(t,e,i){var c,h;a=l[0].clientHeight,o=n[0].offsetHeight,h=(c=a/o)*r[0].offsetHeight,c>1?s.hide():(s.show(),s.css("height",parseInt(h>10?h:10,10)),u=r[0].offsetHeight-s[0].offsetHeight,!0!==i&&l.trigger("scroll_element.xdsoft_scroller",[e||Math.abs(parseInt(n.css("marginTop"),10))/(o-a)]))}),l.on("mousewheel",function(t){var e=Math.abs(parseInt(n.css("marginTop"),10));return(e-=20*t.deltaY)<0&&(e=0),l.trigger("scroll_element.xdsoft_scroller",[e/(o-a)]),t.stopPropagation(),!1}),l.on("touchstart",function(t){h=c(t),f=Math.abs(parseInt(n.css("marginTop"),10))}),l.on("touchmove",function(t){if(h){t.preventDefault();var e=c(t);l.trigger("scroll_element.xdsoft_scroller",[(f-(e.y-h.y))/(o-a)])}}),l.on("touchend touchcancel",function(){h=!1,f=0})),l.trigger("resize_scroll.xdsoft_scroller",[i])):l.find(".xdsoft_scrollbar").hide()})},t.fn.datetimepicker=function(n,o){var r,s,l=this,c=48,h=57,d=96,f=105,p=17,m=46,g=13,v=27,y=8,_=37,b=38,w=39,k=40,x=9,D=116,M=65,T=67,C=86,S=90,P=89,A=!1,I=t.isPlainObject(n)||!n?t.extend(!0,{},e,n):t.extend(!0,{},e),O=0;return r=function(e){var o,r,s,l,O,E,j=t('
    '),N=t(''),F=t('
    '),W=t('
    '),H=t('
    '),z=t('
    '),Y=z.find(".xdsoft_time_box").eq(0),L=t('
    '),R=t(''),$=t('
    '),U=t('
    '),B=!1,K=0;I.id&&j.attr("id",I.id),I.style&&j.attr("style",I.style),I.weeks&&j.addClass("xdsoft_showweeks"),I.rtl&&j.addClass("xdsoft_rtl"),j.addClass("xdsoft_"+I.theme),j.addClass(I.className),W.find(".xdsoft_month span").after($),W.find(".xdsoft_year span").after(U),W.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(e){var i,n,a=t(this).find(".xdsoft_select").eq(0),o=0,r=0,s=a.is(":visible");for(W.find(".xdsoft_select").hide(),O.currentTime&&(o=O.currentTime[t(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),a[s?"hide":"show"](),i=a.find("div.xdsoft_option"),n=0;nI.touchMovedThreshold&&(this.touchMoved=!0)};function q(){var t,i=!1;return I.startDate?i=O.strToDate(I.startDate):(i=I.value||(e&&e.val&&e.val()?e.val():""))?(i=O.strToDateTime(i),I.yearOffset&&(i=new Date(i.getFullYear()-I.yearOffset,i.getMonth(),i.getDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()))):I.defaultDate&&(i=O.strToDateTime(I.defaultDate),I.defaultTime&&(t=O.strtotime(I.defaultTime),i.setHours(t.getHours()),i.setMinutes(t.getMinutes()))),i&&O.isValidDate(i)?j.data("changed",!0):i="",i||0}function J(n){var a=function(t,e){var i=t.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(i).test(e)},o=function(t,e){if(!(t="string"==typeof t||t instanceof String?n.ownerDocument.getElementById(t):t))return!1;if(t.createTextRange){var i=t.createTextRange();return i.collapse(!0),i.moveEnd("character",e),i.moveStart("character",e),i.select(),!0}return!!t.setSelectionRange&&(t.setSelectionRange(e,e),!0)};n.mask&&e.off("keydown.xdsoft"),!0===n.mask&&(i.formatMask?n.mask=i.formatMask(n.format):n.mask=n.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===t.type(n.mask)&&(a(n.mask,e.val())||(e.val(n.mask.replace(/[0-9]/g,"_")),o(e[0],0)),e.on("paste.xdsoft",function(i){var r=(i.clipboardData||i.originalEvent.clipboardData||window.clipboardData).getData("text"),s=this.value,l=this.selectionStart,c=s.substr(0,l),u=s.substr(l+r.length);return s=c+r+u,l+=r.length,a(n.mask,s)?(this.value=s,o(this,l)):""===t.trim(s)?this.value=n.mask.replace(/[0-9]/g,"_"):e.trigger("error_input.xdsoft"),i.preventDefault(),!1}),e.on("keydown.xdsoft",function(i){var r,s=this.value,l=i.which,u=this.selectionStart,I=this.selectionEnd,O=u!==I;if(l>=c&&l<=h||l>=d&&l<=f||l===y||l===m){for(r=l===y||l===m?"_":String.fromCharCode(d<=l&&l<=f?l-c:l),l===y&&u&&!O&&(u-=1);;){var E=n.mask.substr(u,1),j=u0;if(!(/[^0-9_]/.test(E)&&j&&N))break;u+=l!==y||O?1:-1}if(O){var F=I-u,W=n.mask.replace(/[0-9]/g,"_"),H=W.substr(u,F).substr(1),z=s.substr(0,u),Y=r+H,L=s.substr(u+F);s=z+Y+L}else{var R=s.substr(0,u),$=r,U=s.substr(u+1);s=R+$+U}if(""===t.trim(s))s=W;else if(u===n.mask.length)return i.preventDefault(),!1;for(u+=l===y?0:1;/[^0-9_]/.test(n.mask.substr(u,1))&&u0;)u+=l===y?0:1;a(n.mask,s)?(this.value=s,o(this,u)):""===t.trim(s)?this.value=n.mask.replace(/[0-9]/g,"_"):e.trigger("error_input.xdsoft")}else if(-1!==[M,T,C,S,P].indexOf(l)&&A||-1!==[v,b,k,_,w,D,p,x,g].indexOf(l))return!0;return i.preventDefault(),!1}))}W.find(".xdsoft_select").xdsoftScroller(I).on("touchstart mousedown.xdsoft",function(t){var e=t.originalEvent;this.touchMoved=!1,this.touchStartPosition=e.touches?e.touches[0]:e,t.stopPropagation(),t.preventDefault()}).on("touchmove",".xdsoft_option",Q).on("touchend mousedown.xdsoft",".xdsoft_option",function(){if(!this.touchMoved){void 0!==O.currentTime&&null!==O.currentTime||(O.currentTime=O.now());var e=O.currentTime.getFullYear();O&&O.currentTime&&O.currentTime[t(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](t(this).data("value")),t(this).parent().parent().hide(),j.trigger("xchange.xdsoft"),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),e!==O.currentTime.getFullYear()&&t.isFunction(I.onChangeYear)&&I.onChangeYear.call(j,O.currentTime,j.data("input"))}}),j.getValue=function(){return O.getCurrentTime()},j.setOptions=function(n){var a={};I=t.extend(!0,{},I,n),n.allowTimes&&t.isArray(n.allowTimes)&&n.allowTimes.length&&(I.allowTimes=t.extend(!0,[],n.allowTimes)),n.weekends&&t.isArray(n.weekends)&&n.weekends.length&&(I.weekends=t.extend(!0,[],n.weekends)),n.allowDates&&t.isArray(n.allowDates)&&n.allowDates.length&&(I.allowDates=t.extend(!0,[],n.allowDates)),n.allowDateRe&&"[object String]"===Object.prototype.toString.call(n.allowDateRe)&&(I.allowDateRe=new RegExp(n.allowDateRe)),n.highlightedDates&&t.isArray(n.highlightedDates)&&n.highlightedDates.length&&(t.each(n.highlightedDates,function(e,n){var o,r=t.map(n.split(","),t.trim),s=new u(i.parseDate(r[0],I.formatDate),r[1],r[2]),l=i.formatDate(s.date,I.formatDate);void 0!==a[l]?(o=a[l].desc)&&o.length&&s.desc&&s.desc.length&&(a[l].desc=o+"\n"+s.desc):a[l]=s}),I.highlightedDates=t.extend(!0,[],a)),n.highlightedPeriods&&t.isArray(n.highlightedPeriods)&&n.highlightedPeriods.length&&(a=t.extend(!0,[],I.highlightedDates),t.each(n.highlightedPeriods,function(e,n){var o,r,s,l,c,h,d;if(t.isArray(n))o=n[0],r=n[1],s=n[2],d=n[3];else{var f=t.map(n.split(","),t.trim);o=i.parseDate(f[0],I.formatDate),r=i.parseDate(f[1],I.formatDate),s=f[2],d=f[3]}for(;o<=r;)l=new u(o,s,d),c=i.formatDate(o,I.formatDate),o.setDate(o.getDate()+1),void 0!==a[c]?(h=a[c].desc)&&h.length&&l.desc&&l.desc.length&&(a[c].desc=h+"\n"+l.desc):a[c]=l}),I.highlightedDates=t.extend(!0,[],a)),n.disabledDates&&t.isArray(n.disabledDates)&&n.disabledDates.length&&(I.disabledDates=t.extend(!0,[],n.disabledDates)),n.disabledWeekDays&&t.isArray(n.disabledWeekDays)&&n.disabledWeekDays.length&&(I.disabledWeekDays=t.extend(!0,[],n.disabledWeekDays)),!I.open&&!I.opened||I.inline||e.trigger("open.xdsoft"),I.inline&&(B=!0,j.addClass("xdsoft_inline"),e.after(j).hide()),I.inverseButton&&(I.next="xdsoft_prev",I.prev="xdsoft_next"),I.datepicker?F.addClass("active"):F.removeClass("active"),I.timepicker?z.addClass("active"):z.removeClass("active"),I.value&&(O.setCurrentTime(I.value),e&&e.val&&e.val(O.str)),isNaN(I.dayOfWeekStart)?I.dayOfWeekStart=0:I.dayOfWeekStart=parseInt(I.dayOfWeekStart,10)%7,I.timepickerScrollbar||Y.xdsoftScroller(I,"hide"),I.minDate&&/^[\+\-](.*)$/.test(I.minDate)&&(I.minDate=i.formatDate(O.strToDateTime(I.minDate),I.formatDate)),I.maxDate&&/^[\+\-](.*)$/.test(I.maxDate)&&(I.maxDate=i.formatDate(O.strToDateTime(I.maxDate),I.formatDate)),I.minDateTime&&/^\+(.*)$/.test(I.minDateTime)&&(I.minDateTime=O.strToDateTime(I.minDateTime).dateFormat(I.formatDate)),I.maxDateTime&&/^\+(.*)$/.test(I.maxDateTime)&&(I.maxDateTime=O.strToDateTime(I.maxDateTime).dateFormat(I.formatDate)),R.toggle(I.showApplyButton),W.find(".xdsoft_today_button").css("visibility",I.todayButton?"visible":"hidden"),W.find("."+I.prev).css("visibility",I.prevButton?"visible":"hidden"),W.find("."+I.next).css("visibility",I.nextButton?"visible":"hidden"),J(I),I.validateOnBlur&&e.off("blur.xdsoft").on("blur.xdsoft",function(){if(I.allowBlank&&(!t.trim(t(this).val()).length||"string"==typeof I.mask&&t.trim(t(this).val())===I.mask.replace(/[0-9]/g,"_")))t(this).val(null),j.data("xdsoft_datetime").empty();else{var e=i.parseDate(t(this).val(),I.format);if(e)t(this).val(i.formatDate(e,I.format));else{var n=+[t(this).val()[0],t(this).val()[1]].join(""),a=+[t(this).val()[2],t(this).val()[3]].join("");!I.datepicker&&I.timepicker&&n>=0&&n<24&&a>=0&&a<60?t(this).val([n,a].map(function(t){return t>9?t:"0"+t}).join(":")):t(this).val(i.formatDate(O.now(),I.format))}j.data("xdsoft_datetime").setCurrentTime(t(this).val())}j.trigger("changedatetime.xdsoft"),j.trigger("close.xdsoft")}),I.dayOfWeekStartPrev=0===I.dayOfWeekStart?6:I.dayOfWeekStart-1,j.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},j.data("options",I).on("touchstart mousedown.xdsoft",function(t){return t.stopPropagation(),t.preventDefault(),U.hide(),$.hide(),!1}),Y.append(L),Y.xdsoftScroller(I),j.on("afterOpen.xdsoft",function(){Y.xdsoftScroller(I)}),j.append(F).append(z),!0!==I.withoutCopyright&&j.append(N),F.append(W).append(H).append(R),t(I.parentID).append(j),O=new function(){var e=this;e.now=function(t){var i,n,a=new Date;return!t&&I.defaultDate&&(i=e.strToDateTime(I.defaultDate),a.setFullYear(i.getFullYear()),a.setMonth(i.getMonth()),a.setDate(i.getDate())),a.setFullYear(a.getFullYear()),!t&&I.defaultTime&&(n=e.strtotime(I.defaultTime),a.setHours(n.getHours()),a.setMinutes(n.getMinutes()),a.setSeconds(n.getSeconds()),a.setMilliseconds(n.getMilliseconds())),a},e.isValidDate=function(t){return"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(t.getTime())},e.setCurrentTime=function(t,i){"string"==typeof t?e.currentTime=e.strToDateTime(t):e.isValidDate(t)?e.currentTime=t:t||i||!I.allowBlank||I.inline?e.currentTime=e.now():e.currentTime=null,j.trigger("xchange.xdsoft")},e.empty=function(){e.currentTime=null},e.getCurrentTime=function(){return e.currentTime},e.nextMonth=function(){void 0!==e.currentTime&&null!==e.currentTime||(e.currentTime=e.now());var i,n=e.currentTime.getMonth()+1;return 12===n&&(e.currentTime.setFullYear(e.currentTime.getFullYear()+1),n=0),i=e.currentTime.getFullYear(),e.currentTime.setDate(Math.min(new Date(e.currentTime.getFullYear(),n+1,0).getDate(),e.currentTime.getDate())),e.currentTime.setMonth(n),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),i!==e.currentTime.getFullYear()&&t.isFunction(I.onChangeYear)&&I.onChangeYear.call(j,O.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),n},e.prevMonth=function(){void 0!==e.currentTime&&null!==e.currentTime||(e.currentTime=e.now());var i=e.currentTime.getMonth()-1;return-1===i&&(e.currentTime.setFullYear(e.currentTime.getFullYear()-1),i=11),e.currentTime.setDate(Math.min(new Date(e.currentTime.getFullYear(),i+1,0).getDate(),e.currentTime.getDate())),e.currentTime.setMonth(i),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),i},e.getWeekOfYear=function(e){if(I.onGetWeekOfYear&&t.isFunction(I.onGetWeekOfYear)){var i=I.onGetWeekOfYear.call(j,e);if(void 0!==i)return i}var n=new Date(e.getFullYear(),0,1);return 4!==n.getDay()&&n.setMonth(0,1+(4-n.getDay()+7)%7),Math.ceil(((e-n)/864e5+n.getDay()+1)/7)},e.strToDateTime=function(t){var n,a,o=[];return t&&t instanceof Date&&e.isValidDate(t)?t:((o=/^([+-]{1})(.*)$/.exec(t))&&(o[2]=i.parseDate(o[2],I.formatDate)),o&&o[2]?(n=o[2].getTime()-6e4*o[2].getTimezoneOffset(),a=new Date(e.now(!0).getTime()+parseInt(o[1]+"1",10)*n)):a=t?i.parseDate(t,I.format):e.now(),e.isValidDate(a)||(a=e.now()),a)},e.strToDate=function(t){if(t&&t instanceof Date&&e.isValidDate(t))return t;var n=t?i.parseDate(t,I.formatDate):e.now(!0);return e.isValidDate(n)||(n=e.now(!0)),n},e.strtotime=function(t){if(t&&t instanceof Date&&e.isValidDate(t))return t;var n=t?i.parseDate(t,I.formatTime):e.now(!0);return e.isValidDate(n)||(n=e.now(!0)),n},e.str=function(){var t=I.format;return I.yearOffset&&(t=(t=t.replace("Y",e.currentTime.getFullYear()+I.yearOffset)).replace("y",String(e.currentTime.getFullYear()+I.yearOffset).substring(2,4))),i.formatDate(e.currentTime,t)},e.currentTime=this.now()},R.on("touchend click",function(t){t.preventDefault(),j.data("changed",!0),O.setCurrentTime(q()),e.val(O.str()),j.trigger("close.xdsoft")}),W.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){j.data("changed",!0),O.setCurrentTime(0,!0),j.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var t,i,n=O.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),t=O.strToDate(I.minDate),n<(t=new Date(t.getFullYear(),t.getMonth(),t.getDate()))||(i=O.strToDate(I.maxDate),n>(i=new Date(i.getFullYear(),i.getMonth(),i.getDate()))||(e.val(O.str()),e.trigger("change"),j.trigger("close.xdsoft")))}),W.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var e=t(this),i=0,n=!1;!function t(a){e.hasClass(I.next)?O.nextMonth():e.hasClass(I.prev)&&O.prevMonth(),I.monthChangeSpinner&&(n||(i=setTimeout(t,a||100)))}(500),t([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),n=!0,t([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),z.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var e=t(this),i=0,n=!1,a=110;!function t(o){var r=Y[0].clientHeight,s=L[0].offsetHeight,l=Math.abs(parseInt(L.css("marginTop"),10));e.hasClass(I.next)&&s-r-I.timeHeightInTimePicker>=l?L.css("marginTop","-"+(l+I.timeHeightInTimePicker)+"px"):e.hasClass(I.prev)&&l-I.timeHeightInTimePicker>=0&&L.css("marginTop","-"+(l-I.timeHeightInTimePicker)+"px"),Y.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(L[0].style.marginTop,10)/(s-r))]),a=a>10?10:a-10,n||(i=setTimeout(t,o||a))}(500),t([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),n=!0,t([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),o=0,j.on("xchange.xdsoft",function(r){clearTimeout(o),o=setTimeout(function(){void 0!==O.currentTime&&null!==O.currentTime||(O.currentTime=O.now());for(var o,r,s,l,c,u,h,d,f,p,m="",g=new Date(O.currentTime.getFullYear(),O.currentTime.getMonth(),1,12,0,0),v=0,y=O.now(),_=!1,b=!1,w=!1,k=!1,x=[],D=!0,M="";g.getDay()!==I.dayOfWeekStart;)g.setDate(g.getDate()-1);for(m+="",I.weeks&&(m+=""),o=0;o<7;o+=1)m+="";for(m+="",m+="",!1!==I.maxDate&&(_=O.strToDate(I.maxDate),_=new Date(_.getFullYear(),_.getMonth(),_.getDate(),23,59,59,999)),!1!==I.minDate&&(b=O.strToDate(I.minDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate())),!1!==I.minDateTime&&(w=O.strToDate(I.minDateTime),w=new Date(w.getFullYear(),w.getMonth(),w.getDate(),w.getHours(),w.getMinutes(),w.getSeconds())),!1!==I.maxDateTime&&(k=O.strToDate(I.maxDateTime),k=new Date(k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds())),!1!==k&&(p=31*(12*k.getFullYear()+k.getMonth())+k.getDate());v0&&-1===I.allowDates.indexOf(i.formatDate(g,I.formatDate))&&x.push("xdsoft_disabled");var T=31*(12*g.getFullYear()+g.getMonth())+g.getDate();(!1!==_&&g>_||!1!==w&&gp||h&&!1===h[0])&&x.push("xdsoft_disabled"),-1!==I.disabledDates.indexOf(i.formatDate(g,I.formatDate))&&x.push("xdsoft_disabled"),-1!==I.disabledWeekDays.indexOf(s)&&x.push("xdsoft_disabled"),e.is("[disabled]")&&x.push("xdsoft_disabled"),h&&""!==h[1]&&x.push(h[1]),O.currentTime.getMonth()!==A&&x.push("xdsoft_other_month"),(I.defaultSelect||j.data("changed"))&&i.formatDate(O.currentTime,I.formatDate)===i.formatDate(g,I.formatDate)&&x.push("xdsoft_current"),i.formatDate(y,I.formatDate)===i.formatDate(g,I.formatDate)&&x.push("xdsoft_today"),0!==g.getDay()&&6!==g.getDay()&&-1===I.weekends.indexOf(i.formatDate(g,I.formatDate))||x.push("xdsoft_weekend"),void 0!==I.highlightedDates[i.formatDate(g,I.formatDate)]&&(r=I.highlightedDates[i.formatDate(g,I.formatDate)],x.push(void 0===r.style?"xdsoft_highlighted_default":r.style),f=void 0===r.desc?"":r.desc),I.beforeShowDay&&t.isFunction(I.beforeShowDay)&&x.push(I.beforeShowDay(g)),D&&(m+="",D=!1,I.weeks&&(m+="")),m+='",g.getDay()===I.dayOfWeekStartPrev&&(m+="",D=!0),g.setDate(l+1)}m+="
    "+I.i18n[a].dayOfWeekShort[(o+I.dayOfWeekStart)%7]+"
    "+u+"
    '+l+"
    ",H.html(m),W.find(".xdsoft_label span").eq(0).text(I.i18n[a].months[O.currentTime.getMonth()]),W.find(".xdsoft_label span").eq(1).text(O.currentTime.getFullYear()+I.yearOffset),M="",A="";var C=0;if(!1!==I.minTime){var S=O.strtotime(I.minTime);C=60*S.getHours()+S.getMinutes()}var P=1440;if(!1!==I.maxTime){S=O.strtotime(I.maxTime);P=60*S.getHours()+S.getMinutes()}if(!1!==I.minDateTime){S=O.strToDateTime(I.minDateTime);if(i.formatDate(O.currentTime,I.formatDate)===i.formatDate(S,I.formatDate))(A=60*S.getHours()+S.getMinutes())>C&&(C=A)}if(!1!==I.maxDateTime){var A;S=O.strToDateTime(I.maxDateTime);if(i.formatDate(O.currentTime,I.formatDate)===i.formatDate(S,I.formatDate))(A=60*S.getHours()+S.getMinutes())=P||l59||o.getMinutes()===parseInt(a,10))&&(I.defaultSelect||j.data("changed")?x.push("xdsoft_current"):I.initTime&&x.push("xdsoft_init_time")),parseInt(y.getHours(),10)===parseInt(n,10)&&parseInt(y.getMinutes(),10)===parseInt(a,10)&&x.push("xdsoft_today"),M+='
    '+i.formatDate(r,I.formatTime)+"
    "},I.allowTimes&&t.isArray(I.allowTimes)&&I.allowTimes.length)for(v=0;v=P||d((v<10?"0":"")+v,A=(o<10?"0":"")+o))}for(L.html(M),n="",v=parseInt(I.yearStart,10);v<=parseInt(I.yearEnd,10);v+=1)n+='
    '+(v+I.yearOffset)+"
    ";for(U.children().eq(0).html(n),v=parseInt(I.monthStart,10),n="";v<=parseInt(I.monthEnd,10);v+=1)n+='
    '+I.i18n[a].months[v]+"
    ";$.children().eq(0).html(n),t(j).trigger("generate.xdsoft")},10),r.stopPropagation()}).on("afterOpen.xdsoft",function(){var t,e,i,n;I.timepicker&&(L.find(".xdsoft_current").length?t=".xdsoft_current":L.find(".xdsoft_init_time").length&&(t=".xdsoft_init_time"),t?(e=Y[0].clientHeight,(i=L[0].offsetHeight)-e<(n=L.find(t).index()*I.timeHeightInTimePicker+1)&&(n=i-e),Y.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(i-e)])):Y.trigger("scroll_element.xdsoft_scroller",[0]))}),r=0,H.on("touchend click.xdsoft","td",function(i){i.stopPropagation(),r+=1;var n=t(this),a=O.currentTime;if(null==a&&(O.currentTime=O.now(),a=O.currentTime),n.hasClass("xdsoft_disabled"))return!1;a.setDate(1),a.setFullYear(n.data("year")),a.setMonth(n.data("month")),a.setDate(n.data("date")),j.trigger("select.xdsoft",[a]),e.val(O.str()),I.onSelectDate&&t.isFunction(I.onSelectDate)&&I.onSelectDate.call(j,O.currentTime,j.data("input"),i),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),(r>1||!0===I.closeOnDateSelect||!1===I.closeOnDateSelect&&!I.timepicker)&&!I.inline&&j.trigger("close.xdsoft"),setTimeout(function(){r=0},200)}),L.on("touchstart","div",function(t){this.touchMoved=!1}).on("touchmove","div",Q).on("touchend click.xdsoft","div",function(e){if(!this.touchMoved){e.stopPropagation();var i=t(this),n=O.currentTime;if(null==n&&(O.currentTime=O.now(),n=O.currentTime),i.hasClass("xdsoft_disabled"))return!1;n.setHours(i.data("hour")),n.setMinutes(i.data("minute")),j.trigger("select.xdsoft",[n]),j.data("input").val(O.str()),I.onSelectTime&&t.isFunction(I.onSelectTime)&&I.onSelectTime.call(j,O.currentTime,j.data("input"),e),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),!0!==I.inline&&!0===I.closeOnTimeSelect&&j.trigger("close.xdsoft")}}),F.on("mousewheel.xdsoft",function(t){return!I.scrollMonth||(t.deltaY<0?O.nextMonth():O.prevMonth(),!1)}),e.on("mousewheel.xdsoft",function(t){return!I.scrollInput||(!I.datepicker&&I.timepicker?((s=L.find(".xdsoft_current").length?L.find(".xdsoft_current").eq(0).index():0)+t.deltaY>=0&&s+t.deltaYd+f?(u="bottom",n=d+f-e.top):n-=f):n+j[0].offsetHeight>d+f&&(n=e.top-j[0].offsetHeight+1),n<0&&(n=0),a+i.offsetWidth>c&&(a=c-i.offsetWidth)),r=j[0],E(r,function(t){if("relative"===I.contentWindow.getComputedStyle(t).getPropertyValue("position")&&c>=t.offsetWidth)return a-=(c-t.offsetWidth)/2,!1}),(h={position:o,left:a,top:"",bottom:""})[u]=n,j.css(h)},j.on("open.xdsoft",function(e){var i=!0;I.onShow&&t.isFunction(I.onShow)&&(i=I.onShow.call(j,O.currentTime,j.data("input"),e)),!1!==i&&(j.show(),l(),t(I.contentWindow).off("resize.xdsoft",l).on("resize.xdsoft",l),I.closeOnWithoutClick&&t([I.ownerDocument.body,I.contentWindow]).on("touchstart mousedown.xdsoft",function e(){j.trigger("close.xdsoft"),t([I.ownerDocument.body,I.contentWindow]).off("touchstart mousedown.xdsoft",e)}))}).on("close.xdsoft",function(e){var i=!0;W.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),I.onClose&&t.isFunction(I.onClose)&&(i=I.onClose.call(j,O.currentTime,j.data("input"),e)),!1===i||I.opened||I.inline||j.hide(),e.stopPropagation()}).on("toggle.xdsoft",function(){j.is(":visible")?j.trigger("close.xdsoft"):j.trigger("open.xdsoft")}).data("input",e),K=0,j.data("xdsoft_datetime",O),j.setOptions(I),O.setCurrentTime(q()),e.data("xdsoft_datetimepicker",j).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){e.is(":disabled")||e.data("xdsoft_datetimepicker").is(":visible")&&I.closeOnInputClick||I.openOnFocus&&(clearTimeout(K),K=setTimeout(function(){e.is(":disabled")||(B=!0,O.setCurrentTime(q(),!0),I.mask&&J(I),j.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(e){var i,n=e.which;return-1!==[g].indexOf(n)&&I.enterLikeTab?(i=t("input:visible,textarea:visible,button:visible,a:visible"),j.trigger("close.xdsoft"),i.eq(i.index(this)+1).focus(),!1):-1!==[x].indexOf(n)?(j.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){j.trigger("close.xdsoft")})},s=function(e){var i=e.data("xdsoft_datetimepicker");i&&(i.data("xdsoft_datetime",null),i.remove(),e.data("xdsoft_datetimepicker",null).off(".xdsoft"),t(I.contentWindow).off("resize.xdsoft"),t([I.contentWindow,I.ownerDocument.body]).off("mousedown.xdsoft touchstart"),e.unmousewheel&&e.unmousewheel())},t(I.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(t){t.keyCode===p&&(A=!0)}).on("keyup.xdsoftctrl",function(t){t.keyCode===p&&(A=!1)}),this.each(function(){var e,a=t(this).data("xdsoft_datetimepicker");if(a){if("string"===t.type(n))switch(n){case"show":t(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":s(t(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(i.parseDate(this.value,I.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":a.data("input").trigger("blur.xdsoft");break;default:a[n]&&t.isFunction(a[n])&&(l=a[n](o))}else a.setOptions(n);return 0}"string"!==t.type(n)&&(!I.lazyInit||I.open||I.inline?r(t(this)):(e=t(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(O),O=setTimeout(function(){e.data("xdsoft_datetimepicker")||r(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))}))}),l},t.fn.datetimepicker.defaults=e};!function(t){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(datetimepickerFactory),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t:t(jQuery)}(function(t){var e,i,n=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],a="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],o=Array.prototype.slice;if(t.event.fixHooks)for(var r=n.length;r;)t.event.fixHooks[n[--r]]=t.event.mouseHooks;var s=t.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=a.length;e;)this.addEventListener(a[--e],l,!1);else this.onmousewheel=l;t.data(this,"mousewheel-line-height",s.getLineHeight(this)),t.data(this,"mousewheel-page-height",s.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=a.length;e;)this.removeEventListener(a[--e],l,!1);else this.onmousewheel=null;t.removeData(this,"mousewheel-line-height"),t.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var i=t(e),n=i["offsetParent"in t.fn?"offsetParent":"parent"]();return n.length||(n=t("body")),parseInt(n.css("fontSize"),10)||parseInt(i.css("fontSize"),10)||16},getPageHeight:function(e){return t(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function l(n){var a,r=n||window.event,l=o.call(arguments,1),h=0,d=0,f=0,p=0,m=0;if((n=t.event.fix(r)).type="mousewheel","detail"in r&&(f=-1*r.detail),"wheelDelta"in r&&(f=r.wheelDelta),"wheelDeltaY"in r&&(f=r.wheelDeltaY),"wheelDeltaX"in r&&(d=-1*r.wheelDeltaX),"axis"in r&&r.axis===r.HORIZONTAL_AXIS&&(d=-1*f,f=0),h=0===f?d:f,"deltaY"in r&&(h=f=-1*r.deltaY),"deltaX"in r&&(d=r.deltaX,0===f&&(h=-1*d)),0!==f||0!==d){if(1===r.deltaMode){var g=t.data(this,"mousewheel-line-height");h*=g,f*=g,d*=g}else if(2===r.deltaMode){var v=t.data(this,"mousewheel-page-height");h*=v,f*=v,d*=v}if(a=Math.max(Math.abs(f),Math.abs(d)),(!i||a=1?"floor":"ceil"](h/i),d=Math[d>=1?"floor":"ceil"](d/i),f=Math[f>=1?"floor":"ceil"](f/i),s.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();p=n.clientX-y.left,m=n.clientY-y.top}return n.deltaX=d,n.deltaY=f,n.deltaFactor=i,n.offsetX=p,n.offsetY=m,n.deltaMode=0,l.unshift(n,h,d,f),e&&clearTimeout(e),e=setTimeout(c,200),(t.event.dispatch||t.event.handle).apply(this,l)}}function c(){i=null}function u(t,e){return s.settings.adjustOldDeltas&&"mousewheel"===t.type&&e%120==0}t.fn.extend({mousewheel:function(t){return t?this.bind("mousewheel",t):this.trigger("mousewheel")},unmousewheel:function(t){return this.unbind("mousewheel",t)}})}),function(){"use strict";function t(t){t.fn._fadeIn=t.fn.fadeIn;var e=t.noop||function(){},i=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),a=(document.documentMode,t.isFunction(document.createElement("div").style.setExpression));t.blockUI=function(t){s(window,t)},t.unblockUI=function(t){l(window,t)},t.growlUI=function(e,i,n,a){var o=t('
    ');e&&o.append("

    "+e+"

    "),i&&o.append("

    "+i+"

    "),void 0===n&&(n=3e3);var r=function(e){e=e||{},t.blockUI({message:o,fadeIn:void 0!==e.fadeIn?e.fadeIn:700,fadeOut:void 0!==e.fadeOut?e.fadeOut:1e3,timeout:void 0!==e.timeout?e.timeout:n,centerY:!1,showOverlay:!1,onUnblock:a,css:t.blockUI.defaults.growlCSS})};r();o.css("opacity");o.mouseover(function(){r({fadeIn:0,timeout:3e4});var e=t(".blockMsg");e.stop(),e.fadeTo(300,1)}).mouseout(function(){t(".blockMsg").fadeOut(1e3)})},t.fn.block=function(e){if(this[0]===window)return t.blockUI(e),this;var i=t.extend({},t.blockUI.defaults,e||{});return this.each(function(){var e=t(this);i.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==t.css(this,"position")&&(this.style.position="relative",t(this).data("blockUI.static",!0)),this.style.zoom=1,s(this,e)})},t.fn.unblock=function(e){return this[0]===window?(t.unblockUI(e),this):this.each(function(){l(this,e)})},t.blockUI.version=2.7,t.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var o=null,r=[];function s(s,c){var h,p,m=s==window,g=c&&void 0!==c.message?c.message:void 0;if(!(c=t.extend({},t.blockUI.defaults,c||{})).ignoreIfBlocked||!t(s).data("blockUI.isBlocked")){if(c.overlayCSS=t.extend({},t.blockUI.defaults.overlayCSS,c.overlayCSS||{}),h=t.extend({},t.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),p=t.extend({},t.blockUI.defaults.themedCSS,c.themedCSS||{}),g=void 0===g?c.message:g,m&&o&&l(window,{fadeOut:0}),g&&"string"!=typeof g&&(g.parentNode||g.jquery)){var v=g.jquery?g[0]:g,y={};t(s).data("blockUI.history",y),y.el=v,y.parent=v.parentNode,y.display=v.style.display,y.position=v.style.position,y.parent&&y.parent.removeChild(v)}t(s).data("blockUI.onUnblock",c.onUnblock);var _,b,w,k,x=c.baseZ;_=i||c.forceIframe?t(''):t(''),b=c.theme?t(''):t(''),c.theme&&m?(k='"):c.theme?(k='"):k=m?'':'',w=t(k),g&&(c.theme?(w.css(p),w.addClass("ui-widget-content")):w.css(h)),c.theme||b.css(c.overlayCSS),b.css("position",m?"fixed":"absolute"),(i||c.forceIframe)&&_.css("opacity",0);var D=[_,b,w],M=t(m?"body":s);t.each(D,function(){this.appendTo(M)}),c.theme&&c.draggable&&t.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var T=a&&(!t.support.boxModel||t("object,embed",m?null:s).length>0);if(n||T){if(m&&c.allowBodyStretch&&t.support.boxModel&&t("html,body").css("height","100%"),(n||!t.support.boxModel)&&!m)var C=f(s,"borderTopWidth"),S=f(s,"borderLeftWidth"),P=C?"(0 - "+C+")":0,A=S?"(0 - "+S+")":0;t.each(D,function(t,e){var i=e[0].style;if(i.position="absolute",t<2)m?i.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+c.quirksmodeOffsetHack+') + "px"'):i.setExpression("height",'this.parentNode.offsetHeight + "px"'),m?i.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):i.setExpression("width",'this.parentNode.offsetWidth + "px"'),A&&i.setExpression("left",A),P&&i.setExpression("top",P);else if(c.centerY)m&&i.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),i.marginTop=0;else if(!c.centerY&&m){var n="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+(c.css&&c.css.top?parseInt(c.css.top,10):0)+') + "px"';i.setExpression("top",n)}})}if(g&&(c.theme?w.find(".ui-widget-content").append(g):w.append(g),(g.jquery||g.nodeType)&&t(g).show()),(i||c.forceIframe)&&c.showOverlay&&_.show(),c.fadeIn){var I=c.onBlock?c.onBlock:e,O=c.showOverlay&&!g?I:e,E=g?I:e;c.showOverlay&&b._fadeIn(c.fadeIn,O),g&&w._fadeIn(c.fadeIn,E)}else c.showOverlay&&b.show(),g&&w.show(),c.onBlock&&c.onBlock.bind(w)();if(u(1,s,c),m?(o=w[0],r=t(c.focusableElements,o),c.focusInput&&setTimeout(d,20)):function(t,e,i){var n=t.parentNode,a=t.style,o=(n.offsetWidth-t.offsetWidth)/2-f(n,"borderLeftWidth"),r=(n.offsetHeight-t.offsetHeight)/2-f(n,"borderTopWidth");e&&(a.left=o>0?o+"px":"0");i&&(a.top=r>0?r+"px":"0")}(w[0],c.centerX,c.centerY),c.timeout){var j=setTimeout(function(){m?t.unblockUI(c):t(s).unblock(c)},c.timeout);t(s).data("blockUI.timeout",j)}}}function l(e,i){var n,a,s=e==window,l=t(e),h=l.data("blockUI.history"),d=l.data("blockUI.timeout");d&&(clearTimeout(d),l.removeData("blockUI.timeout")),i=t.extend({},t.blockUI.defaults,i||{}),u(0,e,i),null===i.onUnblock&&(i.onUnblock=l.data("blockUI.onUnblock"),l.removeData("blockUI.onUnblock")),a=s?t("body").children().filter(".blockUI").add("body > .blockUI"):l.find(">.blockUI"),i.cursorReset&&(a.length>1&&(a[1].style.cursor=i.cursorReset),a.length>2&&(a[2].style.cursor=i.cursorReset)),s&&(o=r=null),i.fadeOut?(n=a.length,a.stop().fadeOut(i.fadeOut,function(){0==--n&&c(a,h,i,e)})):c(a,h,i,e)}function c(e,i,n,a){var o=t(a);if(!o.data("blockUI.isBlocked")){e.each(function(t,e){this.parentNode&&this.parentNode.removeChild(this)}),i&&i.el&&(i.el.style.display=i.display,i.el.style.position=i.position,i.el.style.cursor="default",i.parent&&i.parent.appendChild(i.el),o.removeData("blockUI.history")),o.data("blockUI.static")&&o.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(a,n);var r=t(document.body),s=r.width(),l=r[0].style.width;r.width(s-1).width(s),r[0].style.width=l}}function u(e,i,n){var a=i==window,r=t(i);if((e||(!a||o)&&(a||r.data("blockUI.isBlocked")))&&(r.data("blockUI.isBlocked",e),a&&n.bindEvents&&(!e||n.showOverlay))){var s="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";e?t(document).bind(s,n,h):t(document).unbind(s,h)}}function h(e){if("keydown"===e.type&&e.keyCode&&9==e.keyCode&&o&&e.data.constrainTabKey){var i=r,n=!e.shiftKey&&e.target===i[i.length-1],a=e.shiftKey&&e.target===i[0];if(n||a)return setTimeout(function(){d(a)},10),!1}var s=e.data,l=t(e.target);return l.hasClass("blockOverlay")&&s.onOverlayClick&&s.onOverlayClick(e),l.parents("div."+s.blockMsgClass).length>0||0===l.parents().children().filter("div.blockUI").length}function d(t){if(r){var e=r[!0===t?r.length-1:0];e&&e.focus()}}function f(e,i){return parseInt(t.css(e,i),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],t):t(jQuery)}(),function(t,e){"function"==typeof define&&define.amd?define(["jQuery"],e):"object"==typeof exports?e(require("jQuery")):e(t.jQuery)}(this,function(t){var e=function(){var t={},e=new RegExp("{{([^}]+)}}","g");return t.parse=function(t){for(var i={inpts:{},chars:{}},n=function(t){for(var i,n=[];i=e.exec(t);)n.push(i);return n}(t),a=t.length,o=0,r=0,s=0,l=function(t){for(var e=t.length,n=0;ne[0]&&tt.focus,a=0===i.end;(n||a)&&e.set(t.el,t.focus)},0)},o.prototype._processKey=function(t,n,a){if(this.sel=e.get(this.el),this.val=this.el.value,this.delta=0,this.sel.begin!==this.sel.end)this.delta=-1*Math.abs(this.sel.begin-this.sel.end),this.val=i.removeChars(this.val,this.sel.begin,this.sel.end);else if(n&&46===n)this._delete();else if(n&&this.sel.begin-1>=0)this.val=i.removeChars(this.val,this.sel.end-1,this.sel.end),this.delta-=1;else if(n)return!0;n||(this.val=i.addChars(this.val,t,this.sel.begin),this.delta+=t.length),this._formatValue(a)},o.prototype._delete=function(){for(;this.chars[this.sel.begin];)this._nextPos();this.sel.beginthis.focus&&(this.delta+=this.sel.end-this.focus);for(var t=0,e=0;e<=this.mLength;e++){var n,a=this.chars[e],o=this.hldrs[e],r=e+t;r=e>=this.sel.begin?r+this.delta:r,n=this.val.charAt(r),(a&&a===n||o&&o===n)&&(this.val=i.removeChars(this.val,r,r+1),t--)}this.hldrs={},this.focus=this.val.length},o.prototype._validateInpts=function(){for(var t=0;t-1?{begin:a,end:a}:{begin:-i.moveStart("character",-a),end:-i.moveEnd("character",-a)}}return{begin:0,end:0}},set:function(t,e){if("object"!=typeof e&&(e={begin:e,end:e}),t.setSelectionRange)t.focus(),t.setSelectionRange(e.begin,e.end);else if(t.createTextRange){var i=t.createTextRange();i.collapse(!0),i.moveEnd("character",e.end),i.moveStart("character",e.begin),i.select()}}};return t}(),i);$.fn.formatter=function(t){return"object"==typeof t&&this.each(function(){$.data(this,"plugin_formatter")||$.data(this,"plugin_formatter",new n(this,t))}),this.resetPattern=function(t){return this.each(function(){var e=$.data(this,"plugin_formatter");e&&e.resetPattern(t)}),this},this},$.fn.formatter.addInptType=function(t,e){n.addInptType(t,e)}}),function(t,e){var i,n=t.fn.domManip,a="_tmplitem",o=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,r={},s={},l={key:0,data:{}},c=0,u=0,h=[];function d(e,i,n,a){var o={data:a||0===a||!1===a?a:i?i.data:{},_wrap:i?i._wrap:null,tmpl:null,parent:i||null,nodes:[],calls:_,nest:b,wrap:w,html:k,update:x};return e&&t.extend(o,e,{nodes:[],parent:i}),n&&(o.tmpl=n,o._ctnt=o._ctnt||o.tmpl(t,o),o.key=++c,(h.length?s:r)[c]=o),o}function f(e,i,n){var o,r=n?t.map(n,function(t){return"string"==typeof t?e.key?t.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+a+'="'+e.key+'" $2'):t:f(t,e,t._ctnt)}):e;return i?r:((r=r.join("")).replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(e,i,n,a){y(o=t(n).get()),i&&(o=p(i).concat(o)),a&&(o=o.concat(p(a)))}),o||p(r))}function p(e){var i=document.createElement("div");return i.innerHTML=e,t.makeArray(i.childNodes)}function m(e){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+t.trim(e).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(e,i,n,a,o,r,s){var l,c,u,h=t.tmpl.tag[n];if(!h)throw"Unknown template tag: "+n;return l=h._default||[],r&&!/\w$/.test(o)&&(o+=r,r=""),o?(o=v(o),s=s?","+v(s)+")":r?")":"",c=r?o.indexOf(".")>-1?o+v(r):"("+o+").call($item"+s:o,u=r?c:"(typeof("+o+")==='function'?("+o+").call($item):("+o+"))"):u=c=l.$1||"null",a=v(a),"');"+h[i?"close":"open"].split("$notnull_1").join(o?"typeof("+o+")!=='undefined' && ("+o+")!=null":"true").split("$1a").join(u).split("$1").join(c).split("$2").join(a||l.$2||"")+"__.push('"})+"');}return __;")}function g(e,i){e._wrap=f(e,!0,t.isArray(i)?i:[o.test(i)?i:t(i).html()]).join("")}function v(t){return t?t.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function y(e){var i,n,o,l,h,f="_"+u,p={};for(o=0,l=e.length;o=0;h--)m(n[h]);m(i)}function m(e){var i,n,o,l,h=e;if(l=e.getAttribute(a)){for(;h.parentNode&&1===(h=h.parentNode).nodeType&&!(i=h.getAttribute(a)););i!==l&&(h=h.parentNode?11===h.nodeType?0:h.getAttribute(a)||0:0,(o=r[l])||((o=d(o=s[l],r[h]||s[h])).key=++c,r[c]=o),u&&m(l)),e.removeAttribute(a)}else u&&(o=t.data(e,"tmplItem"))&&(m(o.key),r[o.key]=o,h=(h=t.data(e.parentNode,"tmplItem"))?h.key:0);if(o){for(n=o;n&&n.key!=h;)n.nodes.push(e),n=n.parent;delete o._ctnt,delete o._wrap,t.data(e,"tmplItem",o)}function m(t){o=p[t+=f]=p[t]||d(o,r[o.parent.key+f]||o.parent)}}}function _(t,e,i,n){if(!t)return h.pop();h.push({_:t,tmpl:e,item:this,data:i,options:n})}function b(e,i,n){return t.tmpl(t.template(e),i,n,this)}function w(e,i){var n=e.options||{};return n.wrapped=i,t.tmpl(t.template(e.tmpl),e.data,n,e.item)}function k(e,i){var n=this._wrap;return t.map(t(t.isArray(n)?n.join(""):n).filter(e||"*"),function(t){return i?t.innerText||t.textContent:t.outerHTML||(e=t,(n=document.createElement("div")).appendChild(e.cloneNode(!0)),n.innerHTML);var e,n})}function x(){var e=this.nodes;t.tmpl(null,null,null,this).insertBefore(e[0]),t(e).remove()}t.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,n){t.fn[e]=function(a){var o,s,l,c,h=[],d=t(a),f=1===this.length&&this[0].parentNode;if(i=r||{},f&&11===f.nodeType&&1===f.childNodes.length&&1===d.length)d[n](this[0]),h=this;else{for(s=0,l=d.length;s0?this.clone(!0):this).get(),t(d[s])[n](o),h=h.concat(o);u=0,h=this.pushStack(h,e,d.selector)}return c=i,i=null,t.tmpl.complete(c),h}}),t.fn.extend({tmpl:function(e,i,n){return t.tmpl(this[0],e,i,n)},tmplItem:function(){return t.tmplItem(this[0])},template:function(e){return t.template(e,this[0])},domManip:function(e,a,o,s){if(e[0]&&t.isArray(e[0])){for(var l,c=t.makeArray(arguments),h=e[0],d=h.length,f=0;f").join(">").split('"').join(""").split("'").join("'")}}),t.extend(t.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},if:{open:"if(($notnull_1) && $1a){",close:"}"},else:{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(t){r={}},afterManip:function(e,i,n){var a=11===i.nodeType?t.makeArray(i.childNodes):1===i.nodeType?[i]:[];n.call(e,i),y(a),u++}})}(jQuery),APP.init=function(){APP.initAjaxDefaultSetting(),APP.initMenu(),APP.initAx5(),APP.initPlugins(),APP.initCheckboxAll()},APP.initAjaxDefaultSetting=function(){$(document).ajaxError(function(t,e,i){var n="알수없는 오류가 발생하였습니다.";void 0!==e.responseJSON&&void 0!==e.responseJSON.message?n=e.responseJSON.message:500==e.status?n="서버 코드 오류가 발생하였습니다.\n관리자에게 문의하세요":401==e.status&&(n="해당 명령을 실행할 권한이 없습니다."),toastr.error(n,"오류 발생")}).ajaxStart(function(){$.blockUI({css:{width:"25px",top:"49%",left:"49%",border:"0px none",backgroundColor:"transparent",cursor:"wait"},message:'로딩중',baseZ:1e4,overlayCSS:{opacity:0}})}).ajaxComplete(function(){$.unblockUI()})},APP.initMenu=function(){$("#nav .main-navigation li").each(function(){$(this).data("active")==menuActive&&($(this).addClass("active"),$(this).parents("li").addClass("active"))})},APP.initPlugins=function(){$.datepicker._updateDatepicker_original=$.datepicker._updateDatepicker,$.datepicker._updateDatepicker=function(t){$.datepicker._updateDatepicker_original(t);var e=this._get(t,"afterShow");e&&e.apply(t.input?t.input[0]:null)},$.datepicker.regional.ko={closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일","월","화","수","목","금","토"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,changeMonth:!0,changeYear:!0,yearSuffix:"",afterShow:function(){$(".ui-datepicker-prev").empty().append(''),$(".ui-datepicker-next").empty().append('')}},$.datepicker.setDefaults($.datepicker.regional.ko),$('[data-toggle="datepicker"]').datepicker(),$("body").on("click",'[data-toggle="datepicker"]',function(){$(this).hasClass("hasDatepicker")||($(this).datepicker(),$(this).datepicker("show"))})},APP.initCheckboxAll=function(){$("[data-checkbox]").click(function(){var t=$(this),e=t.data("checkbox-all")&&"true"==t.data("checkbox-all").toString(),i=t.data("checkbox"),n=t.prop("checked"),a=e?t:$('[data-checkbox="'+i+'"][data-checkbox-all="true"]');e?$('[data-checkbox="'+i+'"]').prop("checked",n):a.prop("checked",$('[data-checkbox="'+i+'"]').not('[data-checkbox-all="true"]').length==$('[data-checkbox="'+i+'"]:checked').not('[data-checkbox-all="true"]').length)})},APP.initAx5=function(){APP.MASK=new ax5.ui.mask({zIndex:1e3}),APP.MASK2=new ax5.ui.mask({zIndex:2e3}),APP.modal=new ax5.ui.modal({absolute:!0,iframeLoadingMsg:''}),APP.modal2=new ax5.ui.modal({absolute:!0,iframeLoadingMsg:''}),APP.toast=new ax5.ui.toast({containerPosition:"top-right",closeIcon:''})},$(function(){APP.init()}),function(t){"use strict";var e=".dropdown-backdrop",i='[data-toggle="dropdown"]',n=function(e){t(e).on("click.bs.dropdown",this.toggle)};function a(e){var i=e.attr("data-target");i||(i=(i=e.attr("href"))&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var n=i&&t(i);return n&&n.length?n:e.parent()}function o(n){n&&3===n.which||(t(e).remove(),t(i).each(function(){var e=t(this),i=a(e),o={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(i[0],n.target)||(i.trigger(n=t.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(e.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",o)))))}))}n.VERSION="3.3.7",n.prototype.toggle=function(e){var i=t(this);if(!i.is(".disabled, :disabled")){var n=a(i),r=n.hasClass("open");if(o(),!r){"ontouchstart"in document.documentElement&&!n.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",o);var s={relatedTarget:this};if(n.trigger(e=t.Event("show.bs.dropdown",s)),e.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),n.toggleClass("open").trigger(t.Event("shown.bs.dropdown",s))}return!1}},n.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var n=t(this);if(e.preventDefault(),e.stopPropagation(),!n.is(".disabled, :disabled")){var o=a(n),r=o.hasClass("open");if(!r&&27!=e.which||r&&27==e.which)return 27==e.which&&o.find(i).trigger("focus"),n.trigger("click");var s=o.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var l=s.index(e.target);38==e.which&&l>0&&l--,40==e.which&&l',onClick:function(){APP.MODAL.callback()}}}}});return{open:function(t){t=$.extend(!0,{},e,t),$(document.body).addClass("modalOpened"),this.modalCallback=t.callback,this.modalSendData=t.sendData,APP.modal.open(t)},css:function(e){e=$.extend(!0,{},t,e),APP.modal.css(e)},align:function(t){APP.modal.align(t)},close:function(t){APP.modal.close(),setTimeout(function(){$(document.body).removeClass("modalOpened")},500)},minimize:function(){APP.modal.minimize()},maximize:function(){APP.modal.maximize()},callback:function(t){this.modalCallback&&this.modalCallback(t),this.close(t)},modalCallback:{},getData:function(){if(this.modalSendData)return this.modalSendData()}}}(),APP.MODAL2=function(){var t={width:400,height:400,position:{left:"center",top:"middle"}},e=$.extend(!0,{},t,{iframeLoadingMsg:"",iframe:{method:"get",url:"#"},closeToEsc:!0,onStateChanged:function(){"open"===this.state?APP.MASK2.open():"close"===this.state&&APP.MASK2.close()},animateTime:100,zIndex:2001,absolute:!0,fullScreen:!1,header:{title:"새로운 윈도우",btns:{close:{label:'',onClick:function(){APP.MODAL2.callback()}}}}});return{open:function(t){t=$.extend(!0,{},e,t),$(document.body).addClass("modalOpened"),this.modalCallback=t.callback,this.modalSendData=t.sendData,APP.modal2.open(t)},css:function(e){e=$.extend(!0,{},t,e),APP.modal2.css(e)},align:function(t){APP.modal2.align(t)},close:function(t){APP.modal2.close(),setTimeout(function(){$(document.body).removeClass("modalOpened")},500)},minimize:function(){APP.modal2.minimize()},maximize:function(){APP.modal2.maximize()},callback:function(t){this.modalCallback&&this.modalCallback(t),this.close(t)},modalCallback:{},getData:function(){if(this.modalSendData)return this.modalSendData()}}}(),APP.TOAST={confirm:function(t){APP.toast.push({theme:"default",icon:'',msg:t})},error:function(t){APP.toast.push({theme:"danger",icon:'',msg:t})},success:function(t){APP.toast.push({theme:"success",icon:'',msg:t})}},APP.BOARD.keyCheck=function(t){return""==t?"게시판 고유키를 입력하세요":APP.REGEX.uniqueID.test(t)?!APP.BOARD.existCheck(t)||"이미 존재하는 키 입니다.":"게시판 고유키는 영어 소문자로 시작하는 3~20 글자로 영어와 숫자만 사용가능합니다."},APP.BOARD.existCheck=function(t){var e=null;return $.ajax({url:base_url+"/ajax/board/info",type:"get",async:!1,cache:!1,data:{brd_key:t,is_raw:!0},success:function(t){e=t}}),e},APP.BOARD.CATEGORY.form=function(t,e,i){e=void 0!==e&&e>=0?e:null,i=void 0!==i&&i?i:null;return(t=void 0!==t&&t?t:null)?parseInt(e)<0?(alert("부모 카테고리가 선택되지 않았습니다."),!1):void APP.MODAL.open({width:400,height:200,header:{title:i?"카테고리 정보 수정":"카테고리 추가"},callback:function(){parent.location.reload()},iframe:{method:"get",url:"/admin/board/category_form",param:{brd_key:t,bca_parent:e,bca_idx:i}}}):(alert("게시판이 지정되지 않았습니다."),!1)},APP.BOARD.CATEGORY.remove=function(t){if(APP.BOARD.CATEGORY.count(t)>0)return alert("해당 카테고리의 하위 카테고리가 존재합니다. 하위 카테고리를 먼저 삭제해주세요"),!1;var e=APP.BOARD.CATEGORY.postCount(t);return!(e>0&&!confirm("해당 카테고리에 등록된 글이 "+e+"건이 있습니다. 삭제를 진행하시겠습니까?"))&&(!!confirm("해당 카테고리를 삭제하시겠습니까?")&&void $.ajax({url:base_url+"/ajax/board/category",type:"DELETE",cache:!1,async:!1,data:{bca_idx:t},success:function(t){t.result?(alert("카테고리 삭제에 성공하였습니다."),location.reload()):(alert("카테고리 삭제에 실패하였습니다."),location.reload())}}))},APP.BOARD.EXTRA.form=function(t,e){if(e=void 0!==e&&e?e:null,!(t=void 0!==t&&t?t:null))return alert("게시판이 지정되지 않았습니다."),!1;APP.MODAL.open({width:400,height:200,header:{title:e?"입력필드 수정":"입력필드 추가"},callback:function(){parent.location.reload()},iframe:{method:"get",url:"/admin/board/extra_form",param:{brd_key:t,bmt_idx:e}}})},APP.BOARD.EXTRA.remove=function(t,e){return t=void 0!==t&&t?t:null,(e=void 0!==e&&e?e:null)?!!confirm("해당 필드로 등록된 글이 있을경우, 해당 필드값도 같이 사라집니다. 계속 진행 하시겠습니까?")&&void $.ajax({url:base_url+"/ajax/board/extra",type:"DELETE",cache:!1,async:!1,data:{brd_key:t,bmt_idx:e},success:function(t){t.result?(alert("입력필드 삭제에 성공하였습니다."),location.reload()):(alert("입력필드 삭제에 실패하였습니다."),location.reload())}}):(alert("잘못된 접근입니다."),!1)};var faq={form:function(t,e){e="string"==typeof e||"number"==typeof e?e:null;if(!(t="string"==typeof t||"number"==typeof t?t:null))return alert("FAQ 분류 정보가 없습니다."),!1;APP.MODAL.open({width:800,height:650,header:{title:e?"FAQ 정보 수정":"FAQ 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/management/faq_form",param:{fac_idx:t,faq_idx:e}}})},remove:function(t){if(void 0!==t&&t&&""!=t.trim()||alert("잘못된 접근입니다."),!confirm("해당 FAQ를 삭제하시겠습니까?"))return!1;$.ajax({url:"/ajax/faq/info",type:"delete",async:!1,cache:!1,data:{faq_idx:t},success:function(t){alert("FAQ가 삭제되었습니다."),location.reload()}})},category:{}};faq.category.form=function(t){t="string"==typeof t||"number"==typeof t?t:null;APP.MODAL.open({width:$(window).width()>600?600:$(window).width(),height:250,header:{title:t?"FAQ 분류 정보 수정":"FAQ 분류 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/management/faq_category_form",param:{fac_idx:t}}})},faq.category.exist=function(t){if(void 0===t||!t||""==t.trim())return!1;var e=!1;return $.ajax({url:"/ajax/faq/category",type:"get",async:!1,cache:!1,data:{fac_idx:t},success:function(t){e=!(t&&void 0!==t.fac_idx&&t.fac_idx)}}),e},faq.category.remove=function(t){void 0!==t&&t&&""!=t.trim()||alert("잘못된 접근입니다.");var e=0;if($.ajax({url:"/ajax/faq/lists",type:"get",async:!1,cache:!1,data:{fac_idx:t},success:function(t){e=t.total_count}}),!confirm(e>0?"해당 FAQ 분류에 "+e+"개의 FAQ 목록이 등록되어 있습니다.\nFAQ 분류을 삭제할시 등록된 FAQ 목록도 같이 삭제됩니다.\n\n계속 하시겠습니까?":"FAQ 분류을 삭제하시겠습니까?"))return!1;$.ajax({url:"/ajax/faq/category",type:"delete",async:!1,cache:!1,data:{fac_idx:t},success:function(t){alert("FAQ 분류가 삭제되었습니다."),location.href=base_url+"/admin/management/faq"}})},APP.MEMBER.POP_INFO_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 정보"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/info/"+t,param:{}}})},APP.MEMBER.POP_PASSWORD_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"비밀번호 변경"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/password/"+t,param:{}}})},APP.MEMBER.POP_MODIFY_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 정보 수정"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/modify/"+t,param:{}}})},APP.MEMBER.POP_POINT_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 포인트 관리"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/point/"+t,param:{}}})},APP.MEMBER.POP_POINT_FORM_ADMIN=function(t){(t=void 0!==t&&t?t:null)?(APP.MODAL2.callback=function(){location.reload()},APP.MODAL2.open({width:410,height:200,header:{title:"회원 포인트 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/point_form/"+t}})):alert("잘못된 접근입니다.")},APP.MEMBER.STATUS_CHANGE=function(t,e,i){if(void 0===t||!t||void 0===e||!e||void 0===i||!i)return alert(LANG.common_msg_invalid_access),!1;var n="";if("Y"==i)n=LANG.member_status_y;else if("N"==i)n=LANG.member_status_n;else if("D"==i)n=LANG.member_status_d;else{if("H"!=i)return alert(LANG.common_msg_invalid_access),!1;n=LANG.member_status_h}confirm("해당 회원의 상태를 ["+n+"] 상태로 변경합니까?")&&$.ajax({url:"/ajax/members/status",type:"POST",async:!1,cache:!1,data:{mem_idx:t,current_status:e,change_status:i},success:function(){alert("지정한 회원의 상태를 ["+n+"] 상태로 변경하였습니다."),location.reload()}})},$(function(){}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=3)}([function(t,e,i){var n,a,o,r;r=function(t,e){"use strict";var i,n=(i=e)&&i.__esModule?i:{default:i};var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};var o=function(){function t(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var i=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=i+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,n.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,n.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":a(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}();t.exports=r},a=[t,i(7)],void 0===(o="function"==typeof(n=r)?n.apply(e,a):n)||(t.exports=o)},function(t,e,i){var n=i(6),a=i(5);t.exports=function(t,e,i){if(!t&&!e&&!i)throw new Error("Missing required arguments");if(!n.string(e))throw new TypeError("Second argument must be a String");if(!n.fn(i))throw new TypeError("Third argument must be a Function");if(n.node(t))return function(t,e,i){return t.addEventListener(e,i),{destroy:function(){t.removeEventListener(e,i)}}}(t,e,i);if(n.nodeList(t))return function(t,e,i){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,i)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,i)})}}}(t,e,i);if(n.string(t))return function(t,e,i){return a(document.body,t,e,i)}(t,e,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(t,e){function i(){}i.prototype={on:function(t,e,i){var n=this.e||(this.e={});return(n[t]||(n[t]=[])).push({fn:e,ctx:i}),this},once:function(t,e,i){var n=this;function a(){n.off(t,a),e.apply(i,arguments)}return a._=e,this.on(t,a,i)},emit:function(t){for(var e=[].slice.call(arguments,1),i=((this.e||(this.e={}))[t]||[]).slice(),n=0,a=i.length;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===l(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,r.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return h("action",t)}},{key:"defaultTarget",value:function(t){var e=h("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return h("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,i=!!document.queryCommandSupported;return e.forEach(function(t){i=i&&!!document.queryCommandSupported(t)}),i}}]),e}();function h(t,e){var i="data-clipboard-"+t;if(e.hasAttribute(i))return e.getAttribute(i)}t.exports=u},a=[t,i(0),i(2),i(1)],void 0===(o="function"==typeof(n=r)?n.apply(e,a):n)||(t.exports=o)},function(t,e){var i=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&t.nodeType!==i;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},function(t,e,i){var n=i(4);function a(t,e,i,a,o){var r=function(t,e,i,a){return function(i){i.delegateTarget=n(i.target,e),i.delegateTarget&&a.call(t,i)}}.apply(this,arguments);return t.addEventListener(i,r,o),{destroy:function(){t.removeEventListener(i,r,o)}}}t.exports=function(t,e,i,n,o){return"function"==typeof t.addEventListener?a.apply(null,arguments):"function"==typeof i?a.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return a(t,e,i,n,o)}))}},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var i=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===i||"[object HTMLCollection]"===i)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var i=t.hasAttribute("readonly");i||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),i||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),a=document.createRange();a.selectNodeContents(t),n.removeAllRanges(),n.addRange(a),e=n.toString()}return e}}])}),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=/\+/g;function i(t){return a.raw?t:encodeURIComponent(t)}function n(i,n){var o=a.raw?i:function(t){0===t.indexOf('"')&&(t=t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return t=decodeURIComponent(t.replace(e," ")),a.json?JSON.parse(t):t}catch(t){}}(i);return t.isFunction(n)?n(o):o}var a=t.cookie=function(e,o,r){if(arguments.length>1&&!t.isFunction(o)){if("number"==typeof(r=t.extend({},a.defaults,r)).expires){var s=r.expires,l=r.expires=new Date;l.setMilliseconds(l.getMilliseconds()+864e5*s)}return document.cookie=[i(e),"=",function(t){return i(a.json?JSON.stringify(t):String(t))}(o),r.expires?"; expires="+r.expires.toUTCString():"",r.path?"; path="+r.path:"",r.domain?"; domain="+r.domain:"",r.secure?"; secure":""].join("")}for(var c,u=e?void 0:{},h=document.cookie?document.cookie.split("; "):[],d=0,f=h.length;d0&&t.on("submit",function(){$.blockUI({css:{width:"25px",top:"49%",left:"49%",border:"0px none",backgroundColor:"transparent",cursor:"wait"},message:'로딩중',baseZ:1e4,overlayCSS:{opacity:0}})})});var DateFormatter,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};(function(){"use strict";var t=this,e=this,i=e?e.document:null,n=(e&&e.document.documentElement,/^(["'](\\.|[^"\\\n\r])*?["']|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/),a=/^-ms-/,o=/[\-_]([\da-z])/gi,r=/([A-Z])/g,s=/\./,l=/[-|+]?[\D]/gi,c=/\D/gi,u=new RegExp("([0-9])([0-9][0-9][0-9][,.])"),h=/&/g,d=/=/,f=/[ ]+/g,p={},m=void 0,g=void 0;p.guid=1,p.getGuid=function(){return p.guid++},p.info=m=function(){var t=arguments,n=function(t,i,n,a,o,r){return e&&e.navigator?(i=-1!=(t=navigator.userAgent.toLowerCase()).search(/mobile/g),-1!=t.search(/iphone/g)?{name:"iphone",version:0,mobile:!0}:-1!=t.search(/ipad/g)?{name:"ipad",version:0,mobile:!0}:-1!=t.search(/android/g)?{name:"android",version:(a=/(android)[ \/]([\w.]+)/.exec(t)||[])[2]||"0",mobile:i}:("","msie"==(o=(a=/(opr)[ \/]([\w.]+)/.exec(t)||/(chrome)[ \/]([\w.]+)/.exec(t)||/(webkit)[ \/]([\w.]+)/.exec(t)||/(msie) ([\w.]+)/.exec(t)||t.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t)||[])[1]||"")&&(o="ie"),{name:o,version:a[2]||"0",mobile:i})):{}}(),a=!("undefined"==typeof window||"undefined"==typeof navigator||!e.document),o=e&&/Firefox/i.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel";return{errorMsg:{},version:"1.4.126",baseUrl:"",onerror:function(){console.error(g.toArray(t).join(":"))},eventKeys:{BACKSPACE:8,TAB:9,RETURN:13,ESC:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,HOME:36,END:35,PAGEUP:33,PAGEDOWN:34,INSERT:45,SPACE:32},weekNames:[{label:"SUN"},{label:"MON"},{label:"TUE"},{label:"WED"},{label:"THU"},{label:"FRI"},{label:"SAT"}],browser:n,isBrowser:a,supportTouch:!!e&&("ontouchstart"in e||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),supportFileApi:!!e&&(e.FileReader&&e.File&&e.FileList&&e.Blob),wheelEnm:o,urlUtil:function(t,n){return n=(t={href:e.location.href,param:e.location.search,referrer:i.referrer,pathname:e.location.pathname,hostname:e.location.hostname,port:e.location.port}).href.split(/[\?#]/),t.param=t.param.replace("?",""),t.url=n[0],t.href.search("#")>-1&&(t.hashdata=g.last(n)),n=null,t.baseUrl=g.left(t.href,"?").replace(t.pathname,""),t},getError:function(t,e,i){return m.errorMsg&&m.errorMsg[t]?{className:t,errorCode:e,methodName:i,msg:m.errorMsg[t][e]}:{className:t,errorCode:e,methodName:i}}}}(),p.util=g=function(){var v=Object.prototype.toString;function y(t,e){if(M(t))return[];var i=void 0,n=0,a=t.length;if(void 0===a||"function"==typeof t){for(i in t)if(void 0!==t[i]&&!1===e.call(t[i],i,t[i]))break}else for(;n0&&(e+=","),e+=_(t[i]);e+="]"}else if(p.util.isObject(t)){e+="{";var a=[];y(t,function(t,e){a.push('"'+t+'": '+_(e))}),e+=a.join(", "),e+="}"}else e=p.util.isString(t)?'"'+t+'"':p.util.isNumber(t)?t:p.util.isUndefined(t)?"undefined":p.util.isFunction(t)?'"{Function}"':t;return e}function b(t){return"[object Object]"==v.call(t)}function w(t){return"[object Array]"==v.call(t)}function k(t){return"function"==typeof t}function x(t){return"[object String]"==v.call(t)}function D(t){return"[object Number]"==v.call(t)}function M(t){return null==t||""===t}function T(t,e){return void 0===t||void 0===e?"":x(e)?t.indexOf(e)>-1?t.substr(0,t.indexOf(e)):"":D(e)?t.substr(0,e):""}function C(t,e){return void 0===t||void 0===e?"":(t=""+t,x(e)?t.lastIndexOf(e)>-1?t.substr(t.lastIndexOf(e)+1):"":D(e)?t.substr(t.length-e):"")}function S(t){return t.replace(a,"ms-").replace(o,function(t,e){return e.toUpperCase()})}function P(t){return S(t).replace(r,function(t,e){return"-"+e.toLowerCase()})}function A(t,e){var i,n,a,o=(""+t).split(s);return n=Number(o[0].replace(/,/g,""))<0||"-0"==o[0],a=0,o[0]=o[0].replace(l,""),o[1]?(o[1]=o[1].replace(c,""),a=Number(o[0]+"."+o[1])||0):a=Number(o[0])||0,i=n?-a:a,y(e,function(t,e){var n,a;"round"==t&&(i=D(e)?e<0?+(Math.round(i+"e-"+Math.abs(e))+"e+"+Math.abs(e)):+(Math.round(i+"e+"+e)+"e-"+e):Math.round(i)),"floor"==t&&(i=Math.floor(i)),"ceil"==t?i=Math.ceil(i):"money"==t?i=function(t){var e=""+i;if(isNaN(e)||""==e)return"";var n=e.split(".");n[0]+=".";do{n[0]=n[0].replace(u,"$1,$2")}while(u.test(n[0]));return n.length>1?n.join(""):n[0].split(".")[0]}():"abs"==t?i=Math.abs(Number(i)):"byte"==t&&(n="KB",(a=Number(i)/1024)/1024>1&&(n="MB",a/=1024),a/1024>1&&(n="GB",a/=1024),i=A(a,{round:1})+n)}),i}function I(t,e,i,n,a,o){var r;return new Date,e<0&&(e=0),void 0===n&&(n=12),void 0===a&&(a=0),r=new Date(Date.UTC(t,e,i||1,n,a,o||0)),0==e&&1==i&&r.getUTCHours()+r.getTimezoneOffset()/60<0?r.setUTCHours(0):r.setUTCHours(r.getUTCHours()+r.getTimezoneOffset()/60),r}function O(t,e){var i,n,a,o,r,s,l,c,u,h,d,f,p,g,v,y=void 0,_=void 0,b=void 0,w=void 0,k=void 0,D=void 0,M=void 0,T=void 0,S=void 0,P=void 0;if(x(t))if(0==t.length)t=new Date;else if(t.length>15)/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d+)?(([+-]\d\d:\d\d)|Z)?$/i.test(t)||/^\d{4}(-\d\d(-\d\d(T\d\d:\d\d(:\d\d)?(\.\d+)?(([+-]\d\d:\d\d)|Z)?)?)?)?$/i.test(t)?t=new Date(t):(y=(S=(D=t.split(/ /g))[0].split(/\D/g))[0],_=parseFloat(S[1]),b=parseFloat(S[2]),M=(T=D[1]||"09:00").substring(0,5).split(":"),w=parseFloat(M[0]),k=parseFloat(M[1]),"AM"!==C(T,2)&&"PM"!==C(T,2)||(w+=12),t=I(y,_-1,b,w,k));else if(14==t.length)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,A(P.substr(6,2)),A(P.substr(8,2)),A(P.substr(10,2)),A(P.substr(12,2)));else if(t.length>7)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,A(P.substr(6,2)));else if(t.length>4)P=t.replace(/\D/g,""),t=I(P.substr(0,4),P.substr(4,2)-1,1);else{if(t.length>2)return I((P=t.replace(/\D/g,"")).substr(0,4),P.substr(4,2)-1,1);t=new Date}return void 0===e||void 0===t?t:("add"in e&&(t=function(t,e){var i=void 0,n=void 0,a=void 0,o=void 0;return void 0!==e.d?t.setTime(t.getTime()+864e5*e.d):void 0!==e.m?(i=t.getFullYear(),n=t.getMonth(),a=t.getDate(),(o=E(i+=parseInt(e.m/12),n+=e.m%12))=e||i<0||h&&t-c>=o}function m(){var t=Date.now();if(p(t))return g(t);s=setTimeout(m,function(t){var i=t-c,n=e-(t-l);return h?Math.min(n,o-i):n}(t))}function g(t){return s=void 0,d&&n?f(t):(n=a=void 0,r)}function v(){for(var t=Date.now(),i=p(t),o=arguments.length,d=Array(o),g=0;g\&\"]/gm,function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";case'"':return""";default:return t}}):""}function Y(t){return"[object String]"!=v.call(t)?t:t?t.replace(/(<)|(>)|(&)|(")/gm,function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";case""":return'"';default:return t}}):""}return{alert:function(t){return e.alert(_(t)),t},each:y,map:function(t,e){if(M(t))return[];var i=void 0,n=0,a=t.length,o=[],r=void 0;if(b(t)){for(i in t)if(void 0!==t[i]){if(r=void 0,!1===(r=e.call(t[i],i,t[i])))break;o.push(r)}}else for(;n0&&(void 0===e[n]||!1!==(a=i.call(t,a,e[--n]))););return a},filter:function(t,e){if(M(t))return[];var i,n=0,a=t.length,o=[];if(b(t))for(i in t)void 0!==t[i]&&e.call(t[i],i,t[i])&&o.push(t[i]);else for(;n7&&O(t)instanceof Date)return!0;if((t=t.replace(/\D/g,"")).length>7){var i=t.substr(4,2),n=t.substr(6,2);(t=O(t)).getMonth()==i-1&&t.getDate()==n&&(e=!0)}}return e},stopEvent:function(t){t||(t=window.event);return t.cancelBubble=!0,t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1},selectRange:W,debounce:H,throttle:function(t,e,i){var n=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return b(i)&&(n="leading"in i?!!i.leading:n,a="trailing"in i?!!i.trailing:a),H(t,e,{leading:n,maxWait:e,trailing:a})},escapeHtml:z,unescapeHtml:Y,string:function(t){return new function(t){this.value=t,this.toString=function(){return this.value},this.format=function(){for(var t=[],e=0,i=arguments.length;e.5?l/(2-o-r):l/(o+r),o){case t:n=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}if(t=c(t,360),e=c(e,100),i=c(i,100),0===e)n=a=o=i;else{var s=i<.5?i*(1+e):i+e-i*e,l=2*i-s;n=r(l,s,t+1/3),a=r(l,s,t),o=r(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*o}}return new function(e){this._originalValue=e,e=function(t){var e=void 0;return(e=o.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=o.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=o.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=o.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=o.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=o.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=o.hex8.exec(t))?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16),a:parseInt(e[4]/255,16),format:"hex8"}:(e=o.hex6.exec(t))?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16),format:"hex"}:(e=o.hex4.exec(t))?{r:parseInt(e[1]+""+e[1],16),g:parseInt(e[2]+""+e[2],16),b:parseInt(e[3]+""+e[3],16),a:parseInt(e[4]+""+e[4],16),format:"hex8"}:!!(e=o.hex3.exec(t))&&{r:parseInt(e[1]+""+e[1],16),g:parseInt(e[2]+""+e[2],16),b:parseInt(e[3]+""+e[3],16),format:"hex"}}(e),this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a||1,this._format=e.format,this._hex=l(this.r)+l(this.g)+l(this.b),this.getHexValue=function(){return this._hex},this.lighten=function(e){e=0===e?0:e||10;var i,n=u(this.r,this.g,this.b);return n.l+=e/100,n.l=Math.min(1,Math.max(0,n.l)),n.h=360*n.h,t("rgba("+s((i=h(n.h,r(n.s),r(n.l))).r)+", "+s(i.g)+", "+s(i.b)+", "+this.a+")")},this.darken=function(e){e=0===e?0:e||10;var i,n=u(this.r,this.g,this.b);return n.l-=e/100,n.l=Math.min(1,Math.max(0,n.l)),n.h=360*n.h,t("rgba("+s((i=h(n.h,r(n.s),r(n.l))).r)+", "+s(i.g)+", "+s(i.b)+", "+this.a+")")},this.getBrightness=function(){return(299*this.r+587*this.g+114*this.b)/1e3},this.isDark=function(){return this.getBrightness()<128},this.isLight=function(){return!this.isDark()},this.getHsl=function(){var t=u(this.r,this.g,this.b);return t.l=Math.min(1,Math.max(0,t.l)),t.h=360*t.h,{h:t.h,s:t.s,l:t.l}}}(e)}}}(),"object"===("undefined"==typeof module?"undefined":_typeof(module))&&"object"===_typeof(module.exports)?module.exports=p:t.ax5=p}).call("undefined"!=typeof window?window:void 0),ax5.def={},ax5.info.errorMsg.ax5dialog={501:"Duplicate call error"},ax5.info.errorMsg.ax5picker={401:"Can not find target element",402:"Can not find boundID",501:"Can not find content key"},ax5.info.errorMsg["single-uploader"]={460:"There are no files to be uploaded.",461:"There is no uploaded files."},ax5.info.errorMsg.ax5calendar={401:"Can not find target element"},ax5.info.errorMsg.ax5formatter={401:"Can not find target element",402:"Can not find boundID",501:"Can not find pattern"},ax5.info.errorMsg.ax5menu={501:"Can not find menu item"},ax5.info.errorMsg.ax5select={401:"Can not find target element",402:"Can not find boundID",501:"Can not find option"},ax5.info.errorMsg.ax5combobox={401:"Can not find target element",402:"Can not find boundID",501:"Can not find option"},function(){"use strict";var t,e,i,n,a,o,r=/^\s*|\s*$/g;(Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=(i=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(a){if("object"!==(void 0===a?"undefined":_typeof(a))&&("function"!=typeof a||null===a))throw new TypeError("type err");var o,r,s=[];for(o in a)t.call(a,o)&&s.push(o);if(e)for(r=0;r>>0;if("function"!=typeof t)throw TypeError();var n,a=arguments[1];for(n=0;ni));n+=1);return t.removeRule(0),r};document.querySelectorAll=function(t){return e(t,1/0)},document.querySelector=function(t){return e(t,1)[0]||null}}}(),String.prototype.trim||(String.prototype.trim=function(){return this.replace(r,"")}),window.JSON||(window.JSON={parse:function(t){return new Function("","return "+t)()},stringify:(o=/["]/g,a=function(t){var e,i,n;switch(e=void 0===t?"undefined":_typeof(t)){case"string":return'"'+t.replace(o,'\\"')+'"';case"number":case"boolean":return t.toString();case"undefined":return"undefined";case"function":return'""';case"object":if(!t)return"null";if(e="",t.splice){for(i=0,n=t.length;i=9)return!1;var t=Array.prototype.splice;Array.prototype.splice=function(){var e=Array.prototype.slice.call(arguments);return void 0===e[1]&&(e[1]=this.length-e[0]),t.apply(this,e)}}(),function(){var t=Array.prototype.slice;try{t.call(document.documentElement)}catch(e){Array.prototype.slice=function(e,i){if(i=void 0!==i?i:this.length,"[object Array]"===Object.prototype.toString.call(this))return t.call(this,e,i);var n,a,o=[],r=this.length,s=e||0;s=s>=0?s:Math.max(0,r+s);var l="number"==typeof i?Math.min(i,r):r;if(i<0&&(l=r+i),(a=l-s)>0)if(o=new Array(a),this.charAt)for(n=0;n":">",'"':""","'":"'","/":"/"};var u=/\s*/,h=/\s+/,d=/\s*=/,f=/\s*\}/,p=/#|\^|\/|>|\{|&|=|!/;function m(t){this.string=t,this.tail=t,this.pos=0}function g(t,e){this.view=t,this.cache={".":this.view,"@each":function(){var t=[];for(var e in this)t.push({"@key":e,"@value":this[e]});return t}},this.parent=e}function v(){this.cache={}}m.prototype.eos=function(){return""===this.tail},m.prototype.scan=function(t){var e=this.tail.match(t);if(!e||0!==e.index)return"";var i=e[0];return this.tail=this.tail.substring(i.length),this.pos+=i.length,i},m.prototype.scanUntil=function(t){var e,i=this.tail.search(t);switch(i){case-1:e=this.tail,this.tail="";break;case 0:e="";break;default:e=this.tail.substring(0,i),this.tail=this.tail.substring(i)}return this.pos+=e.length,e},g.prototype.push=function(t){return new g(t,this)},g.prototype.lookup=function(t){var e,i=this.cache;if(i.hasOwnProperty(t))e=i[t];else{for(var a,r,s=this,l=!1;s;){if(t.indexOf(".")>0)for(e=s.view,a=t.split("."),r=0;null!=e&&r0?a[a.length-1][4]:i;break;default:n.push(e)}return i}(function(t){for(var e,i,n=[],a=0,o=t.length;a"===o?r=this.renderPartial(a,e,i,n):"&"===o?r=this.unescapedValue(a,e):"name"===o?r=this.escapedValue(a,e):"text"===o&&(r=this.rawValue(a)),void 0!==r&&(s+=r);return s},v.prototype.renderSection=function(t,e,a,o){var r=this,s="",l=e.lookup(t[1]);if(l){if(i(l))for(var c=0,u=l.length;c"'\/]/g,function(t){return c[t]})},t.Scanner=m,t.Context=g,t.Writer=v}),function(){var t=ax5.ui,e=ax5.util,i=void 0;t.addClass({className:"mask"},function(){var n,a=this;this.instanceId=ax5.getGuid(),this.config={theme:"",target:jQuery(document.body).get(0),animateTime:250},this.maskContent="",this.status="off",n=this.config;var o=function(t,e){return t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),t=null,e=null,!0},r=function(t){this.maskContent=t};this.init=function(){this.onStateChanged=n.onStateChanged,this.onClick=n.onClick,this.config.content&&r.call(this,this.config.content)},this.open=function(t){"on"===this.status&&this.close(),t&&t.content&&r.call(this,t.content),t&&void 0===t.templateName&&(t.templateName="defaultMask"),a.maskConfig=jQuery.extend(!0,{},this.config,t);var e=a.maskConfig,n=e.target,s=jQuery(n),l="ax-mask-"+ax5.getGuid(),c=void 0,u={},h={},d=e.templateName,f=function(t){return void 0===t.templateName&&(t.templateName="defaultMask"),i.tmpl.get.call(this,t.templateName,t)}({theme:e.theme,maskId:l,body:this.maskContent,templateName:d});return jQuery(document.body).append(f),n&&n!==jQuery(document.body).get(0)&&(u={position:e.position||"absolute",left:s.offset().left,top:s.offset().top,width:s.outerWidth(),height:s.outerHeight()},s.addClass("ax-masking"),jQuery(window).on("resize.ax5mask-"+this.instanceId,function(t){this.align()}.bind(this))),void 0!==a.maskConfig.zIndex&&(u["z-index"]=a.maskConfig.zIndex),this.$mask=c=jQuery("#"+l),this.$target=s,this.status="on",c.css(u),e.onClick&&c.on("click",function(t){h={self:a,state:"open",type:"click"},a.maskConfig.onClick.call(h,h)}),o.call(this,null,{self:this,state:"open"}),t=null,e=null,n=null,s=null,l=null,c=null,u=null,h=null,d=null,f=null,this},this.close=function(t){if(this.$mask){var e=function(){this.status="off",this.$mask.remove(),this.$target.removeClass("ax-masking"),o.call(this,null,{self:this,state:"close"}),jQuery(window).off("resize.ax5mask-"+this.instanceId)};t?setTimeout(function(){e.call(this)}.bind(this),t):e.call(this)}return this},this.fadeOut=function(){return this.$mask&&(this.$mask.addClass("fade-out"),setTimeout(function(){(function(){this.status="off",this.$mask.remove(),this.$target.removeClass("ax-masking"),o.call(this,null,{self:this,state:"close"}),jQuery(window).off("resize.ax5mask-"+this.instanceId)}).call(this)}.bind(this),n.animateTime)),this},this.align=function(){if(this.maskConfig&&this.maskConfig.target&&this.maskConfig.target!==jQuery(document.body).get(0))try{var t={position:this.maskConfig.position||"absolute",left:this.$target.offset().left,top:this.$target.offset().top,width:this.$target.outerWidth(),height:this.$target.outerHeight()};this.$mask.css(t)}catch(t){}return this},this.pullRequest=function(){console.log("test pullRequest01"),console.log("test pullRequest02")},this.main=function(){t.mask_instance=t.mask_instance||[],t.mask_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),i=ax5.ui.mask}(),function(){var t=ax5.ui.mask;t.tmpl={defaultMask:function(t){return'\n
    \n
    \n
    \n
    \n {{{body}}}\n
    \n
    \n
    \n '},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(){var t=ax5.ui,e=ax5.util,i=void 0;t.addClass({className:"modal"},function(){var n,a=this,o={mousedown:ax5.info.supportTouch?"touchstart":"mousedown",mousemove:ax5.info.supportTouch?"touchmove":"mousemove",mouseup:ax5.info.supportTouch?"touchend":"mouseup"},r=function(t){var e=t;return"changedTouches"in t&&t.changedTouches&&(e=t.changedTouches[0]),{clientX:e.clientX,clientY:e.clientY}};this.instanceId=ax5.getGuid(),this.config={id:"ax5-modal-"+this.instanceId,position:{left:"center",top:"middle",margin:10},minimizePosition:"bottom-right",clickEventName:"ontouchstart"in document.documentElement?"touchstart":"click",theme:"default",width:300,height:400,closeToEsc:!0,disableDrag:!1,disableResize:!1,animateTime:250,iframe:!1},this.activeModal=null,this.watingModal=!1,this.$={},n=this.config;var s=function(t,e){var i={resize:function(e){t&&t.onResize?t.onResize.call(e,e):this.onResize&&this.onResize.call(e,e)},move:function(){}};return e.state in i&&i[e.state].call(this,e),t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),!0},l=function(t,n){var l=void 0;jQuery(document.body).append(function(t,e){var n={modalId:t,theme:e.theme,header:e.header,fullScreen:e.fullScreen?"fullscreen":"",styles:"",iframe:e.iframe,iframeLoadingMsg:e.iframeLoadingMsg,disableResize:e.disableResize};return e.zIndex&&(n.styles+="z-index:"+e.zIndex+";"),e.absolute&&(n.styles+="position:absolute;"),n.iframe&&"string"==typeof n.iframe.param&&(n.iframe.param=ax5.util.param(n.iframe.param)),i.tmpl.get.call(this,"content",n,{})}.call(this,t.id,t)),this.activeModal=jQuery("#"+t.id),this.$={root:this.activeModal,header:this.activeModal.find('[data-modal-els="header"]'),body:this.activeModal.find('[data-modal-els="body"]')},t.iframe?(this.$["iframe-wrap"]=this.activeModal.find('[data-modal-els="iframe-wrap"]'),this.$.iframe=this.activeModal.find('[data-modal-els="iframe"]'),this.$["iframe-form"]=this.activeModal.find('[data-modal-els="iframe-form"]'),this.$["iframe-loading"]=this.activeModal.find('[data-modal-els="iframe-loading"]')):this.$["body-frame"]=this.activeModal.find('[data-modal-els="body-frame"]'),this.align(),l={self:this,id:t.id,theme:t.theme,width:t.width,height:t.height,state:"open",$:this.$},t.iframe&&(this.$["iframe-wrap"].css({height:t.height}),this.$.iframe.css({height:t.height}),this.$["iframe-form"].attr({method:t.iframe.method}),this.$["iframe-form"].attr({target:t.id+"-frame"}),this.$["iframe-form"].attr({action:t.iframe.url}),this.$.iframe.on("load",function(){l.state="load",t.iframeLoadingMsg&&this.$["iframe-loading"].hide(),s.call(this,t,l)}.bind(this)),t.iframeLoadingMsg||this.$.iframe.show(),this.$["iframe-form"].submit()),n&&n.call(l,l),this.watingModal||s.call(this,t,l),t.closeToEsc&&jQuery(window).bind("keydown.ax-modal",function(t){u.call(this,t||window.event)}.bind(this)),jQuery(window).bind("resize.ax-modal",function(t){this.align(null,t||window.event)}.bind(this)),this.$.header.off(o.mousedown).off("dragstart").on(o.mousedown,function(i){var n=e.findParentNode(i.target,function(t){if(t.getAttribute("data-modal-header-btn"))return!0});t.isFullScreen||n||1==t.disableDrag||(a.mousePosition=r(i),d.on.call(a)),n&&c.call(a,i||window.event,t)}).on("dragstart",function(t){return e.stopEvent(t.originalEvent),!1}),this.activeModal.off(o.mousedown).off("dragstart").on(o.mousedown,"[data-ax5modal-resizer]",function(e){if(t.disableDrag||t.isFullScreen)return!1;a.mousePosition=r(e),f.on.call(a,this.getAttribute("data-ax5modal-resizer"))}).on("dragstart",function(t){return e.stopEvent(t.originalEvent),!1})},c=function(t,i,n,a,o){var r=void 0;t.srcElement&&(t.target=t.srcElement),(a=e.findParentNode(t.target,function(t){if(t.getAttribute("data-modal-header-btn"))return!0}))&&(r={self:this,key:o=a.getAttribute("data-modal-header-btn"),value:i.header.btns[o],dialogId:i.id,btnTarget:a},i.header.btns[o].onClick&&i.header.btns[o].onClick.call(r,o)),r=null,i=null,a=null,o=null},u=function(t){t.keyCode==ax5.info.eventKeys.ESC&&this.close()},h={"top-left":function(){this.align({left:"left",top:"top"})},"top-right":function(){this.align({left:"right",top:"top"})},"bottom-left":function(){this.align({left:"left",top:"bottom"})},"bottom-right":function(){this.align({left:"right",top:"bottom"})},"center-middle":function(){this.align({left:"center",top:"middle"})}},d={on:function(){var t=this.activeModal.css("z-index"),e=this.activeModal.offset(),i={width:this.activeModal.outerWidth(),height:this.activeModal.outerHeight()};jQuery(window).width(),jQuery(window).height(),jQuery(document).scrollLeft(),jQuery(document).scrollTop(),a.__dx=0,a.__dy=0,a.resizerBg=jQuery('
    '),a.resizer=jQuery('
    '),a.resizerBg.css({zIndex:t}),a.resizer.css({left:e.left,top:e.top,width:i.width,height:i.height,zIndex:t+1}),jQuery(document.body).append(a.resizerBg).append(a.resizer),a.activeModal.addClass("draged"),jQuery(document.body).on(o.mousemove+".ax5modal-move-"+this.instanceId,function(t){a.resizer.css(function(t){return a.__dx=t.clientX-a.mousePosition.clientX,a.__dy=t.clientY-a.mousePosition.clientY,{left:e.left+a.__dx,top:e.top+a.__dy}}(t))}).on(o.mouseup+".ax5modal-move-"+this.instanceId,function(t){d.off.call(a)}).on("mouseleave.ax5modal-move-"+this.instanceId,function(t){d.off.call(a)}),jQuery(document.body).attr("unselectable","on").css("user-select","none").on("selectstart",!1)},off:function(){this.activeModal.removeClass("draged"),function(){var t=this.resizer.offset();this.modalConfig.absolute||(t.left-=jQuery(document).scrollLeft(),t.top-=jQuery(document).scrollTop()),this.activeModal.css(t),this.modalConfig.left=t.left,this.modalConfig.top=t.top,t=null}.call(this),this.resizer.remove(),this.resizer=null,this.resizerBg.remove(),this.resizerBg=null,jQuery(document.body).off(o.mousemove+".ax5modal-move-"+this.instanceId).off(o.mouseup+".ax5modal-move-"+this.instanceId).off("mouseleave.ax5modal-move-"+this.instanceId),jQuery(document.body).removeAttr("unselectable").css("user-select","auto").off("selectstart"),s.call(this,a.modalConfig,{self:this,state:"move"})}},f={on:function(t){var e=this.activeModal.css("z-index"),i=this.activeModal.offset(),n={width:this.activeModal.outerWidth(),height:this.activeModal.outerHeight()},r=(jQuery(window).width(),jQuery(window).height(),jQuery(document).scrollLeft(),jQuery(document).scrollTop(),{top:function(t){return l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),{left:i.left,top:i.top+a.__dy,width:n.width,height:n.height-2*a.__dy}):t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),{left:i.left+a.__dy,top:i.top+a.__dy,width:n.width-2*a.__dy,height:n.height-2*a.__dy}):{left:i.left,top:i.top+a.__dy,width:n.width,height:n.height-a.__dy}},bottom:function(t){return l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey?(l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left,top:i.top-a.__dy,width:n.width,height:n.height+2*a.__dy}):t.altKey?(l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left-a.__dy,top:i.top-a.__dy,width:n.width+2*a.__dy,height:n.height+2*a.__dy}):{left:i.left,top:i.top,width:n.width,height:n.height+a.__dy}},left:function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),t.shiftKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top,width:n.width-2*a.__dx,height:n.height}):t.altKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dx,width:n.width-2*a.__dx,height:n.height-2*a.__dx}):{left:i.left+a.__dx,top:i.top,width:n.width-a.__dx,height:n.height}},right:function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),t.shiftKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top,width:n.width+2*a.__dx,height:n.height}):t.altKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top-a.__dx,width:n.width+2*a.__dx,height:n.height+2*a.__dx}):{left:i.left,top:i.top,width:n.width+a.__dx,height:n.height}},"top-left":function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey||t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dy,width:n.width-2*a.__dx,height:n.height-2*a.__dy}):(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),{left:i.left+a.__dx,top:i.top+a.__dy,width:n.width-a.__dx,height:n.height-a.__dy})},"top-right":function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),l>n.height-a.__dy&&(a.__dy=n.height-l),t.shiftKey||t.altKey?(l>n.height-2*a.__dy&&(a.__dy=(n.height-l)/2),s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),{left:i.left-a.__dx,top:i.top+a.__dy,width:n.width+2*a.__dx,height:n.height-2*a.__dy}):{left:i.left,top:i.top+a.__dy,width:n.width+a.__dx,height:n.height-a.__dy}},"bottom-left":function(t){return s>n.width-a.__dx&&(a.__dx=n.width-s),l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey||t.altKey?(s>n.width-2*a.__dx&&(a.__dx=(n.width-s)/2),l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left+a.__dx,top:i.top-a.__dy,width:n.width-2*a.__dx,height:n.height+2*a.__dy}):{left:i.left+a.__dx,top:i.top,width:n.width-a.__dx,height:n.height+a.__dy}},"bottom-right":function(t){return s>n.width+a.__dx&&(a.__dx=-n.width+s),l>n.height+a.__dy&&(a.__dy=-n.height+l),t.shiftKey||t.altKey?(s>n.width+2*a.__dx&&(a.__dx=(-n.width+s)/2),l>n.height+2*a.__dy&&(a.__dy=(-n.height+l)/2),{left:i.left-a.__dx,top:i.top-a.__dy,width:n.width+2*a.__dx,height:n.height+2*a.__dy}):{left:i.left,top:i.top,width:n.width+a.__dx,height:n.height+a.__dy}}}),s=100,l=100,c={top:"row-resize",bottom:"row-resize",left:"col-resize",right:"col-resize","top-left":"nwse-resize","top-right":"nesw-resize","bottom-left":"nesw-resize","bottom-right":"nwse-resize"};a.__dx=0,a.__dy=0,a.resizerBg=jQuery('
    '),a.resizer=jQuery('
    '),a.resizerBg.css({zIndex:e,cursor:c[t]}),a.resizer.css({left:i.left,top:i.top,width:n.width,height:n.height,zIndex:e+1,cursor:c[t]}),jQuery(document.body).append(a.resizerBg).append(a.resizer),a.activeModal.addClass("draged"),jQuery(document.body).bind(o.mousemove+".ax5modal-resize-"+this.instanceId,function(e){a.resizer.css(function(e){return a.__dx=e.clientX-a.mousePosition.clientX,a.__dy=e.clientY-a.mousePosition.clientY,r[t](e)}(e))}).bind(o.mouseup+".ax5modal-resize-"+this.instanceId,function(t){f.off.call(a)}).bind("mouseleave.ax5modal-resize-"+this.instanceId,function(t){f.off.call(a)}),jQuery(document.body).attr("unselectable","on").css("user-select","none").bind("selectstart",!1)},off:function(){this.activeModal.removeClass("draged"),function(){var t=this.resizer.offset();jQuery.extend(t,{width:this.resizer.width(),height:this.resizer.height()}),this.modalConfig.absolute||(t.left-=jQuery(document).scrollLeft(),t.top-=jQuery(document).scrollTop()),this.activeModal.css(t),this.modalConfig.left=t.left,this.modalConfig.top=t.top,this.modalConfig.width=t.width,this.modalConfig.height=t.height,this.$.body.css({height:t.height-this.modalConfig.headerHeight}),this.modalConfig.iframe&&(this.$["iframe-wrap"].css({height:t.height-this.modalConfig.headerHeight}),this.$.iframe.css({height:t.height-this.modalConfig.headerHeight})),t=null}.call(this),this.resizer.remove(),this.resizer=null,this.resizerBg.remove(),this.resizerBg=null,s.call(this,a.modalConfig,{self:this,state:"resize"}),jQuery(document.body).unbind(o.mousemove+".ax5modal-resize-"+this.instanceId).unbind(o.mouseup+".ax5modal-resize-"+this.instanceId).unbind("mouseleave.ax5modal-resize-"+this.instanceId),jQuery(document.body).removeAttr("unselectable").css("user-select","auto").unbind("selectstart")}};this.init=function(){this.onStateChanged=n.onStateChanged,this.onResize=n.onResize},this.open=function(t,e,i){return void 0===i&&(i=0),this.activeModal?i<3?(this.watingModal=!0,setTimeout(function(){this.open(t,e,i+1)}.bind(this),n.animateTime)):this.watingModal=!1:(t=a.modalConfig=jQuery.extend(!0,{},n,t),l.call(this,t,e),this.watingModal=!1),this},this.close=function(t){var i=void 0,o=void 0;return this.activeModal&&(i=a.modalConfig,this.activeModal.addClass("destroy"),jQuery(window).unbind("keydown.ax-modal"),jQuery(window).unbind("resize.ax-modal"),setTimeout(function(){if(i.iframe){var n=this.$.iframe;if(n){var a=n.get(0),r=a.contentDocument?a.contentDocument:a.contentWindow.document;try{$(r.body).children().each(function(){$(this).remove()})}catch(t){}r.innerHTML="",n.attr("src","about:blank").remove(),window.CollectGarbage&&window.CollectGarbage()}}this.activeModal.remove(),this.activeModal=null,this.watingModal||s.call(this,i,{self:this,state:"close"}),t&&e.isFunction(t.callback)&&(o={self:this,id:i.id,theme:i.theme,width:i.width,height:i.height,state:"close",$:this.$},t.callback.call(o,o))}.bind(this),n.animateTime)),this.minimized=!1,this},this.minimize=function(t){if(!0!==this.minimized){var e=a.modalConfig;void 0===t&&(t=n.minimizePosition),this.minimized=!0,this.$.body.hide(),a.modalConfig.originalHeight=e.height,a.modalConfig.height=0,h[t].call(this),s.call(this,e,{self:this,state:"minimize"})}return this},this.restore=function(){var t=a.modalConfig;return this.minimized&&(this.minimized=!1,this.$.body.show(),a.modalConfig.height=a.modalConfig.originalHeight,a.modalConfig.originalHeight=void 0,this.align({left:"center",top:"middle"}),s.call(this,t,{self:this,state:"restore"})),this},this.css=function(t){return this.activeModal&&!a.fullScreen&&(this.activeModal.css(t),void 0!==t.width&&(a.modalConfig.width=t.width),void 0!==t.height&&(a.modalConfig.height=t.height),this.align()),this},this.setModalConfig=function(t){return a.modalConfig=jQuery.extend({},a.modalConfig,t),this.align(),this},this.align=function(t,i){if(!this.activeModal)return this;var n,o=a.modalConfig,r={width:o.width,height:o.height};return(o.isFullScreen=void 0!==(n=o.fullScreen)&&(e.isFunction(n)?n():void 0))?(o.header&&this.$.header.show(),o.header?(o.headerHeight=this.$.header.outerHeight(),r.height+=o.headerHeight):o.headerHeight=0,r.width=jQuery(window).width(),r.height=o.height,r.left=0,r.top=0):(o.header&&this.$.header.show(),t&&jQuery.extend(!0,o.position,t),o.header?(o.headerHeight=this.$.header.outerHeight(),r.height+=o.headerHeight):o.headerHeight=0,"left"==o.position.left?r.left=o.position.margin||0:"right"==o.position.left?r.left=jQuery(window).width()-r.width-(o.position.margin||0):"center"==o.position.left?r.left=jQuery(window).width()/2-r.width/2:r.left=o.position.left||0,"top"==o.position.top?r.top=o.position.margin||0:"bottom"==o.position.top?r.top=jQuery(window).height()-r.height-(o.position.margin||0):"middle"==o.position.top?r.top=jQuery(window).height()/2-r.height/2:r.top=o.position.top||0,r.left<0&&(r.left=0),r.top<0&&(r.top=0),o.absolute&&(r.top+=jQuery(window).scrollTop(),r.left+=jQuery(window).scrollLeft())),this.activeModal.css(r),this.$.body.css({height:r.height-(o.headerHeight||0)}),o.iframe&&(this.$["iframe-wrap"].css({height:r.height-o.headerHeight}),this.$.iframe.css({height:r.height-o.headerHeight})),this},this.main=function(){t.modal_instance=t.modal_instance||[],t.modal_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),i=ax5.ui.modal}(),function(){var t=ax5.ui.modal;t.tmpl={content:function(){return' \n
    \n {{#header}}\n
    \n {{{title}}}\n {{#btns}}\n
    \n {{#@each}}\n \n {{/@each}}\n
    \n {{/btns}}\n
    \n {{/header}}\n
    \n {{#iframe}}\n
    \n
    {{{iframeLoadingMsg}}}
    \n \n
    \n
    \n \n {{#param}}\n {{#@each}}\n \n {{/@each}}\n {{/param}}\n
    \n {{/iframe}}\n {{^iframe}}\n
    \n {{/iframe}}\n
    \n {{^disableResize}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{/disableResize}}\n
    \n '},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(){var t,e=ax5.ui,i=ax5.util;e.addClass({className:"toast"},function(){var n,a=this,o=0,r=null;this.instanceId=ax5.getGuid(),this.config={clickEventName:"click",theme:"default",width:300,icon:"",closeIcon:"",msg:"",lang:{ok:"ok",cancel:"cancel"},displayTime:3e3,animateTime:250,containerPosition:"bottom-left"},this.toastContainer=null,this.queue=[],n=this.config;var s=function(t,e){return t&&t.onStateChanged?t.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),t=null,e=null,!0},l=function(e,i){var n={toastId:e,theme:i.theme,icon:i.icon,msg:(i.msg||"").replace(/\n/g,"
    "),btns:i.btns,closeIcon:i.closeIcon};try{return t.tmpl.get.call(this,"toastDisplay",n)}finally{e=null,n=null}},c=function(t,e){r&&clearTimeout(r);var c,h={width:t.width};if(t.id="ax5-toast-"+a.containerId+"-"+ ++o,jQuery("#"+t.id).get(0))return this;"bottom"==i.left(n.containerPosition,"-")?this.toastContainer.append(l(t.id,t)):this.toastContainer.prepend(l(t.id,t)),(c=jQuery("#"+t.id)).css({width:h.width}),t.toastBox=c,this.queue.push(t),s.call(this,t,{self:this,state:"open",toastId:t.id}),"push"===t.toastType?(setTimeout(function(){this.close(t,e)}.bind(this),n.displayTime),c.find("[data-ax-toast-btn]").on(n.clickEventName,function(i){u.call(this,i||window.event,t,c,e)}.bind(this))):"confirm"===t.toastType&&c.find("[data-ax-toast-btn]").on(n.clickEventName,function(i){u.call(this,i||window.event,t,c,e)}.bind(this)),h=null},u=function(t,e,n,a,o,r){if(o=i.findParentNode(t.target,function(t){if(t.getAttribute("data-ax-toast-btn"))return!0})){var s={key:r=o.getAttribute("data-ax-toast-btn"),value:e.btns?e.btns[r]:r,toastId:e.id,btn_target:o};e.btns&&e.btns[r].onClick?e.btns[r].onClick.call(s,r):"push"===e.toastType?(a&&a.call(s,r),this.close(e,a)):"confirm"===e.toastType&&(a&&a.call(s,r),this.close(e,a))}t=null,e=null,a=null,o=null,r=null};this.init=function(){this.onStateChanged=n.onStateChanged,a.containerId=ax5.getGuid();var t=[];n.zIndex&&t.push("z-index:"+n.zIndex),jQuery(document.body).append('
    '),this.toastContainer=jQuery('[data-toast-container="'+a.containerId+'"]')},this.push=function(t,e){return a.containerId||this.init(),i.isString(t)&&(t={title:n.title,msg:t}),t.toastType="push",a.dialogConfig={},jQuery.extend(!0,a.dialogConfig,n,t),t=a.dialogConfig,c.call(this,t,e),t=null,e=null,this},this.confirm=function(t,e){return a.containerId||this.init(),i.isString(t)&&(t={title:n.title,msg:t}),t.toastType="confirm",a.dialogConfig={},jQuery.extend(!0,a.dialogConfig,n,t),void 0===(t=a.dialogConfig).btns&&(t.btns={ok:{label:n.lang.ok,theme:t.theme}}),c.call(this,t,e),t=null,e=null,this},this.close=function(t,e){void 0===t&&(t=i.last(this.queue));var a=t.toastBox;return a.addClass("push"==t.toastType?"removed":"destroy"),this.queue=i.filter(this.queue,function(){return t.id!=this.id}),setTimeout(function(){var i={toastId:t.id};a.remove(),e&&e.call(i),i={self:this,state:"close",toastId:t.id},s.call(this,t,i),0===this.queue.length&&(r&&clearTimeout(r),r=setTimeout(function(){0===this.queue.length&&(o=0)}.bind(this),3e3)),i=null,t=null,e=null,a=null}.bind(this),n.animateTime),this},this.main=function(){e.toast_instance=e.toast_instance||[],e.toast_instance.push(this),arguments&&i.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)}),t=ax5.ui.toast}(),function(){var t=ax5.ui.toast;t.tmpl={toastDisplay:function(t){return'\n
    \n {{#icon}}\n
    {{{.}}}
    \n {{/icon}}\n
    {{{msg}}}
    \n {{#btns}}\n
    \n
    \n {{#@each}}\n \n {{/@each}}\n
    \n
    \n {{/btns}}\n {{^btns}}\n {{{closeIcon}}}\n {{/btns}}\n
    \n
    '},get:function(e,i,n){return ax5.mustache.render(t.tmpl[e].call(this,n),i)}}}(),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){t.ui=t.ui||{};t.ui.version="1.12.1";var e,i=0,n=Array.prototype.slice;t.cleanData=(e=t.cleanData,function(i){var n,a,o;for(o=0;null!=(a=i[o]);o++)try{(n=t._data(a,"events"))&&n.remove&&t(a).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,n){var a,o,r,s={},l=e.split(".")[0],c=l+"-"+(e=e.split(".")[1]);return n||(n=i,i=t.Widget),t.isArray(n)&&(n=t.extend.apply(null,[{}].concat(n))),t.expr[":"][c.toLowerCase()]=function(e){return!!t.data(e,c)},t[l]=t[l]||{},a=t[l][e],o=t[l][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),(r=new i).options=t.widget.extend({},r.options),t.each(n,function(e,n){t.isFunction(n)?s[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function a(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=a,e=n.apply(this,arguments),this._super=i,this._superApply=o,e}}():s[e]=n}),o.prototype=t.widget.extend(r,{widgetEventPrefix:a&&r.widgetEventPrefix||e},s,{constructor:o,namespace:l,widgetName:e,widgetFullName:c}),a?(t.each(a._childConstructors,function(e,i){var n=i.prototype;t.widget(n.namespace+"."+n.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,a,o=n.call(arguments,1),r=0,s=o.length;r",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var n,a,o,r=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(r={},n=e.split("."),e=n.shift(),n.length){for(a=r[e]=t.widget.extend({},this.options[e]),o=0;o
    "),o=a.children()[0];return t("body").append(a),i=o.offsetWidth,a.css("overflow","scroll"),i===(n=o.offsetWidth)&&(n=a[0].clientWidth),a.remove(),e=i-n},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),n=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),a="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:u<0?"top":l>0?"bottom":"middle"};di(n(l),n(u))?h.important="horizontal":h.important="vertical",e.using.call(this,t,h)}),r.offset(t.extend(M,{using:o}))})},t.ui.position={fit:{left:function(t,e){var n,a=e.within,o=a.isWindow?a.scrollLeft:a.offset.left,r=a.width,s=t.left-e.collisionPosition.marginLeft,l=o-s,c=s+e.collisionWidth-r-o;e.collisionWidth>r?l>0&&c<=0?(n=t.left+l+e.collisionWidth-r-o,t.left+=l-n):t.left=c>0&&l<=0?o:l>c?o+r-e.collisionWidth:o:l>0?t.left+=l:c>0?t.left-=c:t.left=i(t.left-s,t.left)},top:function(t,e){var n,a=e.within,o=a.isWindow?a.scrollTop:a.offset.top,r=e.within.height,s=t.top-e.collisionPosition.marginTop,l=o-s,c=s+e.collisionHeight-r-o;e.collisionHeight>r?l>0&&c<=0?(n=t.top+l+e.collisionHeight-r-o,t.top+=l-n):t.top=c>0&&l<=0?o:l>c?o+r-e.collisionHeight:o:l>0?t.top+=l:c>0?t.top-=c:t.top=i(t.top-s,t.top)}},flip:{left:function(t,e){var i,a,o=e.within,r=o.offset.left+o.scrollLeft,s=o.width,l=o.isWindow?o.scrollLeft:o.offset.left,c=t.left-e.collisionPosition.marginLeft,u=c-l,h=c+e.collisionWidth-s-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,f="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,p=-2*e.offset[0];u<0?((i=t.left+d+f+p+e.collisionWidth-s-r)<0||i0&&((a=t.left-e.collisionPosition.marginLeft+d+f+p-l)>0||n(a)0&&((i=t.top-e.collisionPosition.marginTop+d+f+p-l)>0||n(i)=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var n=null,a=!1,o=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return n=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(n=t(e.target)),!!n&&(!(this.options.handle&&!i&&(t(this.options.handle,n).find("*").addBack().each(function(){this===e.target&&(a=!0)}),!a))&&(this.currentItem=n,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(e,i,n){var a,o,r=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,r.cursorAt&&this._adjustOffsetFromHelper(r.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),r.containment&&this._setContainment(),r.cursor&&"auto"!==r.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",r.cursor),this.storedStylesheet=t("").appendTo(o)),r.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",r.opacity)),r.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",r.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(a=this.containers.length-1;a>=0;a--)this.containers[a]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!r.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,n,a,o,r=this.options,s=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(a=(n=this.items[i]).item[0],(o=this._intersectsWithPointer(n))&&n.instance===this.currentContainer&&!(a===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===a||t.contains(this.placeholder[0],a)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],a))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(n))break;this._rearrange(e,n),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var n=this,a=this.placeholder.offset(),o=this.options.axis,r={};o&&"x"!==o||(r.left=a.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(r.top=a.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(r,parseInt(this.options.revert,10)||500,function(){n._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&n.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!n.length&&e.key&&n.push(e.key+"="),n.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},i.each(function(){n.push(t(e.item||this).attr(e.attribute||"id")||"")}),n},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,n=this.positionAbs.top,a=n+this.helperProportions.height,o=t.left,r=o+t.width,s=t.top,l=s+t.height,c=this.offset.click.top,u=this.offset.click.left,h="x"===this.options.axis||n+c>s&&n+co&&e+ut[this.floating?"width":"height"]?f:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,n,a,o,r=[],s=[],l=this._connectWith();if(l&&e)for(i=l.length-1;i>=0;i--)for(n=(a=t(l[i],this.document[0])).length-1;n>=0;n--)(o=t.data(a[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&s.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function c(){r.push(this)}for(s.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=s.length-1;i>=0;i--)s[i][0].each(c);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(n=(a=t(d[i],this.document[0])).length-1;n>=0;n--)(o=t.data(a[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&(h.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=h.length-1;i>=0;i--)for(r=h[i][1],n=0,c=(s=h[i][0]).length;n=0;i--)(n=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&n.item[0]!==this.currentItem[0]||(a=this.options.toleranceElement?t(this.options.toleranceElement,n.item):n.item,e||(n.width=a.outerWidth(),n.height=a.outerHeight()),o=a.offset(),n.left=o.left,n.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){var i,n=(e=e||this).options;n.placeholder&&n.placeholder.constructor!==String||(i=n.placeholder,n.placeholder={element:function(){var n=e.currentItem[0].nodeName.toLowerCase(),a=t("<"+n+">",e.document[0]);return e._addClass(a,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(a,"ui-sortable-helper"),"tbody"===n?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(a)):"tr"===n?e._createTrPlaceholder(e.currentItem,a):"img"===n&&a.attr("src",e.currentItem.attr("src")),i||a.css("visibility","hidden"),a},update:function(t,a){i&&!n.forcePlaceholderSize||(a.height()||a.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),a.width()||a.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(n.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),n.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var n=this;e.children().each(function(){t(" ",n.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,n,a,o,r,s,l,c,u,h,d=null,f=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],f=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[f].containerCache.over||(this.containers[f]._trigger("over",e,this._uiHash(this)),this.containers[f].containerCache.over=1);else{for(a=1e4,o=null,r=(u=d.floating||this._isFloating(this.currentItem))?"left":"top",s=u?"width":"height",h=u?"pageX":"pageY",n=this.items.length-1;n>=0;n--)t.contains(this.containers[f].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(l=this.items[n].item.offset()[r],c=!1,e[h]-l>this.items[n][s]/2&&(c=!0),Math.abs(e[h]-l)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(r=this.containment[3]+this.offset.click.top)),a.grid&&(i=this.originalPageY+Math.round((r-this.originalPageY)/a.grid[1])*a.grid[1],r=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-a.grid[1]:i+a.grid[1]:i,n=this.originalPageX+Math.round((o-this.originalPageX)/a.grid[0])*a.grid[0],o=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-a.grid[0]:n+a.grid[0]:n)),{top:r-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():l?0:s.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():l?0:s.scrollLeft())}},_rearrange:function(t,e,i,n){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var a=this.counter;this._delay(function(){a===this.counter&&this.refreshPositions(!n)})},_clear:function(t,e){this.reverting=!1;var i,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function a(t,e,i){return function(n){i._trigger(t,n,e._uiHash(e))}}for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||n.push(a("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(n.push(a("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),n=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&n.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),n=t(e.currentTarget);i[0]===n[0]&&(this._removeClass(n.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,n))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,n,a,o,r=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:r=!1,n=this.previousFilter||"",o=!1,a=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,i=this._filterMenuItems(a),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(a=String.fromCharCode(e.keyCode),i=this._filterMenuItems(a)),i.length?(this.focus(e,i),this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}r&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,n,a,o=this,r=this.options.icons.submenu,s=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=s.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),n=t("").data("ui-menu-submenu-caret",!0);o._addClass(n,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=s.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),a=(n=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(a,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,n,a;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),n=this.active.children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",n.attr("id")),a=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(a,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,n,a,o,r,s;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,n=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,a=e.offset().top-this.activeMenu.offset().top-i-n,o=this.activeMenu.scrollTop(),r=this.activeMenu.height(),s=e.outerHeight(),a<0?this.activeMenu.scrollTop(o+a):a+s>r&&this.activeMenu.scrollTop(o+a-r+s))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var n=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));n.length||(n=this.element),this._close(n),this.blur(e),this._removeClass(n.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=n},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var n;this.active&&(n="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),n&&n.length&&this.active||(n=this.activeMenu.find(this.options.items)[e]()),this.focus(i,n)},nextPage:function(e){var i,n,a;this.active?this.isLastItem()||(this._hasScroll()?(n=this.active.offset().top,a=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n-a<0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,n,a;this.active?this.isFirstItem()||(this._hasScroll()?(n=this.active.offset().top,a=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n+a>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,n,a=this.element[0].nodeName.toLowerCase(),o="textarea"===a,r="input"===a;this.isMultiLine=o||!r&&this._isContentEditable(this.element),this.valueMethod=this.element[o||r?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(a){if(this.element.prop("readOnly"))return e=!0,n=!0,void(i=!0);e=!1,n=!1,i=!1;var o=t.ui.keyCode;switch(a.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",a);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",a);break;case o.UP:e=!0,this._keyEvent("previous",a);break;case o.DOWN:e=!0,this._keyEvent("next",a);break;case o.ENTER:this.menu.active&&(e=!0,a.preventDefault(),this.menu.select(a));break;case o.TAB:this.menu.active&&this.menu.select(a);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(a),a.preventDefault());break;default:i=!0,this._searchTimeout(a)}},keypress:function(n){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||n.preventDefault());if(!i){var a=t.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:this._move("previousPage",n);break;case a.PAGE_DOWN:this._move("nextPage",n);break;case a.UP:this._keyEvent("previous",n);break;case a.DOWN:this._keyEvent("next",n)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(t),this._change(t))}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var n,a;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});a=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:a})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(a.value),(n=i.item.attr("aria-label")||a.value)&&t.trim(n).length&&(this.liveRegion.children().hide(),t("
      ").text(n).appendTo(this.liveRegion))},menuselect:function(e,i){var n=i.item.data("ui-autocomplete-item"),a=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=a,this._delay(function(){this.previous=a,this.selectedItem=n})),!1!==this._trigger("select",e,{item:n})&&this._value(n.value),this.term=this._value(),this.close(e),this.selectedItem=n}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,n=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,n){n(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,a){n.xhr&&n.xhr.abort(),n.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){a(t)},error:function(){a([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),n=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||n)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var n=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return n.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}});var r;t.ui.autocomplete;function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=l(t("
      "))}function l(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,c)}function c(){t.datepicker._isDisabledDatepicker(r.inline?r.dpDiv.parent()[0]:r.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function u(e,i){for(var n in t.extend(e,i),i)null==i[n]&&(e[n]=i[n]);return e}t.extend(t.ui,{datepicker:{version:"1.12.1"}}),t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return u(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var n,a,o;a="div"===(n=e.nodeName.toLowerCase())||"span"===n,e.id||(this.uuid+=1,e.id="dp"+this.uuid),(o=this._newInst(t(e),a)).settings=t.extend({},i||{}),"input"===n?this._connectDatepicker(e,o):a&&this._inlineDatepicker(e,o)},_newInst:function(e,i){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?l(t("
      ")):this.dpDiv}},_connectDatepicker:function(e,i){var n=t(e);i.append=t([]),i.trigger=t([]),n.hasClass(this.markerClassName)||(this._attachments(n,i),n.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var n,a,o,r=this._get(i,"appendText"),s=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t(""+r+""),e[s?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),"focus"!==(n=this._get(i,"showOn"))&&"both"!==n||e.on("focus",this._showDatepicker),"button"!==n&&"both"!==n||(a=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("").addClass(this._triggerClass).attr({src:o,alt:a,title:a}):t("").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:a,title:a}):a)),e[s?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,n,a,o=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,n=0,a=0;ai&&(i=t[a].length,n=a);return n},o.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var n=t(e);n.hasClass(this.markerClassName)||(n.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,n,a,o){var r,s,l,c,h,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),(d=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},t.data(this._dialogInput[0],"datepicker",d)),u(d.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(s=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,h=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[s/2-100+c,l/2-150+h]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=n,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,n=t(e),a=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(a.append.remove(),a.trigger.remove(),n.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||n.removeClass(this.markerClassName).empty(),r===a&&(r=null))},_enableDatepicker:function(e){var i,n,a=t(e),o=t.data(e,"datepicker");a.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==i&&"span"!==i||((n=a.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,n,a=t(e),o=t.data(e,"datepicker");a.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==i&&"span"!==i||((n=a.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;e-1},_doKeyUp:function(e){var i=t.datepicker._getInst(e.target);if(i.input.val()!==i.lastVal)try{t.datepicker.parseDate(t.datepicker._get(i,"dateFormat"),i.input?i.input.val():null,t.datepicker._getFormatConfig(i))&&(t.datepicker._setDateFromField(i),t.datepicker._updateAlternate(i),t.datepicker._updateDatepicker(i))}catch(t){}return!0},_showDatepicker:function(e){var i,n,a,o,r,s,l;("input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),t.datepicker._isDisabledDatepicker(e)||t.datepicker._lastInput===e)||(i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),!1!==(a=(n=t.datepicker._get(i,"beforeShow"))?n.apply(e,[e,i]):{})&&(u(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),o=!1,t(e).parents().each(function(){return!(o|="fixed"===t(this).css("position"))}),r={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),r=t.datepicker._checkOffset(i,r,o),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":o?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(s=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(t){for(var e,i;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[s]?i.dpDiv.show(s,t.datepicker._get(i,"showOptions"),l):i.dpDiv[s||"show"](s?l:null),t.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),t.datepicker._curInst=i)))},_updateDatepicker:function(e){this.maxRows=4,r=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,n=this._getNumberOfMonths(e),a=n[1],o=e.dpDiv.find("."+this._dayOverClass+" a");o.length>0&&c.apply(o.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),a>1&&e.dpDiv.addClass("ui-datepicker-multi-"+a).css("width",17*a+"em"),e.dpDiv[(1!==n[0]||1!==n[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,n){var a=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,s=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(n?0:t(document).scrollLeft()),c=document.documentElement.clientHeight+(n?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?a-r:0,i.left-=n&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=n&&i.top===e.input.offset().top+s?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+a>l&&l>a?Math.abs(i.left+a-l):0),i.top-=Math.min(i.top,i.top+o>c&&c>o?Math.abs(o+s):0),i},_findPos:function(e){for(var i,n=this._getInst(e),a=this._get(n,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[a?"previousSibling":"nextSibling"];return[(i=t(e).offset()).left,i.top]},_hideDatepicker:function(e){var i,n,a,o,r=this._curInst;!r||e&&r!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(r,"showAnim"),n=this._get(r,"duration"),a=function(){t.datepicker._tidyDialog(r)},t.effects&&(t.effects.effect[i]||t.effects[i])?r.dpDiv.hide(i,t.datepicker._get(r,"showOptions"),n,a):r.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?n:null,a),i||a(),this._datepickerShowing=!1,(o=this._get(r,"onClose"))&&o.apply(r.input?r.input[0]:null,[r.input?r.input.val():"",r]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),n=t.datepicker._getInst(i[0]);(i[0].id===t.datepicker._mainDivId||0!==i.parents("#"+t.datepicker._mainDivId).length||i.hasClass(t.datepicker.markerClassName)||i.closest("."+t.datepicker._triggerClass).length||!t.datepicker._datepickerShowing||t.datepicker._inDialog&&t.blockUI)&&(!i.hasClass(t.datepicker.markerClassName)||t.datepicker._curInst===n)||t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,n){var a=t(e),o=this._getInst(a[0]);this._isDisabledDatepicker(a[0])||(this._adjustInstDate(o,i+("M"===n?this._get(o,"showCurrentAtPos"):0),n),this._updateDatepicker(o))},_gotoToday:function(e){var i,n=t(e),a=this._getInst(n[0]);this._get(a,"gotoCurrent")&&a.currentDay?(a.selectedDay=a.currentDay,a.drawMonth=a.selectedMonth=a.currentMonth,a.drawYear=a.selectedYear=a.currentYear):(i=new Date,a.selectedDay=i.getDate(),a.drawMonth=a.selectedMonth=i.getMonth(),a.drawYear=a.selectedYear=i.getFullYear()),this._notifyChange(a),this._adjustDate(n)},_selectMonthYear:function(e,i,n){var a=t(e),o=this._getInst(a[0]);o["selected"+("M"===n?"Month":"Year")]=o["draw"+("M"===n?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(a)},_selectDay:function(e,i,n,a){var o,r=t(e);t(a).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||((o=this._getInst(r[0])).selectedDay=o.currentDay=t("a",a).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=n,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var n,a=t(e),o=this._getInst(a[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),(n=this._get(o,"onSelect"))?n.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,n,a,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),n=this._getDate(e),a=this.formatDate(i,n,this._getFormatConfig(e)),t(o).val(a))},noWeekends:function(t){var e=t.getDay();return[e>0&&e<6,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,n){if(null==e||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;var a,o,r,s,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),h=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,d=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,p=(n?n.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,_=!1,b=function(t){var i=a+1-1)for(g=1,v=y;;){if(v<=(o=this._getDaysInMonth(m,g-1)))break;g++,v-=o}if((s=this._daylightSavingAdjust(new Date(m,g-1,v))).getFullYear()!==m||s.getMonth()+1!==g||s.getDate()!==v)throw"Invalid date";return s},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,i){if(!e)return"";var n,a=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,s=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=n+112?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var n=!e,a=t.selectedMonth,o=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),a===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(n?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),n="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(n,-i,"M")},next:function(){t.datepicker._adjustDate(n,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(n)},selectDay:function(){return t.datepicker._selectDay(n,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(n,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(n,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,n,a,o,r,s,l,c,u,h,d,f,p,m,g,v,y,_,b,w,k,x,D,M,T,C,S,P,A,I,O,E,j,N,F,W,H,z,Y=new Date,L=this._daylightSavingAdjust(new Date(Y.getFullYear(),Y.getMonth(),Y.getDate())),R=this._get(t,"isRTL"),$=this._get(t,"showButtonPanel"),U=this._get(t,"hideIfNoPrevNext"),B=this._get(t,"navigationAsDateFormat"),K=this._getNumberOfMonths(t),Q=this._get(t,"showCurrentAtPos"),q=this._get(t,"stepMonths"),J=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),V=this._getMinMaxDate(t,"min"),X=this._getMinMaxDate(t,"max"),Z=t.drawMonth-Q,tt=t.drawYear;if(Z<0&&(Z+=12,tt--),X)for(e=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-K[0]*K[1]+1,X.getDate())),e=V&&ee;)--Z<0&&(Z=11,tt--);for(t.drawMonth=Z,t.drawYear=tt,i=this._get(t,"prevText"),i=B?this.formatDate(i,this._daylightSavingAdjust(new Date(tt,Z-q,1)),this._getFormatConfig(t)):i,n=this._canAdjustMonth(t,-1,tt,Z)?""+i+"":U?"":""+i+"",a=this._get(t,"nextText"),a=B?this.formatDate(a,this._daylightSavingAdjust(new Date(tt,Z+q,1)),this._getFormatConfig(t)):a,o=this._canAdjustMonth(t,1,tt,Z)?""+a+"":U?"":""+a+"",r=this._get(t,"currentText"),s=this._get(t,"gotoCurrent")&&t.currentDay?G:L,r=B?this.formatDate(r,s,this._getFormatConfig(t)):r,l=t.inline?"":"",c=$?"
      "+(R?l:"")+(this._isInRange(t,s)?"":"")+(R?"":l)+"
      ":"",u=parseInt(this._get(t,"firstDay"),10),u=isNaN(u)?0:u,h=this._get(t,"showWeek"),d=this._get(t,"dayNames"),f=this._get(t,"dayNamesMin"),p=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),y=this._get(t,"selectOtherMonths"),_=this._getDefaultDate(t),b="",k=0;k1)switch(D){case 0:C+=" ui-datepicker-group-first",T=" ui-corner-"+(R?"right":"left");break;case K[1]-1:C+=" ui-datepicker-group-last",T=" ui-corner-"+(R?"left":"right");break;default:C+=" ui-datepicker-group-middle",T=""}C+="'>"}for(C+="
      "+(/all|left/.test(T)&&0===k?R?o:n:"")+(/all|right/.test(T)&&0===k?R?n:o:"")+this._generateMonthYearHeader(t,Z,tt,V,X,k>0||D>0,p,m)+"
      ",S=h?"":"",w=0;w<7;w++)S+="";for(C+=S+"",A=this._getDaysInMonth(tt,Z),tt===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,A)),I=(this._getFirstDayOfMonth(tt,Z)-u+7)%7,O=Math.ceil((I+A)/7),E=J&&this.maxRows>O?this.maxRows:O,this.maxRows=E,j=this._daylightSavingAdjust(new Date(tt,Z,1-I)),N=0;N",F=h?"":"",w=0;w<7;w++)W=g?g.apply(t.input?t.input[0]:null,[j]):[!0,""],z=(H=j.getMonth()!==Z)&&!y||!W[0]||V&&jX,F+="",j.setDate(j.getDate()+1),j=this._daylightSavingAdjust(j);C+=F+""}++Z>11&&(Z=0,tt++),x+=C+="
      "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+f[P]+"
      "+this._get(t,"calculateWeek")(j)+""+(H&&!v?" ":z?""+j.getDate()+"":""+j.getDate()+"")+"
      "+(J?"
      "+(K[0]>0&&D===K[1]-1?"
      ":""):"")}b+=x}return b+=c,t._keyEvent=!1,b},_generateMonthYearHeader:function(t,e,i,n,a,o,r,s){var l,c,u,h,d,f,p,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),y=this._get(t,"showMonthAfterYear"),_="
      ",b="";if(o||!g)b+=""+r[e]+"";else{for(l=n&&n.getFullYear()===i,c=a&&a.getFullYear()===i,b+=""}if(y||(_+=b+(!o&&g&&v?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!v)_+=""+i+"";else{for(h=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=(f=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e})(h[0]),m=Math.max(p,f(h[1]||"")),p=n?Math.max(p,n.getFullYear()):p,m=a?Math.min(m,a.getFullYear()):m,t.yearshtml+="",_+=t.yearshtml,t.yearshtml=null}return _+=this._get(t,"yearSuffix"),y&&(_+=(!o&&g&&v?"":" ")+b),_+="
      "},_adjustInstDate:function(t,e,i){var n=t.selectedYear+("Y"===i?e:0),a=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(n,a))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(n,a,o)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),a=i&&en?n:a},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,n){var a=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,n+(e<0?e:a[0]*a[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,n,a=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),r=null,s=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),n=(new Date).getFullYear(),r=parseInt(i[0],10),s=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=n),i[1].match(/[+\-].*/)&&(s+=n)),(!a||e.getTime()>=a.getTime())&&(!o||e.getTime()<=o.getTime())&&(!r||e.getFullYear()>=r)&&(!s||e.getFullYear()<=s)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,n){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var a=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(n,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),a,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1";t.datepicker}),function(){"use strict";var t,e,i,n,a;t=function(t,e){return"string"==typeof t&&"string"==typeof e&&t.toLowerCase()===e.toLowerCase()},e=function(t,i,n){var a=n||"0",o=t.toString();return o.lengths?"20":"19")+r):s,p=!0;break;case"m":case"n":case"M":case"F":if(isNaN(s)){if(!((l=f.getMonth(r))>0))return null;v.month=l}else{if(!(s>=1&&12>=s))return null;v.month=s}p=!0;break;case"d":case"j":if(!(s>=1&&31>=s))return null;v.day=s,p=!0;break;case"g":case"h":if(d=a[c=n.indexOf("a")>-1?n.indexOf("a"):n.indexOf("A")>-1?n.indexOf("A"):-1],c>-1)u=t(d,g.meridiem[0])?0:t(d,g.meridiem[1])?12:-1,s>=1&&12>=s&&u>-1?v.hour=s+u-1:s>=0&&23>=s&&(v.hour=s);else{if(!(s>=0&&23>=s))return null;v.hour=s}m=!0;break;case"G":case"H":if(!(s>=0&&23>=s))return null;v.hour=s,m=!0;break;case"i":if(!(s>=0&&59>=s))return null;v.min=s,m=!0;break;case"s":if(!(s>=0&&59>=s))return null;v.sec=s,m=!0}if(!0===p&&v.year&&v.month&&v.day)v.date=new Date(v.year,v.month-1,v.day,v.hour,v.min,v.sec,0);else{if(!0!==m)return null;v.date=new Date(0,0,0,v.hour,v.min,v.sec,0)}return v.date},guessDate:function(t,e){if("string"!=typeof t)return t;var i,n,a,o,r,s,l=t.replace(this.separators,"\0").split("\0"),c=e.match(this.validParts),u=new Date,h=0;if(!/^[djmn]/g.test(c[0]))return t;for(a=0;a(i=r.length)?i:4,!(n=parseInt(4>i?n.toString().substr(0,4-i)+r:r.substr(0,4))))return null;u.setFullYear(n);break;case 3:u.setHours(s);break;case 4:u.setMinutes(s);break;case 5:u.setSeconds(s)}(o=r.substr(h)).length>0&&l.splice(a+1,0,o)}return u},parseFormat:function(t,i){var n,a=this,o=a.dateSettings,r=/\\?(.?)/gi,s=function(t,e){return n[t]?n[t]():e};return n={d:function(){return e(n.j(),2)},D:function(){return o.daysShort[n.w()]},j:function(){return i.getDate()},l:function(){return o.days[n.w()]},N:function(){return n.w()||7},w:function(){return i.getDay()},z:function(){var t=new Date(n.Y(),n.n()-1,n.j()),e=new Date(n.Y(),0,1);return Math.round((t-e)/864e5)},W:function(){var t=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),i=new Date(t.getFullYear(),0,4);return e(1+Math.round((t-i)/864e5/7),2)},F:function(){return o.months[i.getMonth()]},m:function(){return e(n.n(),2)},M:function(){return o.monthsShort[i.getMonth()]},n:function(){return i.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var t=n.Y();return t%4==0&&t%100!=0||t%400==0?1:0},o:function(){var t=n.n(),e=n.W();return n.Y()+(12===t&&9>e?1:1===t&&e>9?-1:0)},Y:function(){return i.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return n.A().toLowerCase()},A:function(){var t=n.G()<12?0:1;return o.meridiem[t]},B:function(){var t=3600*i.getUTCHours(),n=60*i.getUTCMinutes(),a=i.getUTCSeconds();return e(Math.floor((t+n+a+3600)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return i.getHours()},h:function(){return e(n.g(),2)},H:function(){return e(n.G(),2)},i:function(){return e(i.getMinutes(),2)},s:function(){return e(i.getSeconds(),2)},u:function(){return e(1e3*i.getMilliseconds(),6)},e:function(){return/\((.*)\)/.exec(String(i))[1]||"Coordinated Universal Time"},I:function(){return new Date(n.Y(),0)-Date.UTC(n.Y(),0)!=new Date(n.Y(),6)-Date.UTC(n.Y(),6)?1:0},O:function(){var t=i.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+e(100*Math.floor(n/60)+n%60,4)},P:function(){var t=n.O();return t.substr(0,3)+":"+t.substr(3,2)},T:function(){return(String(i).match(a.tzParts)||[""]).pop().replace(a.tzClip,"")||"UTC"},Z:function(){return 60*-i.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(r,s)},r:function(){return"D, d M Y H:i:s O".replace(r,s)},U:function(){return i.getTime()/1e3||0}},s(t,t)},formatDate:function(t,e){var i,n,a,o,r,s=this,l="";if("string"==typeof t&&!(t=s.parseDate(t,e)))return null;if(t instanceof Date){for(a=e.length,i=0;a>i;i++)"S"!==(r=e.charAt(i))&&"\\"!==r&&(i>0&&"\\"===e.charAt(i-1)?l+=r:(o=s.parseFormat(r,t),i!==a-1&&s.intParts.test(r)&&"S"===e.charAt(i+1)&&(n=parseInt(o)||0,o+=s.dateSettings.ordinal(n)),l+=o));return l}return""}}}();var datetimepickerFactory=function(t){"use strict";var e={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},km:{months:["មករា​","កុម្ភៈ","មិនា​","មេសា​","ឧសភា​","មិថុនា​","កក្កដា​","សីហា​","កញ្ញា​","តុលា​","វិច្ឆិកា","ធ្នូ​"],dayOfWeekShort:["អាទិ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហ​​","សុក្រ​","សៅរ៍"],dayOfWeek:["អាទិត្យ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហស្បតិ៍​","សុក្រ​","សៅរ៍"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ug:{months:["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"],dayOfWeek:["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]}},ownerDocument:document,contentWindow:window,value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,openOnFocus:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,minDateTime:!1,maxDateTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",touchMovedThreshold:5,onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},i=null,n=null,a="en",o={meridiem:["AM","PM"]},r=function(){var r=e.i18n[a],s={days:r.dayOfWeek,daysShort:r.dayOfWeekShort,months:r.months,monthsShort:t.map(r.months,function(t){return t.substring(0,3)})};"function"==typeof DateFormatter&&(i=n=new DateFormatter({dateSettings:t.extend({},o,s)}))},s={moment:{default_options:{format:"YYYY/MM/DD HH:mm",formatDate:"YYYY/MM/DD",formatTime:"HH:mm"},formatter:{parseDate:function(t,e){if(c(e))return n.parseDate(t,e);var i=moment(t,e);return!!i.isValid()&&i.toDate()},formatDate:function(t,e){return c(e)?n.formatDate(t,e):moment(t).format(e)},formatMask:function(t){return t.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59")}}}};t.datetimepicker={setLocale:function(t){var i=e.i18n[t]?t:"en";a!==i&&(a=i,r())},setDateFormatter:function(n){if("string"==typeof n&&s.hasOwnProperty(n)){var a=s[n];t.extend(e,a.default_options),i=a.formatter}else i=n}};var l={RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},c=function(t){return-1!==Object.values(l).indexOf(t)};function u(t,e,i){this.date=t,this.desc=e,this.style=i}t.extend(t.datetimepicker,l),r(),window.getComputedStyle||(window.getComputedStyle=function(t){return this.el=t,this.getPropertyValue=function(e){var i=/(-([a-z]))/g;return"float"===e&&(e="styleFloat"),i.test(e)&&(e=e.replace(i,function(t,e,i){return i.toUpperCase()})),t.currentStyle[e]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t,e){var i,n;for(i=e||0,n=this.length;i
      '),s=t('
      '),r.append(s),l.addClass("xdsoft_scroller_box").append(r),v=function(t){var e=c(t).y-d+g;e<0&&(e=0),e+s[0].offsetHeight>p&&(e=p-s[0].offsetHeight),l.trigger("scroll_element.xdsoft_scroller",[u?e/u:0])},s.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(n){a||l.trigger("resize_scroll.xdsoft_scroller",[i]),d=c(n).y,g=parseInt(s.css("margin-top"),10),p=r[0].offsetHeight,"mousedown"===n.type||"touchstart"===n.type?(e.ownerDocument&&t(e.ownerDocument.body).addClass("xdsoft_noselect"),t([e.ownerDocument.body,e.contentWindow]).on("touchend mouseup.xdsoft_scroller",function i(){t([e.ownerDocument.body,e.contentWindow]).off("touchend mouseup.xdsoft_scroller",i).off("mousemove.xdsoft_scroller",v).removeClass("xdsoft_noselect")}),t(e.ownerDocument.body).on("mousemove.xdsoft_scroller",v)):(m=!0,n.stopPropagation(),n.preventDefault())}).on("touchmove",function(t){m&&(t.preventDefault(),v(t))}).on("touchend touchcancel",function(){m=!1,g=0}),l.on("scroll_element.xdsoft_scroller",function(t,e){a||l.trigger("resize_scroll.xdsoft_scroller",[e,!0]),e=e>1?1:e<0||isNaN(e)?0:e,s.css("margin-top",u*e),setTimeout(function(){n.css("marginTop",-parseInt((n[0].offsetHeight-a)*e,10))},10)}).on("resize_scroll.xdsoft_scroller",function(t,e,i){var c,h;a=l[0].clientHeight,o=n[0].offsetHeight,h=(c=a/o)*r[0].offsetHeight,c>1?s.hide():(s.show(),s.css("height",parseInt(h>10?h:10,10)),u=r[0].offsetHeight-s[0].offsetHeight,!0!==i&&l.trigger("scroll_element.xdsoft_scroller",[e||Math.abs(parseInt(n.css("marginTop"),10))/(o-a)]))}),l.on("mousewheel",function(t){var e=Math.abs(parseInt(n.css("marginTop"),10));return(e-=20*t.deltaY)<0&&(e=0),l.trigger("scroll_element.xdsoft_scroller",[e/(o-a)]),t.stopPropagation(),!1}),l.on("touchstart",function(t){h=c(t),f=Math.abs(parseInt(n.css("marginTop"),10))}),l.on("touchmove",function(t){if(h){t.preventDefault();var e=c(t);l.trigger("scroll_element.xdsoft_scroller",[(f-(e.y-h.y))/(o-a)])}}),l.on("touchend touchcancel",function(){h=!1,f=0})),l.trigger("resize_scroll.xdsoft_scroller",[i])):l.find(".xdsoft_scrollbar").hide()})},t.fn.datetimepicker=function(n,o){var r,s,l=this,c=48,h=57,d=96,f=105,p=17,m=46,g=13,v=27,y=8,_=37,b=38,w=39,k=40,x=9,D=116,M=65,T=67,C=86,S=90,P=89,A=!1,I=t.isPlainObject(n)||!n?t.extend(!0,{},e,n):t.extend(!0,{},e),O=0;return r=function(e){var o,r,s,l,O,E,j=t('
      '),N=t(''),F=t('
      '),W=t('
      '),H=t('
      '),z=t('
      '),Y=z.find(".xdsoft_time_box").eq(0),L=t('
      '),R=t(''),$=t('
      '),U=t('
      '),B=!1,K=0;I.id&&j.attr("id",I.id),I.style&&j.attr("style",I.style),I.weeks&&j.addClass("xdsoft_showweeks"),I.rtl&&j.addClass("xdsoft_rtl"),j.addClass("xdsoft_"+I.theme),j.addClass(I.className),W.find(".xdsoft_month span").after($),W.find(".xdsoft_year span").after(U),W.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(e){var i,n,a=t(this).find(".xdsoft_select").eq(0),o=0,r=0,s=a.is(":visible");for(W.find(".xdsoft_select").hide(),O.currentTime&&(o=O.currentTime[t(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),a[s?"hide":"show"](),i=a.find("div.xdsoft_option"),n=0;nI.touchMovedThreshold&&(this.touchMoved=!0)};function q(){var t,i=!1;return I.startDate?i=O.strToDate(I.startDate):(i=I.value||(e&&e.val&&e.val()?e.val():""))?(i=O.strToDateTime(i),I.yearOffset&&(i=new Date(i.getFullYear()-I.yearOffset,i.getMonth(),i.getDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()))):I.defaultDate&&(i=O.strToDateTime(I.defaultDate),I.defaultTime&&(t=O.strtotime(I.defaultTime),i.setHours(t.getHours()),i.setMinutes(t.getMinutes()))),i&&O.isValidDate(i)?j.data("changed",!0):i="",i||0}function J(n){var a=function(t,e){var i=t.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(i).test(e)},o=function(t,e){if(!(t="string"==typeof t||t instanceof String?n.ownerDocument.getElementById(t):t))return!1;if(t.createTextRange){var i=t.createTextRange();return i.collapse(!0),i.moveEnd("character",e),i.moveStart("character",e),i.select(),!0}return!!t.setSelectionRange&&(t.setSelectionRange(e,e),!0)};n.mask&&e.off("keydown.xdsoft"),!0===n.mask&&(i.formatMask?n.mask=i.formatMask(n.format):n.mask=n.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===t.type(n.mask)&&(a(n.mask,e.val())||(e.val(n.mask.replace(/[0-9]/g,"_")),o(e[0],0)),e.on("paste.xdsoft",function(i){var r=(i.clipboardData||i.originalEvent.clipboardData||window.clipboardData).getData("text"),s=this.value,l=this.selectionStart,c=s.substr(0,l),u=s.substr(l+r.length);return s=c+r+u,l+=r.length,a(n.mask,s)?(this.value=s,o(this,l)):""===t.trim(s)?this.value=n.mask.replace(/[0-9]/g,"_"):e.trigger("error_input.xdsoft"),i.preventDefault(),!1}),e.on("keydown.xdsoft",function(i){var r,s=this.value,l=i.which,u=this.selectionStart,I=this.selectionEnd,O=u!==I;if(l>=c&&l<=h||l>=d&&l<=f||l===y||l===m){for(r=l===y||l===m?"_":String.fromCharCode(d<=l&&l<=f?l-c:l),l===y&&u&&!O&&(u-=1);;){var E=n.mask.substr(u,1),j=u0;if(!(/[^0-9_]/.test(E)&&j&&N))break;u+=l!==y||O?1:-1}if(O){var F=I-u,W=n.mask.replace(/[0-9]/g,"_"),H=W.substr(u,F).substr(1),z=s.substr(0,u),Y=r+H,L=s.substr(u+F);s=z+Y+L}else{var R=s.substr(0,u),$=r,U=s.substr(u+1);s=R+$+U}if(""===t.trim(s))s=W;else if(u===n.mask.length)return i.preventDefault(),!1;for(u+=l===y?0:1;/[^0-9_]/.test(n.mask.substr(u,1))&&u0;)u+=l===y?0:1;a(n.mask,s)?(this.value=s,o(this,u)):""===t.trim(s)?this.value=n.mask.replace(/[0-9]/g,"_"):e.trigger("error_input.xdsoft")}else if(-1!==[M,T,C,S,P].indexOf(l)&&A||-1!==[v,b,k,_,w,D,p,x,g].indexOf(l))return!0;return i.preventDefault(),!1}))}W.find(".xdsoft_select").xdsoftScroller(I).on("touchstart mousedown.xdsoft",function(t){var e=t.originalEvent;this.touchMoved=!1,this.touchStartPosition=e.touches?e.touches[0]:e,t.stopPropagation(),t.preventDefault()}).on("touchmove",".xdsoft_option",Q).on("touchend mousedown.xdsoft",".xdsoft_option",function(){if(!this.touchMoved){void 0!==O.currentTime&&null!==O.currentTime||(O.currentTime=O.now());var e=O.currentTime.getFullYear();O&&O.currentTime&&O.currentTime[t(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](t(this).data("value")),t(this).parent().parent().hide(),j.trigger("xchange.xdsoft"),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),e!==O.currentTime.getFullYear()&&t.isFunction(I.onChangeYear)&&I.onChangeYear.call(j,O.currentTime,j.data("input"))}}),j.getValue=function(){return O.getCurrentTime()},j.setOptions=function(n){var a={};I=t.extend(!0,{},I,n),n.allowTimes&&t.isArray(n.allowTimes)&&n.allowTimes.length&&(I.allowTimes=t.extend(!0,[],n.allowTimes)),n.weekends&&t.isArray(n.weekends)&&n.weekends.length&&(I.weekends=t.extend(!0,[],n.weekends)),n.allowDates&&t.isArray(n.allowDates)&&n.allowDates.length&&(I.allowDates=t.extend(!0,[],n.allowDates)),n.allowDateRe&&"[object String]"===Object.prototype.toString.call(n.allowDateRe)&&(I.allowDateRe=new RegExp(n.allowDateRe)),n.highlightedDates&&t.isArray(n.highlightedDates)&&n.highlightedDates.length&&(t.each(n.highlightedDates,function(e,n){var o,r=t.map(n.split(","),t.trim),s=new u(i.parseDate(r[0],I.formatDate),r[1],r[2]),l=i.formatDate(s.date,I.formatDate);void 0!==a[l]?(o=a[l].desc)&&o.length&&s.desc&&s.desc.length&&(a[l].desc=o+"\n"+s.desc):a[l]=s}),I.highlightedDates=t.extend(!0,[],a)),n.highlightedPeriods&&t.isArray(n.highlightedPeriods)&&n.highlightedPeriods.length&&(a=t.extend(!0,[],I.highlightedDates),t.each(n.highlightedPeriods,function(e,n){var o,r,s,l,c,h,d;if(t.isArray(n))o=n[0],r=n[1],s=n[2],d=n[3];else{var f=t.map(n.split(","),t.trim);o=i.parseDate(f[0],I.formatDate),r=i.parseDate(f[1],I.formatDate),s=f[2],d=f[3]}for(;o<=r;)l=new u(o,s,d),c=i.formatDate(o,I.formatDate),o.setDate(o.getDate()+1),void 0!==a[c]?(h=a[c].desc)&&h.length&&l.desc&&l.desc.length&&(a[c].desc=h+"\n"+l.desc):a[c]=l}),I.highlightedDates=t.extend(!0,[],a)),n.disabledDates&&t.isArray(n.disabledDates)&&n.disabledDates.length&&(I.disabledDates=t.extend(!0,[],n.disabledDates)),n.disabledWeekDays&&t.isArray(n.disabledWeekDays)&&n.disabledWeekDays.length&&(I.disabledWeekDays=t.extend(!0,[],n.disabledWeekDays)),!I.open&&!I.opened||I.inline||e.trigger("open.xdsoft"),I.inline&&(B=!0,j.addClass("xdsoft_inline"),e.after(j).hide()),I.inverseButton&&(I.next="xdsoft_prev",I.prev="xdsoft_next"),I.datepicker?F.addClass("active"):F.removeClass("active"),I.timepicker?z.addClass("active"):z.removeClass("active"),I.value&&(O.setCurrentTime(I.value),e&&e.val&&e.val(O.str)),isNaN(I.dayOfWeekStart)?I.dayOfWeekStart=0:I.dayOfWeekStart=parseInt(I.dayOfWeekStart,10)%7,I.timepickerScrollbar||Y.xdsoftScroller(I,"hide"),I.minDate&&/^[\+\-](.*)$/.test(I.minDate)&&(I.minDate=i.formatDate(O.strToDateTime(I.minDate),I.formatDate)),I.maxDate&&/^[\+\-](.*)$/.test(I.maxDate)&&(I.maxDate=i.formatDate(O.strToDateTime(I.maxDate),I.formatDate)),I.minDateTime&&/^\+(.*)$/.test(I.minDateTime)&&(I.minDateTime=O.strToDateTime(I.minDateTime).dateFormat(I.formatDate)),I.maxDateTime&&/^\+(.*)$/.test(I.maxDateTime)&&(I.maxDateTime=O.strToDateTime(I.maxDateTime).dateFormat(I.formatDate)),R.toggle(I.showApplyButton),W.find(".xdsoft_today_button").css("visibility",I.todayButton?"visible":"hidden"),W.find("."+I.prev).css("visibility",I.prevButton?"visible":"hidden"),W.find("."+I.next).css("visibility",I.nextButton?"visible":"hidden"),J(I),I.validateOnBlur&&e.off("blur.xdsoft").on("blur.xdsoft",function(){if(I.allowBlank&&(!t.trim(t(this).val()).length||"string"==typeof I.mask&&t.trim(t(this).val())===I.mask.replace(/[0-9]/g,"_")))t(this).val(null),j.data("xdsoft_datetime").empty();else{var e=i.parseDate(t(this).val(),I.format);if(e)t(this).val(i.formatDate(e,I.format));else{var n=+[t(this).val()[0],t(this).val()[1]].join(""),a=+[t(this).val()[2],t(this).val()[3]].join("");!I.datepicker&&I.timepicker&&n>=0&&n<24&&a>=0&&a<60?t(this).val([n,a].map(function(t){return t>9?t:"0"+t}).join(":")):t(this).val(i.formatDate(O.now(),I.format))}j.data("xdsoft_datetime").setCurrentTime(t(this).val())}j.trigger("changedatetime.xdsoft"),j.trigger("close.xdsoft")}),I.dayOfWeekStartPrev=0===I.dayOfWeekStart?6:I.dayOfWeekStart-1,j.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},j.data("options",I).on("touchstart mousedown.xdsoft",function(t){return t.stopPropagation(),t.preventDefault(),U.hide(),$.hide(),!1}),Y.append(L),Y.xdsoftScroller(I),j.on("afterOpen.xdsoft",function(){Y.xdsoftScroller(I)}),j.append(F).append(z),!0!==I.withoutCopyright&&j.append(N),F.append(W).append(H).append(R),t(I.parentID).append(j),O=new function(){var e=this;e.now=function(t){var i,n,a=new Date;return!t&&I.defaultDate&&(i=e.strToDateTime(I.defaultDate),a.setFullYear(i.getFullYear()),a.setMonth(i.getMonth()),a.setDate(i.getDate())),a.setFullYear(a.getFullYear()),!t&&I.defaultTime&&(n=e.strtotime(I.defaultTime),a.setHours(n.getHours()),a.setMinutes(n.getMinutes()),a.setSeconds(n.getSeconds()),a.setMilliseconds(n.getMilliseconds())),a},e.isValidDate=function(t){return"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(t.getTime())},e.setCurrentTime=function(t,i){"string"==typeof t?e.currentTime=e.strToDateTime(t):e.isValidDate(t)?e.currentTime=t:t||i||!I.allowBlank||I.inline?e.currentTime=e.now():e.currentTime=null,j.trigger("xchange.xdsoft")},e.empty=function(){e.currentTime=null},e.getCurrentTime=function(){return e.currentTime},e.nextMonth=function(){void 0!==e.currentTime&&null!==e.currentTime||(e.currentTime=e.now());var i,n=e.currentTime.getMonth()+1;return 12===n&&(e.currentTime.setFullYear(e.currentTime.getFullYear()+1),n=0),i=e.currentTime.getFullYear(),e.currentTime.setDate(Math.min(new Date(e.currentTime.getFullYear(),n+1,0).getDate(),e.currentTime.getDate())),e.currentTime.setMonth(n),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),i!==e.currentTime.getFullYear()&&t.isFunction(I.onChangeYear)&&I.onChangeYear.call(j,O.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),n},e.prevMonth=function(){void 0!==e.currentTime&&null!==e.currentTime||(e.currentTime=e.now());var i=e.currentTime.getMonth()-1;return-1===i&&(e.currentTime.setFullYear(e.currentTime.getFullYear()-1),i=11),e.currentTime.setDate(Math.min(new Date(e.currentTime.getFullYear(),i+1,0).getDate(),e.currentTime.getDate())),e.currentTime.setMonth(i),I.onChangeMonth&&t.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(j,O.currentTime,j.data("input")),j.trigger("xchange.xdsoft"),i},e.getWeekOfYear=function(e){if(I.onGetWeekOfYear&&t.isFunction(I.onGetWeekOfYear)){var i=I.onGetWeekOfYear.call(j,e);if(void 0!==i)return i}var n=new Date(e.getFullYear(),0,1);return 4!==n.getDay()&&n.setMonth(0,1+(4-n.getDay()+7)%7),Math.ceil(((e-n)/864e5+n.getDay()+1)/7)},e.strToDateTime=function(t){var n,a,o=[];return t&&t instanceof Date&&e.isValidDate(t)?t:((o=/^([+-]{1})(.*)$/.exec(t))&&(o[2]=i.parseDate(o[2],I.formatDate)),o&&o[2]?(n=o[2].getTime()-6e4*o[2].getTimezoneOffset(),a=new Date(e.now(!0).getTime()+parseInt(o[1]+"1",10)*n)):a=t?i.parseDate(t,I.format):e.now(),e.isValidDate(a)||(a=e.now()),a)},e.strToDate=function(t){if(t&&t instanceof Date&&e.isValidDate(t))return t;var n=t?i.parseDate(t,I.formatDate):e.now(!0);return e.isValidDate(n)||(n=e.now(!0)),n},e.strtotime=function(t){if(t&&t instanceof Date&&e.isValidDate(t))return t;var n=t?i.parseDate(t,I.formatTime):e.now(!0);return e.isValidDate(n)||(n=e.now(!0)),n},e.str=function(){var t=I.format;return I.yearOffset&&(t=(t=t.replace("Y",e.currentTime.getFullYear()+I.yearOffset)).replace("y",String(e.currentTime.getFullYear()+I.yearOffset).substring(2,4))),i.formatDate(e.currentTime,t)},e.currentTime=this.now()},R.on("touchend click",function(t){t.preventDefault(),j.data("changed",!0),O.setCurrentTime(q()),e.val(O.str()),j.trigger("close.xdsoft")}),W.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){j.data("changed",!0),O.setCurrentTime(0,!0),j.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var t,i,n=O.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate()),t=O.strToDate(I.minDate),n<(t=new Date(t.getFullYear(),t.getMonth(),t.getDate()))||(i=O.strToDate(I.maxDate),n>(i=new Date(i.getFullYear(),i.getMonth(),i.getDate()))||(e.val(O.str()),e.trigger("change"),j.trigger("close.xdsoft")))}),W.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var e=t(this),i=0,n=!1;!function t(a){e.hasClass(I.next)?O.nextMonth():e.hasClass(I.prev)&&O.prevMonth(),I.monthChangeSpinner&&(n||(i=setTimeout(t,a||100)))}(500),t([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),n=!0,t([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),z.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var e=t(this),i=0,n=!1,a=110;!function t(o){var r=Y[0].clientHeight,s=L[0].offsetHeight,l=Math.abs(parseInt(L.css("marginTop"),10));e.hasClass(I.next)&&s-r-I.timeHeightInTimePicker>=l?L.css("marginTop","-"+(l+I.timeHeightInTimePicker)+"px"):e.hasClass(I.prev)&&l-I.timeHeightInTimePicker>=0&&L.css("marginTop","-"+(l-I.timeHeightInTimePicker)+"px"),Y.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(L[0].style.marginTop,10)/(s-r))]),a=a>10?10:a-10,n||(i=setTimeout(t,o||a))}(500),t([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),n=!0,t([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),o=0,j.on("xchange.xdsoft",function(r){clearTimeout(o),o=setTimeout(function(){void 0!==O.currentTime&&null!==O.currentTime||(O.currentTime=O.now());for(var o,r,s,l,c,u,h,d,f,p,m="",g=new Date(O.currentTime.getFullYear(),O.currentTime.getMonth(),1,12,0,0),v=0,y=O.now(),_=!1,b=!1,w=!1,k=!1,x=[],D=!0,M="";g.getDay()!==I.dayOfWeekStart;)g.setDate(g.getDate()-1);for(m+="",I.weeks&&(m+=""),o=0;o<7;o+=1)m+="";for(m+="",m+="",!1!==I.maxDate&&(_=O.strToDate(I.maxDate),_=new Date(_.getFullYear(),_.getMonth(),_.getDate(),23,59,59,999)),!1!==I.minDate&&(b=O.strToDate(I.minDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate())),!1!==I.minDateTime&&(w=O.strToDate(I.minDateTime),w=new Date(w.getFullYear(),w.getMonth(),w.getDate(),w.getHours(),w.getMinutes(),w.getSeconds())),!1!==I.maxDateTime&&(k=O.strToDate(I.maxDateTime),k=new Date(k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds())),!1!==k&&(p=31*(12*k.getFullYear()+k.getMonth())+k.getDate());v0&&-1===I.allowDates.indexOf(i.formatDate(g,I.formatDate))&&x.push("xdsoft_disabled");var T=31*(12*g.getFullYear()+g.getMonth())+g.getDate();(!1!==_&&g>_||!1!==w&&gp||h&&!1===h[0])&&x.push("xdsoft_disabled"),-1!==I.disabledDates.indexOf(i.formatDate(g,I.formatDate))&&x.push("xdsoft_disabled"),-1!==I.disabledWeekDays.indexOf(s)&&x.push("xdsoft_disabled"),e.is("[disabled]")&&x.push("xdsoft_disabled"),h&&""!==h[1]&&x.push(h[1]),O.currentTime.getMonth()!==A&&x.push("xdsoft_other_month"),(I.defaultSelect||j.data("changed"))&&i.formatDate(O.currentTime,I.formatDate)===i.formatDate(g,I.formatDate)&&x.push("xdsoft_current"),i.formatDate(y,I.formatDate)===i.formatDate(g,I.formatDate)&&x.push("xdsoft_today"),0!==g.getDay()&&6!==g.getDay()&&-1===I.weekends.indexOf(i.formatDate(g,I.formatDate))||x.push("xdsoft_weekend"),void 0!==I.highlightedDates[i.formatDate(g,I.formatDate)]&&(r=I.highlightedDates[i.formatDate(g,I.formatDate)],x.push(void 0===r.style?"xdsoft_highlighted_default":r.style),f=void 0===r.desc?"":r.desc),I.beforeShowDay&&t.isFunction(I.beforeShowDay)&&x.push(I.beforeShowDay(g)),D&&(m+="",D=!1,I.weeks&&(m+="")),m+='",g.getDay()===I.dayOfWeekStartPrev&&(m+="",D=!0),g.setDate(l+1)}m+="
      "+I.i18n[a].dayOfWeekShort[(o+I.dayOfWeekStart)%7]+"
      "+u+"
      '+l+"
      ",H.html(m),W.find(".xdsoft_label span").eq(0).text(I.i18n[a].months[O.currentTime.getMonth()]),W.find(".xdsoft_label span").eq(1).text(O.currentTime.getFullYear()+I.yearOffset),M="",A="";var C=0;if(!1!==I.minTime){var S=O.strtotime(I.minTime);C=60*S.getHours()+S.getMinutes()}var P=1440;if(!1!==I.maxTime){S=O.strtotime(I.maxTime);P=60*S.getHours()+S.getMinutes()}if(!1!==I.minDateTime){S=O.strToDateTime(I.minDateTime);if(i.formatDate(O.currentTime,I.formatDate)===i.formatDate(S,I.formatDate))(A=60*S.getHours()+S.getMinutes())>C&&(C=A)}if(!1!==I.maxDateTime){var A;S=O.strToDateTime(I.maxDateTime);if(i.formatDate(O.currentTime,I.formatDate)===i.formatDate(S,I.formatDate))(A=60*S.getHours()+S.getMinutes())=P||l59||o.getMinutes()===parseInt(a,10))&&(I.defaultSelect||j.data("changed")?x.push("xdsoft_current"):I.initTime&&x.push("xdsoft_init_time")),parseInt(y.getHours(),10)===parseInt(n,10)&&parseInt(y.getMinutes(),10)===parseInt(a,10)&&x.push("xdsoft_today"),M+='
      '+i.formatDate(r,I.formatTime)+"
      "},I.allowTimes&&t.isArray(I.allowTimes)&&I.allowTimes.length)for(v=0;v=P||d((v<10?"0":"")+v,A=(o<10?"0":"")+o))}for(L.html(M),n="",v=parseInt(I.yearStart,10);v<=parseInt(I.yearEnd,10);v+=1)n+='
      '+(v+I.yearOffset)+"
      ";for(U.children().eq(0).html(n),v=parseInt(I.monthStart,10),n="";v<=parseInt(I.monthEnd,10);v+=1)n+='
      '+I.i18n[a].months[v]+"
      ";$.children().eq(0).html(n),t(j).trigger("generate.xdsoft")},10),r.stopPropagation()}).on("afterOpen.xdsoft",function(){var t,e,i,n;I.timepicker&&(L.find(".xdsoft_current").length?t=".xdsoft_current":L.find(".xdsoft_init_time").length&&(t=".xdsoft_init_time"),t?(e=Y[0].clientHeight,(i=L[0].offsetHeight)-e<(n=L.find(t).index()*I.timeHeightInTimePicker+1)&&(n=i-e),Y.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(i-e)])):Y.trigger("scroll_element.xdsoft_scroller",[0]))}),r=0,H.on("touchend click.xdsoft","td",function(i){i.stopPropagation(),r+=1;var n=t(this),a=O.currentTime;if(null==a&&(O.currentTime=O.now(),a=O.currentTime),n.hasClass("xdsoft_disabled"))return!1;a.setDate(1),a.setFullYear(n.data("year")),a.setMonth(n.data("month")),a.setDate(n.data("date")),j.trigger("select.xdsoft",[a]),e.val(O.str()),I.onSelectDate&&t.isFunction(I.onSelectDate)&&I.onSelectDate.call(j,O.currentTime,j.data("input"),i),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),(r>1||!0===I.closeOnDateSelect||!1===I.closeOnDateSelect&&!I.timepicker)&&!I.inline&&j.trigger("close.xdsoft"),setTimeout(function(){r=0},200)}),L.on("touchstart","div",function(t){this.touchMoved=!1}).on("touchmove","div",Q).on("touchend click.xdsoft","div",function(e){if(!this.touchMoved){e.stopPropagation();var i=t(this),n=O.currentTime;if(null==n&&(O.currentTime=O.now(),n=O.currentTime),i.hasClass("xdsoft_disabled"))return!1;n.setHours(i.data("hour")),n.setMinutes(i.data("minute")),j.trigger("select.xdsoft",[n]),j.data("input").val(O.str()),I.onSelectTime&&t.isFunction(I.onSelectTime)&&I.onSelectTime.call(j,O.currentTime,j.data("input"),e),j.data("changed",!0),j.trigger("xchange.xdsoft"),j.trigger("changedatetime.xdsoft"),!0!==I.inline&&!0===I.closeOnTimeSelect&&j.trigger("close.xdsoft")}}),F.on("mousewheel.xdsoft",function(t){return!I.scrollMonth||(t.deltaY<0?O.nextMonth():O.prevMonth(),!1)}),e.on("mousewheel.xdsoft",function(t){return!I.scrollInput||(!I.datepicker&&I.timepicker?((s=L.find(".xdsoft_current").length?L.find(".xdsoft_current").eq(0).index():0)+t.deltaY>=0&&s+t.deltaYd+f?(u="bottom",n=d+f-e.top):n-=f):n+j[0].offsetHeight>d+f&&(n=e.top-j[0].offsetHeight+1),n<0&&(n=0),a+i.offsetWidth>c&&(a=c-i.offsetWidth)),r=j[0],E(r,function(t){if("relative"===I.contentWindow.getComputedStyle(t).getPropertyValue("position")&&c>=t.offsetWidth)return a-=(c-t.offsetWidth)/2,!1}),(h={position:o,left:a,top:"",bottom:""})[u]=n,j.css(h)},j.on("open.xdsoft",function(e){var i=!0;I.onShow&&t.isFunction(I.onShow)&&(i=I.onShow.call(j,O.currentTime,j.data("input"),e)),!1!==i&&(j.show(),l(),t(I.contentWindow).off("resize.xdsoft",l).on("resize.xdsoft",l),I.closeOnWithoutClick&&t([I.ownerDocument.body,I.contentWindow]).on("touchstart mousedown.xdsoft",function e(){j.trigger("close.xdsoft"),t([I.ownerDocument.body,I.contentWindow]).off("touchstart mousedown.xdsoft",e)}))}).on("close.xdsoft",function(e){var i=!0;W.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),I.onClose&&t.isFunction(I.onClose)&&(i=I.onClose.call(j,O.currentTime,j.data("input"),e)),!1===i||I.opened||I.inline||j.hide(),e.stopPropagation()}).on("toggle.xdsoft",function(){j.is(":visible")?j.trigger("close.xdsoft"):j.trigger("open.xdsoft")}).data("input",e),K=0,j.data("xdsoft_datetime",O),j.setOptions(I),O.setCurrentTime(q()),e.data("xdsoft_datetimepicker",j).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){e.is(":disabled")||e.data("xdsoft_datetimepicker").is(":visible")&&I.closeOnInputClick||I.openOnFocus&&(clearTimeout(K),K=setTimeout(function(){e.is(":disabled")||(B=!0,O.setCurrentTime(q(),!0),I.mask&&J(I),j.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(e){var i,n=e.which;return-1!==[g].indexOf(n)&&I.enterLikeTab?(i=t("input:visible,textarea:visible,button:visible,a:visible"),j.trigger("close.xdsoft"),i.eq(i.index(this)+1).focus(),!1):-1!==[x].indexOf(n)?(j.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){j.trigger("close.xdsoft")})},s=function(e){var i=e.data("xdsoft_datetimepicker");i&&(i.data("xdsoft_datetime",null),i.remove(),e.data("xdsoft_datetimepicker",null).off(".xdsoft"),t(I.contentWindow).off("resize.xdsoft"),t([I.contentWindow,I.ownerDocument.body]).off("mousedown.xdsoft touchstart"),e.unmousewheel&&e.unmousewheel())},t(I.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(t){t.keyCode===p&&(A=!0)}).on("keyup.xdsoftctrl",function(t){t.keyCode===p&&(A=!1)}),this.each(function(){var e,a=t(this).data("xdsoft_datetimepicker");if(a){if("string"===t.type(n))switch(n){case"show":t(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":s(t(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(i.parseDate(this.value,I.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":a.data("input").trigger("blur.xdsoft");break;default:a[n]&&t.isFunction(a[n])&&(l=a[n](o))}else a.setOptions(n);return 0}"string"!==t.type(n)&&(!I.lazyInit||I.open||I.inline?r(t(this)):(e=t(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(O),O=setTimeout(function(){e.data("xdsoft_datetimepicker")||r(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))}))}),l},t.fn.datetimepicker.defaults=e};!function(t){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(datetimepickerFactory),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t:t(jQuery)}(function(t){var e,i,n=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],a="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],o=Array.prototype.slice;if(t.event.fixHooks)for(var r=n.length;r;)t.event.fixHooks[n[--r]]=t.event.mouseHooks;var s=t.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=a.length;e;)this.addEventListener(a[--e],l,!1);else this.onmousewheel=l;t.data(this,"mousewheel-line-height",s.getLineHeight(this)),t.data(this,"mousewheel-page-height",s.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=a.length;e;)this.removeEventListener(a[--e],l,!1);else this.onmousewheel=null;t.removeData(this,"mousewheel-line-height"),t.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var i=t(e),n=i["offsetParent"in t.fn?"offsetParent":"parent"]();return n.length||(n=t("body")),parseInt(n.css("fontSize"),10)||parseInt(i.css("fontSize"),10)||16},getPageHeight:function(e){return t(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function l(n){var a,r=n||window.event,l=o.call(arguments,1),h=0,d=0,f=0,p=0,m=0;if((n=t.event.fix(r)).type="mousewheel","detail"in r&&(f=-1*r.detail),"wheelDelta"in r&&(f=r.wheelDelta),"wheelDeltaY"in r&&(f=r.wheelDeltaY),"wheelDeltaX"in r&&(d=-1*r.wheelDeltaX),"axis"in r&&r.axis===r.HORIZONTAL_AXIS&&(d=-1*f,f=0),h=0===f?d:f,"deltaY"in r&&(h=f=-1*r.deltaY),"deltaX"in r&&(d=r.deltaX,0===f&&(h=-1*d)),0!==f||0!==d){if(1===r.deltaMode){var g=t.data(this,"mousewheel-line-height");h*=g,f*=g,d*=g}else if(2===r.deltaMode){var v=t.data(this,"mousewheel-page-height");h*=v,f*=v,d*=v}if(a=Math.max(Math.abs(f),Math.abs(d)),(!i||a=1?"floor":"ceil"](h/i),d=Math[d>=1?"floor":"ceil"](d/i),f=Math[f>=1?"floor":"ceil"](f/i),s.settings.normalizeOffset&&this.getBoundingClientRect){var y=this.getBoundingClientRect();p=n.clientX-y.left,m=n.clientY-y.top}return n.deltaX=d,n.deltaY=f,n.deltaFactor=i,n.offsetX=p,n.offsetY=m,n.deltaMode=0,l.unshift(n,h,d,f),e&&clearTimeout(e),e=setTimeout(c,200),(t.event.dispatch||t.event.handle).apply(this,l)}}function c(){i=null}function u(t,e){return s.settings.adjustOldDeltas&&"mousewheel"===t.type&&e%120==0}t.fn.extend({mousewheel:function(t){return t?this.bind("mousewheel",t):this.trigger("mousewheel")},unmousewheel:function(t){return this.unbind("mousewheel",t)}})}),function(){"use strict";function t(t){t.fn._fadeIn=t.fn.fadeIn;var e=t.noop||function(){},i=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),a=(document.documentMode,t.isFunction(document.createElement("div").style.setExpression));t.blockUI=function(t){s(window,t)},t.unblockUI=function(t){l(window,t)},t.growlUI=function(e,i,n,a){var o=t('
      ');e&&o.append("

      "+e+"

      "),i&&o.append("

      "+i+"

      "),void 0===n&&(n=3e3);var r=function(e){e=e||{},t.blockUI({message:o,fadeIn:void 0!==e.fadeIn?e.fadeIn:700,fadeOut:void 0!==e.fadeOut?e.fadeOut:1e3,timeout:void 0!==e.timeout?e.timeout:n,centerY:!1,showOverlay:!1,onUnblock:a,css:t.blockUI.defaults.growlCSS})};r();o.css("opacity");o.mouseover(function(){r({fadeIn:0,timeout:3e4});var e=t(".blockMsg");e.stop(),e.fadeTo(300,1)}).mouseout(function(){t(".blockMsg").fadeOut(1e3)})},t.fn.block=function(e){if(this[0]===window)return t.blockUI(e),this;var i=t.extend({},t.blockUI.defaults,e||{});return this.each(function(){var e=t(this);i.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==t.css(this,"position")&&(this.style.position="relative",t(this).data("blockUI.static",!0)),this.style.zoom=1,s(this,e)})},t.fn.unblock=function(e){return this[0]===window?(t.unblockUI(e),this):this.each(function(){l(this,e)})},t.blockUI.version=2.7,t.blockUI.defaults={message:"

      Please wait...

      ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var o=null,r=[];function s(s,c){var h,p,m=s==window,g=c&&void 0!==c.message?c.message:void 0;if(!(c=t.extend({},t.blockUI.defaults,c||{})).ignoreIfBlocked||!t(s).data("blockUI.isBlocked")){if(c.overlayCSS=t.extend({},t.blockUI.defaults.overlayCSS,c.overlayCSS||{}),h=t.extend({},t.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),p=t.extend({},t.blockUI.defaults.themedCSS,c.themedCSS||{}),g=void 0===g?c.message:g,m&&o&&l(window,{fadeOut:0}),g&&"string"!=typeof g&&(g.parentNode||g.jquery)){var v=g.jquery?g[0]:g,y={};t(s).data("blockUI.history",y),y.el=v,y.parent=v.parentNode,y.display=v.style.display,y.position=v.style.position,y.parent&&y.parent.removeChild(v)}t(s).data("blockUI.onUnblock",c.onUnblock);var _,b,w,k,x=c.baseZ;_=i||c.forceIframe?t(''):t(''),b=c.theme?t(''):t(''),c.theme&&m?(k='"):c.theme?(k='"):k=m?'':'',w=t(k),g&&(c.theme?(w.css(p),w.addClass("ui-widget-content")):w.css(h)),c.theme||b.css(c.overlayCSS),b.css("position",m?"fixed":"absolute"),(i||c.forceIframe)&&_.css("opacity",0);var D=[_,b,w],M=t(m?"body":s);t.each(D,function(){this.appendTo(M)}),c.theme&&c.draggable&&t.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var T=a&&(!t.support.boxModel||t("object,embed",m?null:s).length>0);if(n||T){if(m&&c.allowBodyStretch&&t.support.boxModel&&t("html,body").css("height","100%"),(n||!t.support.boxModel)&&!m)var C=f(s,"borderTopWidth"),S=f(s,"borderLeftWidth"),P=C?"(0 - "+C+")":0,A=S?"(0 - "+S+")":0;t.each(D,function(t,e){var i=e[0].style;if(i.position="absolute",t<2)m?i.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+c.quirksmodeOffsetHack+') + "px"'):i.setExpression("height",'this.parentNode.offsetHeight + "px"'),m?i.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):i.setExpression("width",'this.parentNode.offsetWidth + "px"'),A&&i.setExpression("left",A),P&&i.setExpression("top",P);else if(c.centerY)m&&i.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),i.marginTop=0;else if(!c.centerY&&m){var n="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+(c.css&&c.css.top?parseInt(c.css.top,10):0)+') + "px"';i.setExpression("top",n)}})}if(g&&(c.theme?w.find(".ui-widget-content").append(g):w.append(g),(g.jquery||g.nodeType)&&t(g).show()),(i||c.forceIframe)&&c.showOverlay&&_.show(),c.fadeIn){var I=c.onBlock?c.onBlock:e,O=c.showOverlay&&!g?I:e,E=g?I:e;c.showOverlay&&b._fadeIn(c.fadeIn,O),g&&w._fadeIn(c.fadeIn,E)}else c.showOverlay&&b.show(),g&&w.show(),c.onBlock&&c.onBlock.bind(w)();if(u(1,s,c),m?(o=w[0],r=t(c.focusableElements,o),c.focusInput&&setTimeout(d,20)):function(t,e,i){var n=t.parentNode,a=t.style,o=(n.offsetWidth-t.offsetWidth)/2-f(n,"borderLeftWidth"),r=(n.offsetHeight-t.offsetHeight)/2-f(n,"borderTopWidth");e&&(a.left=o>0?o+"px":"0");i&&(a.top=r>0?r+"px":"0")}(w[0],c.centerX,c.centerY),c.timeout){var j=setTimeout(function(){m?t.unblockUI(c):t(s).unblock(c)},c.timeout);t(s).data("blockUI.timeout",j)}}}function l(e,i){var n,a,s=e==window,l=t(e),h=l.data("blockUI.history"),d=l.data("blockUI.timeout");d&&(clearTimeout(d),l.removeData("blockUI.timeout")),i=t.extend({},t.blockUI.defaults,i||{}),u(0,e,i),null===i.onUnblock&&(i.onUnblock=l.data("blockUI.onUnblock"),l.removeData("blockUI.onUnblock")),a=s?t("body").children().filter(".blockUI").add("body > .blockUI"):l.find(">.blockUI"),i.cursorReset&&(a.length>1&&(a[1].style.cursor=i.cursorReset),a.length>2&&(a[2].style.cursor=i.cursorReset)),s&&(o=r=null),i.fadeOut?(n=a.length,a.stop().fadeOut(i.fadeOut,function(){0==--n&&c(a,h,i,e)})):c(a,h,i,e)}function c(e,i,n,a){var o=t(a);if(!o.data("blockUI.isBlocked")){e.each(function(t,e){this.parentNode&&this.parentNode.removeChild(this)}),i&&i.el&&(i.el.style.display=i.display,i.el.style.position=i.position,i.el.style.cursor="default",i.parent&&i.parent.appendChild(i.el),o.removeData("blockUI.history")),o.data("blockUI.static")&&o.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(a,n);var r=t(document.body),s=r.width(),l=r[0].style.width;r.width(s-1).width(s),r[0].style.width=l}}function u(e,i,n){var a=i==window,r=t(i);if((e||(!a||o)&&(a||r.data("blockUI.isBlocked")))&&(r.data("blockUI.isBlocked",e),a&&n.bindEvents&&(!e||n.showOverlay))){var s="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";e?t(document).bind(s,n,h):t(document).unbind(s,h)}}function h(e){if("keydown"===e.type&&e.keyCode&&9==e.keyCode&&o&&e.data.constrainTabKey){var i=r,n=!e.shiftKey&&e.target===i[i.length-1],a=e.shiftKey&&e.target===i[0];if(n||a)return setTimeout(function(){d(a)},10),!1}var s=e.data,l=t(e.target);return l.hasClass("blockOverlay")&&s.onOverlayClick&&s.onOverlayClick(e),l.parents("div."+s.blockMsgClass).length>0||0===l.parents().children().filter("div.blockUI").length}function d(t){if(r){var e=r[!0===t?r.length-1:0];e&&e.focus()}}function f(e,i){return parseInt(t.css(e,i),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],t):t(jQuery)}(),function(t,e){"function"==typeof define&&define.amd?define(["jQuery"],e):"object"==typeof exports?e(require("jQuery")):e(t.jQuery)}(this,function(t){var e=function(){var t={},e=new RegExp("{{([^}]+)}}","g");return t.parse=function(t){for(var i={inpts:{},chars:{}},n=function(t){for(var i,n=[];i=e.exec(t);)n.push(i);return n}(t),a=t.length,o=0,r=0,s=0,l=function(t){for(var e=t.length,n=0;ne[0]&&tt.focus,a=0===i.end;(n||a)&&e.set(t.el,t.focus)},0)},o.prototype._processKey=function(t,n,a){if(this.sel=e.get(this.el),this.val=this.el.value,this.delta=0,this.sel.begin!==this.sel.end)this.delta=-1*Math.abs(this.sel.begin-this.sel.end),this.val=i.removeChars(this.val,this.sel.begin,this.sel.end);else if(n&&46===n)this._delete();else if(n&&this.sel.begin-1>=0)this.val=i.removeChars(this.val,this.sel.end-1,this.sel.end),this.delta-=1;else if(n)return!0;n||(this.val=i.addChars(this.val,t,this.sel.begin),this.delta+=t.length),this._formatValue(a)},o.prototype._delete=function(){for(;this.chars[this.sel.begin];)this._nextPos();this.sel.beginthis.focus&&(this.delta+=this.sel.end-this.focus);for(var t=0,e=0;e<=this.mLength;e++){var n,a=this.chars[e],o=this.hldrs[e],r=e+t;r=e>=this.sel.begin?r+this.delta:r,n=this.val.charAt(r),(a&&a===n||o&&o===n)&&(this.val=i.removeChars(this.val,r,r+1),t--)}this.hldrs={},this.focus=this.val.length},o.prototype._validateInpts=function(){for(var t=0;t-1?{begin:a,end:a}:{begin:-i.moveStart("character",-a),end:-i.moveEnd("character",-a)}}return{begin:0,end:0}},set:function(t,e){if("object"!=typeof e&&(e={begin:e,end:e}),t.setSelectionRange)t.focus(),t.setSelectionRange(e.begin,e.end);else if(t.createTextRange){var i=t.createTextRange();i.collapse(!0),i.moveEnd("character",e.end),i.moveStart("character",e.begin),i.select()}}};return t}(),i);$.fn.formatter=function(t){return"object"==typeof t&&this.each(function(){$.data(this,"plugin_formatter")||$.data(this,"plugin_formatter",new n(this,t))}),this.resetPattern=function(t){return this.each(function(){var e=$.data(this,"plugin_formatter");e&&e.resetPattern(t)}),this},this},$.fn.formatter.addInptType=function(t,e){n.addInptType(t,e)}}),function(t,e){var i,n=t.fn.domManip,a="_tmplitem",o=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,r={},s={},l={key:0,data:{}},c=0,u=0,h=[];function d(e,i,n,a){var o={data:a||0===a||!1===a?a:i?i.data:{},_wrap:i?i._wrap:null,tmpl:null,parent:i||null,nodes:[],calls:_,nest:b,wrap:w,html:k,update:x};return e&&t.extend(o,e,{nodes:[],parent:i}),n&&(o.tmpl=n,o._ctnt=o._ctnt||o.tmpl(t,o),o.key=++c,(h.length?s:r)[c]=o),o}function f(e,i,n){var o,r=n?t.map(n,function(t){return"string"==typeof t?e.key?t.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+a+'="'+e.key+'" $2'):t:f(t,e,t._ctnt)}):e;return i?r:((r=r.join("")).replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(e,i,n,a){y(o=t(n).get()),i&&(o=p(i).concat(o)),a&&(o=o.concat(p(a)))}),o||p(r))}function p(e){var i=document.createElement("div");return i.innerHTML=e,t.makeArray(i.childNodes)}function m(e){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+t.trim(e).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(e,i,n,a,o,r,s){var l,c,u,h=t.tmpl.tag[n];if(!h)throw"Unknown template tag: "+n;return l=h._default||[],r&&!/\w$/.test(o)&&(o+=r,r=""),o?(o=v(o),s=s?","+v(s)+")":r?")":"",c=r?o.indexOf(".")>-1?o+v(r):"("+o+").call($item"+s:o,u=r?c:"(typeof("+o+")==='function'?("+o+").call($item):("+o+"))"):u=c=l.$1||"null",a=v(a),"');"+h[i?"close":"open"].split("$notnull_1").join(o?"typeof("+o+")!=='undefined' && ("+o+")!=null":"true").split("$1a").join(u).split("$1").join(c).split("$2").join(a||l.$2||"")+"__.push('"})+"');}return __;")}function g(e,i){e._wrap=f(e,!0,t.isArray(i)?i:[o.test(i)?i:t(i).html()]).join("")}function v(t){return t?t.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function y(e){var i,n,o,l,h,f="_"+u,p={};for(o=0,l=e.length;o=0;h--)m(n[h]);m(i)}function m(e){var i,n,o,l,h=e;if(l=e.getAttribute(a)){for(;h.parentNode&&1===(h=h.parentNode).nodeType&&!(i=h.getAttribute(a)););i!==l&&(h=h.parentNode?11===h.nodeType?0:h.getAttribute(a)||0:0,(o=r[l])||((o=d(o=s[l],r[h]||s[h])).key=++c,r[c]=o),u&&m(l)),e.removeAttribute(a)}else u&&(o=t.data(e,"tmplItem"))&&(m(o.key),r[o.key]=o,h=(h=t.data(e.parentNode,"tmplItem"))?h.key:0);if(o){for(n=o;n&&n.key!=h;)n.nodes.push(e),n=n.parent;delete o._ctnt,delete o._wrap,t.data(e,"tmplItem",o)}function m(t){o=p[t+=f]=p[t]||d(o,r[o.parent.key+f]||o.parent)}}}function _(t,e,i,n){if(!t)return h.pop();h.push({_:t,tmpl:e,item:this,data:i,options:n})}function b(e,i,n){return t.tmpl(t.template(e),i,n,this)}function w(e,i){var n=e.options||{};return n.wrapped=i,t.tmpl(t.template(e.tmpl),e.data,n,e.item)}function k(e,i){var n=this._wrap;return t.map(t(t.isArray(n)?n.join(""):n).filter(e||"*"),function(t){return i?t.innerText||t.textContent:t.outerHTML||(e=t,(n=document.createElement("div")).appendChild(e.cloneNode(!0)),n.innerHTML);var e,n})}function x(){var e=this.nodes;t.tmpl(null,null,null,this).insertBefore(e[0]),t(e).remove()}t.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,n){t.fn[e]=function(a){var o,s,l,c,h=[],d=t(a),f=1===this.length&&this[0].parentNode;if(i=r||{},f&&11===f.nodeType&&1===f.childNodes.length&&1===d.length)d[n](this[0]),h=this;else{for(s=0,l=d.length;s0?this.clone(!0):this).get(),t(d[s])[n](o),h=h.concat(o);u=0,h=this.pushStack(h,e,d.selector)}return c=i,i=null,t.tmpl.complete(c),h}}),t.fn.extend({tmpl:function(e,i,n){return t.tmpl(this[0],e,i,n)},tmplItem:function(){return t.tmplItem(this[0])},template:function(e){return t.template(e,this[0])},domManip:function(e,a,o,s){if(e[0]&&t.isArray(e[0])){for(var l,c=t.makeArray(arguments),h=e[0],d=h.length,f=0;f").join(">").split('"').join(""").split("'").join("'")}}),t.extend(t.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},if:{open:"if(($notnull_1) && $1a){",close:"}"},else:{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(t){r={}},afterManip:function(e,i,n){var a=11===i.nodeType?t.makeArray(i.childNodes):1===i.nodeType?[i]:[];n.call(e,i),y(a),u++}})}(jQuery),APP.init=function(){APP.initAjaxDefaultSetting(),APP.initMenu(),APP.initAx5(),APP.initPlugins(),APP.initCheckboxAll()},APP.initAjaxDefaultSetting=function(){$(document).ajaxError(function(t,e,i){var n="알수없는 오류가 발생하였습니다.";void 0!==e.responseJSON&&void 0!==e.responseJSON.message?n=e.responseJSON.message:500==e.status?n="서버 코드 오류가 발생하였습니다.\n관리자에게 문의하세요":401==e.status&&(n="해당 명령을 실행할 권한이 없습니다."),toastr.error(n,"오류 발생")}).ajaxStart(function(){$.blockUI({css:{width:"25px",top:"49%",left:"49%",border:"0px none",backgroundColor:"transparent",cursor:"wait"},message:'로딩중',baseZ:1e4,overlayCSS:{opacity:0}})}).ajaxComplete(function(){$.unblockUI()})},APP.initMenu=function(){$("#nav .main-navigation li").each(function(){$(this).data("active")==menuActive&&($(this).addClass("active"),$(this).parents("li").addClass("active"))})},APP.initPlugins=function(){$.datepicker._updateDatepicker_original=$.datepicker._updateDatepicker,$.datepicker._updateDatepicker=function(t){$.datepicker._updateDatepicker_original(t);var e=this._get(t,"afterShow");e&&e.apply(t.input?t.input[0]:null)},$.datepicker.regional.ko={closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일","월","화","수","목","금","토"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,changeMonth:!0,changeYear:!0,yearSuffix:"",afterShow:function(){$(".ui-datepicker-prev").empty().append(''),$(".ui-datepicker-next").empty().append('')}},$.datepicker.setDefaults($.datepicker.regional.ko),$('[data-toggle="datepicker"]').each(function(){$(this).formatter({pattern:"{{9999}}-{{99}}-{{99}}",persistent:!0}).datepicker()}),$("body").on("click",'[data-toggle="datepicker"]',function(){$(this).hasClass("hasDatepicker")||($(this).datepicker(),$(this).datepicker("show"))}),$('[data-toggle="formatter"]').each(function(){$(this).data("pattern")&&$(this).formatter({pattern:$(this).data("pattern"),persistent:!0})})},APP.initCheckboxAll=function(){$("[data-checkbox]").click(function(){var t=$(this),e=t.data("checkbox-all")&&"true"==t.data("checkbox-all").toString(),i=t.data("checkbox"),n=t.prop("checked"),a=e?t:$('[data-checkbox="'+i+'"][data-checkbox-all="true"]');e?$('[data-checkbox="'+i+'"]').prop("checked",n):a.prop("checked",$('[data-checkbox="'+i+'"]').not('[data-checkbox-all="true"]').length==$('[data-checkbox="'+i+'"]:checked').not('[data-checkbox-all="true"]').length)})},APP.initAx5=function(){APP.MASK=new ax5.ui.mask({zIndex:1e3}),APP.MASK2=new ax5.ui.mask({zIndex:2e3}),APP.modal=new ax5.ui.modal({absolute:!0,iframeLoadingMsg:''}),APP.modal2=new ax5.ui.modal({absolute:!0,iframeLoadingMsg:''}),APP.toast=new ax5.ui.toast({containerPosition:"top-right",closeIcon:''})},$(function(){APP.init()}),function(t){"use strict";var e=".dropdown-backdrop",i='[data-toggle="dropdown"]',n=function(e){t(e).on("click.bs.dropdown",this.toggle)};function a(e){var i=e.attr("data-target");i||(i=(i=e.attr("href"))&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var n=i&&t(i);return n&&n.length?n:e.parent()}function o(n){n&&3===n.which||(t(e).remove(),t(i).each(function(){var e=t(this),i=a(e),o={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(i[0],n.target)||(i.trigger(n=t.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(e.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",o)))))}))}n.VERSION="3.3.7",n.prototype.toggle=function(e){var i=t(this);if(!i.is(".disabled, :disabled")){var n=a(i),r=n.hasClass("open");if(o(),!r){"ontouchstart"in document.documentElement&&!n.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",o);var s={relatedTarget:this};if(n.trigger(e=t.Event("show.bs.dropdown",s)),e.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),n.toggleClass("open").trigger(t.Event("shown.bs.dropdown",s))}return!1}},n.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var n=t(this);if(e.preventDefault(),e.stopPropagation(),!n.is(".disabled, :disabled")){var o=a(n),r=o.hasClass("open");if(!r&&27!=e.which||r&&27==e.which)return 27==e.which&&o.find(i).trigger("focus"),n.trigger("click");var s=o.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var l=s.index(e.target);38==e.which&&l>0&&l--,40==e.which&&l',onClick:function(){APP.MODAL.callback()}}}}});return{open:function(t){t=$.extend(!0,{},e,t),$(document.body).addClass("modalOpened"),this.modalCallback=t.callback,this.modalSendData=t.sendData,APP.modal.open(t)},css:function(e){e=$.extend(!0,{},t,e),APP.modal.css(e)},align:function(t){APP.modal.align(t)},close:function(t){APP.modal.close(),setTimeout(function(){$(document.body).removeClass("modalOpened")},500)},minimize:function(){APP.modal.minimize()},maximize:function(){APP.modal.maximize()},callback:function(t){this.modalCallback&&this.modalCallback(t),this.close(t)},modalCallback:{},getData:function(){if(this.modalSendData)return this.modalSendData()}}}(),APP.MODAL2=function(){var t={width:400,height:400,position:{left:"center",top:"middle"}},e=$.extend(!0,{},t,{iframeLoadingMsg:"",iframe:{method:"get",url:"#"},closeToEsc:!0,onStateChanged:function(){"open"===this.state?APP.MASK2.open():"close"===this.state&&APP.MASK2.close()},animateTime:100,zIndex:2001,absolute:!0,fullScreen:!1,header:{title:"새로운 윈도우",btns:{close:{label:'',onClick:function(){APP.MODAL2.callback()}}}}});return{open:function(t){t=$.extend(!0,{},e,t),$(document.body).addClass("modalOpened"),this.modalCallback=t.callback,this.modalSendData=t.sendData,APP.modal2.open(t)},css:function(e){e=$.extend(!0,{},t,e),APP.modal2.css(e)},align:function(t){APP.modal2.align(t)},close:function(t){APP.modal2.close(),setTimeout(function(){$(document.body).removeClass("modalOpened")},500)},minimize:function(){APP.modal2.minimize()},maximize:function(){APP.modal2.maximize()},callback:function(t){this.modalCallback&&this.modalCallback(t),this.close(t)},modalCallback:{},getData:function(){if(this.modalSendData)return this.modalSendData()}}}(),APP.TOAST={confirm:function(t){APP.toast.push({theme:"default",icon:'',msg:t})},error:function(t){APP.toast.push({theme:"danger",icon:'',msg:t})},success:function(t){APP.toast.push({theme:"success",icon:'',msg:t})}},APP.BOARD.keyCheck=function(t){return""==t?"게시판 고유키를 입력하세요":APP.REGEX.uniqueID.test(t)?!APP.BOARD.existCheck(t)||"이미 존재하는 키 입니다.":"게시판 고유키는 영어 소문자로 시작하는 3~20 글자로 영어와 숫자만 사용가능합니다."},APP.BOARD.existCheck=function(t){var e=null;return $.ajax({url:base_url+"/ajax/board/info",type:"get",async:!1,cache:!1,data:{brd_key:t,is_raw:!0},success:function(t){e=t}}),e},APP.BOARD.CATEGORY.form=function(t,e,i){e=void 0!==e&&e>=0?e:null,i=void 0!==i&&i?i:null;return(t=void 0!==t&&t?t:null)?parseInt(e)<0?(alert("부모 카테고리가 선택되지 않았습니다."),!1):void APP.MODAL.open({width:400,height:200,header:{title:i?"카테고리 정보 수정":"카테고리 추가"},callback:function(){parent.location.reload()},iframe:{method:"get",url:"/admin/board/category_form",param:{brd_key:t,bca_parent:e,bca_idx:i}}}):(alert("게시판이 지정되지 않았습니다."),!1)},APP.BOARD.CATEGORY.remove=function(t){if(APP.BOARD.CATEGORY.count(t)>0)return alert("해당 카테고리의 하위 카테고리가 존재합니다. 하위 카테고리를 먼저 삭제해주세요"),!1;var e=APP.BOARD.CATEGORY.postCount(t);return!(e>0&&!confirm("해당 카테고리에 등록된 글이 "+e+"건이 있습니다. 삭제를 진행하시겠습니까?"))&&(!!confirm("해당 카테고리를 삭제하시겠습니까?")&&void $.ajax({url:base_url+"/ajax/board/category",type:"DELETE",cache:!1,async:!1,data:{bca_idx:t},success:function(t){t.result?(alert("카테고리 삭제에 성공하였습니다."),location.reload()):(alert("카테고리 삭제에 실패하였습니다."),location.reload())}}))},APP.BOARD.EXTRA.form=function(t,e){if(e=void 0!==e&&e?e:null,!(t=void 0!==t&&t?t:null))return alert("게시판이 지정되지 않았습니다."),!1;APP.MODAL.open({width:400,height:200,header:{title:e?"입력필드 수정":"입력필드 추가"},callback:function(){parent.location.reload()},iframe:{method:"get",url:"/admin/board/extra_form",param:{brd_key:t,bmt_idx:e}}})},APP.BOARD.EXTRA.remove=function(t,e){return t=void 0!==t&&t?t:null,(e=void 0!==e&&e?e:null)?!!confirm("해당 필드로 등록된 글이 있을경우, 해당 필드값도 같이 사라집니다. 계속 진행 하시겠습니까?")&&void $.ajax({url:base_url+"/ajax/board/extra",type:"DELETE",cache:!1,async:!1,data:{brd_key:t,bmt_idx:e},success:function(t){t.result?(alert("입력필드 삭제에 성공하였습니다."),location.reload()):(alert("입력필드 삭제에 실패하였습니다."),location.reload())}}):(alert("잘못된 접근입니다."),!1)};var faq={form:function(t,e){e="string"==typeof e||"number"==typeof e?e:null;if(!(t="string"==typeof t||"number"==typeof t?t:null))return alert("FAQ 분류 정보가 없습니다."),!1;APP.MODAL.open({width:800,height:650,header:{title:e?"FAQ 정보 수정":"FAQ 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/management/faq_form",param:{fac_idx:t,faq_idx:e}}})},remove:function(t){if(void 0!==t&&t&&""!=t.trim()||alert("잘못된 접근입니다."),!confirm("해당 FAQ를 삭제하시겠습니까?"))return!1;$.ajax({url:"/ajax/faq/info",type:"delete",async:!1,cache:!1,data:{faq_idx:t},success:function(t){alert("FAQ가 삭제되었습니다."),location.reload()}})},category:{}};faq.category.form=function(t){t="string"==typeof t||"number"==typeof t?t:null;APP.MODAL.open({width:$(window).width()>600?600:$(window).width(),height:250,header:{title:t?"FAQ 분류 정보 수정":"FAQ 분류 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/management/faq_category_form",param:{fac_idx:t}}})},faq.category.exist=function(t){if(void 0===t||!t||""==t.trim())return!1;var e=!1;return $.ajax({url:"/ajax/faq/category",type:"get",async:!1,cache:!1,data:{fac_idx:t},success:function(t){e=!(t&&void 0!==t.fac_idx&&t.fac_idx)}}),e},faq.category.remove=function(t){void 0!==t&&t&&""!=t.trim()||alert("잘못된 접근입니다.");var e=0;if($.ajax({url:"/ajax/faq/lists",type:"get",async:!1,cache:!1,data:{fac_idx:t},success:function(t){e=t.total_count}}),!confirm(e>0?"해당 FAQ 분류에 "+e+"개의 FAQ 목록이 등록되어 있습니다.\nFAQ 분류을 삭제할시 등록된 FAQ 목록도 같이 삭제됩니다.\n\n계속 하시겠습니까?":"FAQ 분류을 삭제하시겠습니까?"))return!1;$.ajax({url:"/ajax/faq/category",type:"delete",async:!1,cache:!1,data:{fac_idx:t},success:function(t){alert("FAQ 분류가 삭제되었습니다."),location.href=base_url+"/admin/management/faq"}})},APP.MEMBER.POP_INFO_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 정보"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/info/"+t,param:{}}})},APP.MEMBER.POP_PASSWORD_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"비밀번호 변경"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/password/"+t,param:{}}})},APP.MEMBER.POP_MODIFY_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 정보 수정"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/modify/"+t,param:{}}})},APP.MEMBER.POP_POINT_ADMIN=function(t){if(void 0===t||!t)return alert("잘못된 접근입니다."),!1;APP.MODAL.open({width:800,height:600,header:{title:"회원 포인트 관리"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/point/"+t,param:{}}})},APP.MEMBER.POP_POINT_FORM_ADMIN=function(t){(t=void 0!==t&&t?t:null)?(APP.MODAL2.callback=function(){location.reload()},APP.MODAL2.open({width:410,height:200,header:{title:"회원 포인트 추가"},callback:function(){location.reload()},iframe:{method:"get",url:"/admin/members/point_form/"+t}})):alert("잘못된 접근입니다.")},APP.MEMBER.STATUS_CHANGE=function(t,e,i){if(void 0===t||!t||void 0===e||!e||void 0===i||!i)return alert(LANG.common_msg_invalid_access),!1;var n="";if("Y"==i)n=LANG.member_status_y;else if("N"==i)n=LANG.member_status_n;else if("D"==i)n=LANG.member_status_d;else{if("H"!=i)return alert(LANG.common_msg_invalid_access),!1;n=LANG.member_status_h}confirm("해당 회원의 상태를 ["+n+"] 상태로 변경합니까?")&&$.ajax({url:"/ajax/members/status",type:"POST",async:!1,cache:!1,data:{mem_idx:t,current_status:e,change_status:i},success:function(){alert("지정한 회원의 상태를 ["+n+"] 상태로 변경하였습니다."),location.reload()}})},$(function(){}); //# sourceMappingURL=admin.min.js.map diff --git a/public_html/assets/js/admin.min.js.map b/public_html/assets/js/admin.min.js.map index 1f7b74b..29e5683 100644 --- a/public_html/assets/js/admin.min.js.map +++ b/public_html/assets/js/admin.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["clipboard.js","jquery.cookie.js","global.js","member.js","board.js","ax5core.js","ax5mask.js","ax5modal.js","ax5toast.js","jquery-ui.js","jquery.datetimepicker.full.js","jquery.blockUI.js","jquery.formatter.js","jquery.tmpl.js","admin.js","components.js","modal.js","toast.js","faq.js"],"names":["root","factory","exports","module","define","amd","this","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_select","obj","_select2","default","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","target","props","length","descriptor","writable","key","Constructor","protoProps","staticProps","ClipboardAction","options","instance","TypeError","_classCallCheck","resolveOptions","initSelection","arguments","undefined","action","container","emitter","text","trigger","selectedText","selectFake","selectTarget","_this","isRTL","document","documentElement","getAttribute","removeFake","fakeHandlerCallback","fakeHandler","addEventListener","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","window","pageYOffset","scrollTop","top","setAttribute","appendChild","copyText","removeEventListener","removeChild","succeeded","execCommand","err","handleResult","emit","clearSelection","bind","focus","getSelection","removeAllRanges","set","_action","Error","nodeType","hasAttribute","_target","apply","is","delegate","type","callback","string","fn","node","destroy","listenNode","nodeList","Array","forEach","listenNodeList","selector","body","listenSelector","E","on","ctx","e","push","once","self","listener","off","_","data","slice","evtArr","len","evts","liveEvents","_clipboardAction","_tinyEmitter","_goodListener","_clipboardAction2","_interopRequireDefault","_tinyEmitter2","_goodListener2","Clipboard","_Emitter","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","listenClick","subClass","superClass","create","setPrototypeOf","_inherits","defaultAction","defaultTarget","defaultText","_this2","onClick","delegateTarget","currentTarget","clipboardAction","getAttributeValue","querySelector","actions","support","queryCommandSupported","suffix","element","attribute","DOCUMENT_NODE_TYPE","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentNode","closest","_delegate","useCapture","listenerFn","elements","querySelectorAll","map","HTMLElement","toString","String","nodeName","isReadOnly","select","setSelectionRange","removeAttribute","selection","range","createRange","selectNodeContents","addRange","require","jQuery","$","pluses","encode","config","raw","encodeURIComponent","read","converter","indexOf","replace","decodeURIComponent","json","JSON","parse","parseCookieValue","isFunction","cookie","extend","defaults","expires","days","t","Date","setMilliseconds","getMilliseconds","stringify","stringifyCookieValue","toUTCString","path","domain","secure","join","result","cookies","split","parts","shift","removeCookie","console","log","APP","POPUP","REGEX","uniqueID","option","title","width","height","url","cw","screen","availWidth","ch","availHeight","sw","sh","ml","mt","win","open","outerWidth","outerHeight","alert","SET_LANG","lang","location","reload","click","idx","close","remove","not","preventDefault","sns_type","href","loc","img","attr","ClipboardJS","MEMBER","init","InitLoginForm","initCheckExist","InitRegisterForm","InitMemberModifyForm","submit","$form","ajax","serialize","base_url","success","res","LANG","member_join_success","message","elementLoginID","find","elementLoginPass","val","trim","member_login_userid_required","member_login_password_required","reurl","error","each","$btn","$target","member_join_user_id_required","wordCheck","denyWordCheck","member_join_no_valid_email_address","getInfo","member_join_user_id_already_exists","member_join_user_id_available","member_join_user_id_contains_deny_word","info","async","cache","POP_CHANGE_PHOTO","ready","BOARD","CATEGORY","EXTRA","COMMENT","count","bca_idx","postCount","modify","cmt_idx","reply","cmt_num","$form_post","blockUI","css","left","backgroundColor","cursor","baseZ","overlayCSS","opacity","DateFormatter","doc","reIsJson","reMs","reSnakeCase","reCamelCase","reDot","reInt","reNotNum","reMoneySplit","RegExp","reAmp","reEq","reClassNameSplit","ax5","U","guid","getGuid","_arguments","browser","ua","mobile","browserName","match","browserVersion","navigator","userAgent","toLowerCase","search","version","exec","isBrowser","wheelEnm","test","errorMsg","baseUrl","onerror","toArray","eventKeys","BACKSPACE","TAB","RETURN","ESC","LEFT","UP","RIGHT","DOWN","DELETE","HOME","END","PAGEUP","PAGEDOWN","INSERT","SPACE","weekNames","label","supportTouch","maxTouchPoints","msMaxTouchPoints","supportFileApi","FileReader","File","FileList","Blob","urlUtil","urls","param","referrer","pathname","hostname","port","hashdata","last","getError","className","errorCode","methodName","msg","_toString","O","_fn","isNothing","toJson","jsonString","util","isArray","isObject","jsonObjectBody","isString","isNumber","isUndefined","str","pos","substr","right","lastIndexOf","camelCase","all","letter","toUpperCase","snakeCase","number","cond","isMinus","returnValue","pair","Number","k","nUnit","myByte","Math","round","abs","floor","ceil","txtNumber","isNaN","arrNumber","localDate","yy","mm","dd","hh","mi","ss","utcD","UTC","getUTCHours","getTimezoneOffset","setUTCHours","date","nY","nH","nMM","nS","nDW","regY","regM","regD","regH","regMI","regS","regDW","fStr","nM","nD","aDateTime","aTimes","aTime","aDate","va","parseFloat","substring","_d","opts","mxdd","setTime","getTime","getFullYear","getMonth","getDate","daysOfMonth","parseInt","processor","firstDayOfMonth","lastDayOfMonth","getUTCFullYear","setDigit","getHours","getMinutes","getSeconds","getDay","$1","y","num","padder","radix","times","selectRange","textRange","selectAll","el","offset","arr","moveStart","collapse","moveEnd","start","end","setStart","setEnd","firstChild","rangeType","createTextRange","moveToElementText","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","now","trailingEdge","setTimeout","timeSinceLastInvoke","min","remainingWait","debounced","isInvoking","_len","_key","leadingEdge","max","cancel","clearTimeout","flush","escapeHtml","unescapeHtml","results","fnResult","reduce","tokenItem","reduceRight","filter","sum","defaultValue","tokenValue","avg","parseJson","force","Function","first","keys","item","deepCopy","r","getType","typeName","isWindow","isElement","isNodelist","setCookie","cn","cv","exdays","expire","setDate","escape","getCookie","cname","ca","charAt","unescape","merge","second","j","v","dday","diffnum","memoryDay","DyMilli","today","getDayTime","weeksOfMonth","myDate","year","month","findParentNode","tagName","toLocaleLowerCase","klasss","hasClass","a","cssNumber","found","unit","returns","vSplited","isDate","valueOf","isDateFormat","stopEvent","event","cancelBubble","stopPropagation","throttle","_string","format","concat","decode","_pos","color","_hexColor","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","rgb","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","convertToPercentage","convertTo255","convertToHex","bound01","isOnePointZero","processPercent","isPercentage","rgbToHsl","g","b","h","hslToRgb","hue2rgb","q","_color","_originalValue","convertObject","_format","_hex","getHexValue","lighten","amount","darken","getBrightness","isDark","isLight","getHsl","def","501","401","402","460","461","hwp","hdeb","de","del","_f","re_trim","propertyIsEnumerable","prop","fun","thisp","bound","nop","createStyleSheet","maxCount","resultSet","addRule","currentStyle","foo","removeRule","Infinity","sJSON","vContent","splice","documentMode","_splice","_slice","begin","size","cloned","upTo","con","method","empty","dummy","properties","methods","pop","webkitMatchMedia","mozMatchMedia","oMatchMedia","msMatchMedia","matchMedia","getElementsByTagName","styleMedia","media","script","id","insertBefore","getComputedStyle","matchMedium","styleSheet","cssText","textContent","addListener","localMatchMedia","hasMediaQueries","isListening","timeoutID","queries","handleChange","evt","il","mql","listeners","jl","index","removeListener","ui","setConfig","cfg","callInit","bindWindowResize","callBack","resize","bindWindowResize__","main","addClass","cls","classStore","wrapper","arg","instanceId","initInstance","global","mustache","objectToString","escapeRegExp","hasProperty","propName","regExpTest","nonSpaceRe","isWhitespace","re","testRegExp","entityMap","&","<",">","\"","'","/","whiteRe","spaceRe","equalsRe","curlyRe","tagRe","Scanner","tail","Context","view","parentContext",".","@each","@key","@value","parent","Writer","eos","scan","scanUntil","lookup","names","context","lookupHit","clearCache","template","tags","tokens","openingTagRe","closingTagRe","closingCurlyRe","sections","spaces","hasTag","nonSpace","stripSpace","compileTags","tagsToCompile","chr","token","openSection","scanner","valueLength","nestedTokens","collector","numTokens","nestTokens","lastToken","squashedTokens","squashTokens","parseTemplate","render","partials","renderTokens","originalTemplate","symbol","buffer","renderSection","renderInverted","renderPartial","unescapedValue","escapedValue","rawValue","defaultWriter","to_html","send","UI","MASK","theme","animateTime","maskContent","status","onStateChanged","that","setBody","content","templateName","maskConfig","_cfg","maskId","$mask","tmpl","getBodyTmpl","append","_$target","align","zIndex","state","_delay","_close","removeClass","fadeOut","pullRequest","mask_instance","mask","defaultMask","columnKeys","tmplName","MODAL","ENM","mousedown","mousemove","mouseup","getMousePosition","mouseObj","changedTouches","clientX","clientY","minimizePosition","clickEventName","closeToEsc","disableDrag","disableResize","iframe","activeModal","watingModal","eventProcessor","onResize","move","modalId","header","fullScreen","styles","iframeLoadingMsg","absolute","hide","show","onkeyup","isButton","isFullScreen","mousePosition","moveModal","btnOnClick","originalEvent","resizeModal","srcElement","btns","dialogId","btnTarget","keyCode","alignProcessor","top-left","top-right","bottom-left","bottom-right","center-middle","modalZIndex","modalOffset","modalBox","scrollLeft","__dx","__dy","resizerBg","resizer","getResizerPosition","box","modalConfig","removeAttr","resizerType","resizerProcessor","minHeight","shiftKey","altKey","bottom","minWidth","cursorType","headerHeight","unbind","tryCount","_option","$iframe","iframeObject","idoc","contentDocument","contentWindow","children","innerHTML","CollectGarbage","minimized","minimize","originalHeight","restore","setModalConfig","_config","_fullScreen","modal_instance","modal","TOAST","toastSeq","toastSeqClear","icon","closeIcon","ok","displayTime","containerPosition","toastContainer","queue","getContent","toastId","toastBox","containerId","prepend","toastType","btn_target","dialogConfig","confirm","toast_instance","toast","toastDisplay","orig","widgetUuid","widgetSlice","cleanData","elems","events","elem","_data","triggerHandler","widget","base","existingConstructor","basePrototype","proxiedPrototype","namespace","fullName","Widget","expr","_createWidget","_proto","_childConstructors","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","input","inputIndex","inputLength","isPlainObject","isMethodCall","methodValue","jquery","pushStack","_init","defaultElement","classes","disabled","uuid","eventNamespace","bindings","hoverable","focusable","classesElementLookup","_on","ownerDocument","defaultView","parentWindow","_getCreateOptions","_create","_setOptionDisabled","_trigger","_getCreateEventData","noop","_destroy","_removeClass","removeData","curOption","_setOptions","_setOption","_setOptionClasses","classKey","currentElements","_classes","add","_toggleClass","enable","disable","full","processClassString","checkOption","current","unique","extra","_untrackClassesElement","inArray","_addClass","toggleClass","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","eventName","_off","delay","_hoverable","mouseenter","mouseleave","_focusable","focusin","focusout","Event","isDefaultPrevented","defaultEffect","hasOptions","effect","effectName","duration","isEmptyObject","complete","effects","easing","next","cachedScrollbarWidth","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","offsets","parseCss","scrollbarWidth","w1","w2","div","innerDiv","offsetWidth","clientWidth","getScrollInfo","within","overflowX","isDocument","overflowY","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","of","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","scrollInfo","collision","pageY","pageX","at","horizontalOffset","verticalOffset","collisionPosition","using","elemWidth","elemHeight","marginLeft","marginTop","collisionWidth","collisionHeight","myOffset","my","dir","feedback","horizontal","vertical","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit","createPseudo","dataName","COMMA","ENTER","ESCAPE","PAGE_DOWN","PAGE_UP","PERIOD","scrollParent","includeHidden","excludeStaticParent","overflowRegex","parents","eq","uniqueId","removeUniqueId","ie","mouseHandled","distance","_mouseInit","_mouseDown","stopImmediatePropagation","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","which","elIsCancel","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","button","ctrlKey","metaKey","ignoreMissingWhich","_mouseDrag","_mouseStop","mouse","appendTo","axis","connectWith","containment","cursorAt","dropOnEmpty","forcePlaceholderSize","forceHelperSize","grid","handle","helper","items","placeholder","revert","scroll","scrollSensitivity","scrollSpeed","scope","tolerance","activate","beforeStop","change","deactivate","out","over","receive","sort","stop","update","_isOverAxis","x","reference","_isFloating","containerCache","refresh","_setHandleClassName","overrideHandle","currentItem","validHandle","reverting","_refreshItems","addBack","_removeCurrentsFromItems","noActivation","currentContainer","refreshPositions","_createHelper","_cacheHelperProportions","_cacheMargins","margins","_getParentOffset","relative","_getRelativeOffset","cssPosition","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","domPosition","prev","_createPlaceholder","_setContainment","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","overflowOffset","_uiHash","_preserveHelperProportions","containers","ddmanager","dropBehaviour","prepareOffsets","dragging","itemElement","intersection","scrolled","positionAbs","_convertPositionTo","lastPositionAbs","offsetHeight","_intersectsWithPointer","contains","direction","_intersectsWithSides","_rearrange","_contactContainers","drag","noPropagation","drop","cur","animation","offsetParent","animate","_clear","_storedCSS","_noFinalSort","after","_getItemsAsjQuery","connected","expression","ret","_intersectsWith","x1","x2","helperProportions","y1","y2","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","horizontalDirection","_getDragVerticalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","delta","_connectWith","inst","addItems","list","grep","targetData","_queries","queriesLength","fast","toleranceElement","custom","refreshContainers","_createTrPlaceholder","innerHeight","innerWidth","sourceTr","targetTr","dist","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","clone","po","ce","co","mod","scrollIsRootNode","hardRefresh","nextSibling","counter","delayedTriggers","before","delayEvent","fromOutside","cancelHelperRemoval","_inst","sender","safeActiveElement","activeElement","icons","submenu","menus","role","blur","activeMenu","tabIndex","mousedown .ui-menu-item","click .ui-menu-item","active","isPropagationStopped","has","expand","timer","mouseenter .ui-menu-item","previousFilter","actualTarget","siblings","mouseleave .ui-menu","keepActiveItem","collapseAll","keydown","_closeOnDocumentClick","submenus","_keydown","character","skip","previousPage","nextPage","_move","previous","_activate","fromCharCode","filterTimer","_filterMenuItems","nextAll","newSubmenus","newItems","newWrappers","aria-hidden","aria-expanded","menu","submenuCaret","_isDivider","_itemRole","listbox","nested","focused","activeParent","_scrollIntoView","_startOpening","borderTop","paddingTop","elementHeight","itemHeight","_hasScroll","fromFocus","_open","currentMenu","startMenu","newItem","isFirstItem","prevAll","isLastItem","escapedCharacter","regex","autoFocus","minLength","source","response","requestIndex","pending","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isInput","isMultiLine","_isContentEditable","valueMethod","isNewMenu","_keyEvent","_value","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_change","_initSource","_appendTo","menufocus","one","liveRegion","menuselect","aria-live","aria-relevant","beforeunload","xhr","abort","_isEventTargetInWidget","menuElement","_closeOnClickOutside","array","request","autocomplete","dataType","equalValues","menuVisible","modifierKey","_search","cancelSearch","_response","proxy","__response","_normalize","_suggest","ul","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","editable","escapeRegex","matcher","messages","noResults","datepicker_instActive","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","appendText","buttonText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onSelect","onChangeMonthYear","onClose","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","autoSize","en","dpDiv","datepicker_bindHover","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","markerClassName","maxRows","_widgetDatepicker","setDefaults","settings","_attachDatepicker","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_get","_showDatepicker","src","alt","html","_lastInput","_hideDatepicker","findMax","maxI","setMonth","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","scrollX","scrollY","_dialogInst","_dialogInput","clientHeight","_destroyDatepicker","_enableDatepicker","_getInst","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","sel","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","chars","_possibleChars","charCode","lastVal","parseDate","_getFormatConfig","beforeShowSettings","isFixed","_findPos","display","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","cols","activeCell","yearshtml","replaceWith","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","filters","hidden","postProcess","_tidyDialog","unblockUI","_checkExternalClick","period","_adjustInstDate","currentDay","currentMonth","currentYear","_notifyChange","_selectMonthYear","selectedIndex","td","_selectDate","formatDate","noWeekends","day","checkDate","iFormat","dim","iValue","shortYearCutoffTemp","doy","literal","lookAhead","getNumber","isDoubled","digits","getName","shortNames","longNames","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","formatName","output","dates","_restrictMinMax","_determineDate","newDate","pattern","offsetString","offsetNumeric","setHours","setMinutes","setSeconds","noChange","clear","origMonth","origYear","selectDay","selectMonth","selectYear","maxDraw","gotoDate","controls","buttonPanel","dow","row","group","col","selectedDate","cornerClass","calender","thead","daysInMonth","leadDays","curRows","numRows","printDate","dRow","tbody","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","secondary","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","onChange","minMax","curYear","curMonth","yearSplit","minYear","maxYear","initialized","otherArgs","u","dateSettings","daysShort","months","monthsShort","meridiem","ordinal","1","2","3","separators","validParts","intParts","tzParts","tzClip","f","hour","sec","guessDate","setFullYear","parseFormat","D","w","N","z","Y","W","F","M","L","A","G","B","getUTCMinutes","getUTCSeconds","H","I","P","T","Z","datetimepickerFactory","default_options","i18n","ar","dayOfWeekShort","dayOfWeek","ro","bg","fa","ru","uk","nl","tr","fr","es","th","pl","pt","se","km","kr","it","da","no","ja","vi","sl","cs","hu","az","bs","en-GB","et","eu","fi","gl","hr","ko","lt","lv","mk","mn","pt-BR","sk","sq","sr-YU","sr","sv","zh-TW","zh","ug","he","hy","kg","rm","ka","rtl","formatTime","startDate","step","monthChangeSpinner","closeOnDateSelect","closeOnTimeSelect","closeOnWithoutClick","closeOnInputClick","openOnFocus","timepicker","weeks","defaultTime","minTime","maxTime","minDateTime","maxDateTime","allowTimes","opened","initTime","touchMovedThreshold","onSelectDate","onSelectTime","onChangeMonth","onGetWeekOfYear","onChangeYear","onChangeDateTime","onShow","onGenerate","withoutCopyright","inverseButton","hours12","dayOfWeekStart","parentID","timeHeightInTimePicker","timepickerScrollbar","todayButton","prevButton","nextButton","defaultSelect","scrollMonth","scrollTime","scrollInput","lazyInit","validateOnBlur","allowBlank","yearStart","yearEnd","monthStart","monthEnd","fixed","roundTime","weekends","highlightedDates","highlightedPeriods","allowDates","allowDateRe","disabledDates","disabledWeekDays","yearOffset","enterLikeTab","showApplyButton","dateHelper","defaultDateHelper","globalLocale","dateFormatterOptionsDefault","initDateFormatter","locale","dateFormatters","moment","formatter","isFormatStandard","isValid","toDate","formatMask","datetimepicker","setLocale","newLocale","setDateFormatter","dateFormatter","df","standardFormats","values","HighlightedDate","desc","getPropertyValue","countDaysInMonth","xdsoftScroller","percent","timebox","parentHeight","scrollbar","scroller","timeboxparent","pointerEventToXY","touch","touches","maximumOffset","startY","startTop","h1","touchStart","startTopScroll","calcOffset","arguments_callee","percentage","noTriggerScroll","deltaY","coord","opt","opt2","createDateTimePicker","destroyDateTimePicker","KEY0","KEY9","_KEY0","_KEY9","CTRLKEY","DEL","ARROWLEFT","ARROWUP","ARROWRIGHT","ARROWDOWN","F5","AKEY","CKEY","VKEY","ZKEY","YKEY","ctrlDown","lazyInitTimer","xchangeTimer","timerclick","current_time_index","setPos","_xdsoft_datetime","forEachAncestorOf","xdsoft_copyright","month_picker","calendar","applyButton","monthselect","yearselect","triggerAfterOpen","visible","currentTime","handleTouchMoved","touchPosition","touchStartPosition","xMovement","yMovement","sqrt","touchMoved","getCurrentValue","ct","strToDate","strToDateTime","strtotime","isValidDate","setMask","isValidValue","reg","setCaretPos","getElementById","pastedData","clipboardData","getData","selectionStart","valueBeforeCursor","valueAfterPaste","digit","selEnd","selectionEnd","hasSel","maskValueAtCurPos","posShorterThanMaskLength","posGreaterThanZero","selLength","defaultBlank","selReplacementRemainder","valueBeforeSel","insertChars","charsAfterSelection","insertChar","valueAfterNextChar","getValue","getCurrentTime","setOptions","_options","exDesc","splitData","hDate","keyDate","dateTest","dateEnd","setCurrentTime","toggle","splittedHours","splittedMinutes","dayOfWeekStartPrev","norecursion","dTime","requireValidDate","nextMonth","prevMonth","getWeekOfYear","datetime","week","onejan","sDateTime","timeOffset","tmpDate","sDate","sTime","$this","arguments_callee1","arguments_callee2","arguments_callee4","pheight","arguments_callee5","customDateSettings","line_time","description","maxDateTimeDay","table","newRow","minTimeMinutesOfDay","maxTimeMinutesOfDay","current_time","isALlowTimesInit","currentMinutesOfDay","classType","xdevent","deltaX","$input","dateInputOffset","dateInputElem","verticalPosition","datetimepickerElem","dateInputHasFixedAncestor","$dateInput","windowWidth","verticalAnchorEdge","datetimepickerCss","windowHeight","windowScrollTop","diff","ancestorNode","arguments_callee6","elementSelector","unmousewheel","initOnActionCallback","nullLowestDeltaTimeout","lowestDelta","toFix","toBind","fixHooks","mouseHooks","special","mousewheel","setup","onmousewheel","getLineHeight","getPageHeight","teardown","$elem","$parent","adjustOldDeltas","normalizeOffset","absDelta","orgEvent","offsetX","offsetY","fix","detail","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaMode","lineHeight","pageHeight","shouldAdjustOldDeltas","getBoundingClientRect","boundingRect","deltaFactor","unshift","nullLowestDelta","dispatch","_fadeIn","fadeIn","noOp","msie","ie6","setExpr","setExpression","install","growlUI","timeout","$m","callBlock","centerY","showOverlay","onUnblock","growlCSS","mouseover","displayBlock","fadeTo","mouseout","block","fullOpts","$el","ignoreIfBlocked","unblock","zoom","draggable","textAlign","themedCSS","cursorReset","-webkit-border-radius","-moz-border-radius","border-radius","iframeSrc","forceIframe","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","lyr1","lyr2","lyr3","layers","$par","boxModel","sz","fixT","fixL","cb","cb1","cb2","center","to","els","reset","cssW","fwd","back","regexp","inpts","getMatches","pLength","mCount","iCount","processMatch","valLength","mLength","utils","destObj","addChars","removeChars","isBetween","bounds","attachEvent","getClip","getMatchingKey","isDelKeyDown","backspace","delete","isDelKeyPress","isSpecialKeyPress","tab","enter","home","leftarrow","uparrow","rightarrow","downarrow","isModifier","collection","patternMatcher","inptSel","persistent","repeat","inptRegs","9","*","Formatter","patterns","_specFromSinglePattern","_updatePattern","hldrs","_keyDown","_keyPress","_paste","_processKey","_focus","addInptType","resetPattern","_removeChars","newPattern","getPattern","isSpecial","isAfterStart","isFirstChar","delKey","ignoreCaret","_delete","_formatValue","_nextPos","newPos","_validateInpts","_addChars","curChar","curHldr","inptType","isBadType","isInvalid","inBounds","focusStart","_addChar","patternStr","parseMatcher","patternSpec","matcherStr","parsedPattern","regExpMatcher","matchedIndex","parentElement","inputRange","endRange","moveToBookmark","getBookmark","compareEndPoints","formatted","appendToTmplItems","oldManip","domManip","tmplItmAtt","htmlExpr","newTmplItems","wrappedItems","topTmplItem","itemKey","cloneIndex","stack","newTmplItem","parentItem","_wrap","nodes","calls","tiCalls","nest","tiNest","wrap","tiWrap","tiHtml","tiUpdate","_ctnt","build","tmplItem","frag","middle","storeTmplItems","unencode","makeArray","childNodes","buildTmplFn","markup","slash","fnargs","parens","exprAutoFnDetect","tag","_default","$2","updateWrapped","wrapped","keySuffix","newClonedItems","processItemKey","pntKey","pntItem","pntNode","cloneTmplItem","textOnly","innerText","outerHTML","cloneNode","coll","prependTo","insertAfter","replaceAll","original","tmplItems","insert","dmArgs","elemsLength","fragClone","afterManip","topLevel","dataItem","if","else","=","!","initAjaxDefaultSetting","initMenu","initAx5","initPlugins","initCheckboxAll","ajaxError","responseJSON","toastr","ajaxStart","ajaxComplete","menuActive","_updateDatepicker_original","afterShow","$check","is_all","checked","$allCheck","MASK2","modal2","backdrop","Dropdown","getParent","clearMenus","relatedTarget","VERSION","isActive","$items","old","dropdown","noConflict","defaultCss","defaultOption","modalCallback","modalSendData","sendData","modalCss","modalAlign","maximize","MODAL2","keyCheck","existCheck","brd_key","is_raw","form","bca_parent","post_count","bmt_idx","faq","fac_idx","faq_idx","category","exist","total_count","POP_INFO_ADMIN","mem_idx","POP_PASSWORD_ADMIN","POP_MODIFY_ADMIN","POP_POINT_ADMIN","POP_POINT_FORM_ADMIN","STATUS_CHANGE","current_status","change_status","common_msg_invalid_access","change_status_msg","member_status_y","member_status_n","member_status_d","member_status_h"],"mappings":"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","sourcesContent":["/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});","/*!\r\n * jQuery Cookie Plugin v1.4.1\r\n * https://github.com/carhartl/jquery-cookie\r\n *\r\n * Copyright 2006, 2014 Klaus Hartl\r\n * Released under the MIT license\r\n */\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD (Register as an anonymous module)\r\n define(['jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node/CommonJS\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n // Browser globals\r\n factory(jQuery);\r\n }\r\n}(function ($) {\r\n\r\n var pluses = /\\+/g;\r\n\r\n function encode(s) {\r\n return config.raw ? s : encodeURIComponent(s);\r\n }\r\n\r\n function decode(s) {\r\n return config.raw ? s : decodeURIComponent(s);\r\n }\r\n\r\n function stringifyCookieValue(value) {\r\n return encode(config.json ? JSON.stringify(value) : String(value));\r\n }\r\n\r\n function parseCookieValue(s) {\r\n if (s.indexOf('\"') === 0) {\r\n // This is a quoted cookie as according to RFC2068, unescape...\r\n s = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\r\n }\r\n\r\n try {\r\n // Replace server-side written pluses with spaces.\r\n // If we can't decode the cookie, ignore it, it's unusable.\r\n // If we can't parse the cookie, ignore it, it's unusable.\r\n s = decodeURIComponent(s.replace(pluses, ' '));\r\n return config.json ? JSON.parse(s) : s;\r\n } catch(e) {}\r\n }\r\n\r\n function read(s, converter) {\r\n var value = config.raw ? s : parseCookieValue(s);\r\n return $.isFunction(converter) ? converter(value) : value;\r\n }\r\n\r\n var config = $.cookie = function (key, value, options) {\r\n\r\n // Write\r\n\r\n if (arguments.length > 1 && !$.isFunction(value)) {\r\n options = $.extend({}, config.defaults, options);\r\n\r\n if (typeof options.expires === 'number') {\r\n var days = options.expires, t = options.expires = new Date();\r\n t.setMilliseconds(t.getMilliseconds() + days * 864e+5);\r\n }\r\n\r\n return (document.cookie = [\r\n encode(key), '=', stringifyCookieValue(value),\r\n options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\r\n options.path ? '; path=' + options.path : '',\r\n options.domain ? '; domain=' + options.domain : '',\r\n options.secure ? '; secure' : ''\r\n ].join(''));\r\n }\r\n\r\n // Read\r\n\r\n var result = key ? undefined : {},\r\n // To prevent the for loop in the first place assign an empty array\r\n // in case there are no cookies at all. Also prevents odd result when\r\n // calling $.cookie().\r\n cookies = document.cookie ? document.cookie.split('; ') : [],\r\n i = 0,\r\n l = cookies.length;\r\n\r\n for (; i < l; i++) {\r\n var parts = cookies[i].split('='),\r\n name = decode(parts.shift()),\r\n cookie = parts.join('=');\r\n\r\n if (key === name) {\r\n // If second argument (value) is a function it's a converter...\r\n result = read(cookie, value);\r\n break;\r\n }\r\n\r\n // Prevent storing a cookie that we couldn't decode.\r\n if (!key && (cookie = read(cookie)) !== undefined) {\r\n result[name] = cookie;\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n config.defaults = {};\r\n\r\n $.removeCookie = function (key, options) {\r\n // Must not alter options, thus extending a fresh object...\r\n $.cookie(key, '', $.extend({}, options, { expires: -1 }));\r\n return !$.cookie(key);\r\n };\r\n\r\n}));","/***********************************************************************************\r\n * IE 8 이하 브라우져 console.log 에러처리\r\n ***********************************************************************************/\r\nif(!window.console || !window.console.log) {window.console = {log : function(){}};}\r\n\r\nvar APP = {};\r\nAPP.POPUP = null;\r\nAPP.REGEX = {};\r\nAPP.REGEX.uniqueID = /^[a-z][a-z0-9_]{2,19}$/g;\r\n(function($) {\r\n APP.POPUP = function(option) {\r\n var defaults={\r\n title : '_blank',\r\n width : 800,\r\n height : 600,\r\n url : ''\r\n };\r\n\r\n var options = $.extend({}, defaults, option);\r\n\r\n cw = screen.availWidth;\r\n ch = screen.availHeight;\r\n sw = options.width;\r\n sh = options.height;\r\n\r\n ml = (cw - sw) / 2;\r\n mt = (ch - sh) / 2;\r\n var option = 'width='+sw+',height='+sh+',top='+mt+',left='+ml+',scrollbars=yes,resizable=no';\r\n var win = window.open(options.url, options.title, option);\r\n if (win == null || typeof(win) == \"undefined\" || (win == null && win.outerWidth == 0) || (win != null && win.outerHeight == 0))\r\n {\r\n alert(\"팝업 차단 기능이 설정되어있습니다\\n\\n차단 기능을 해제(팝업허용) 한 후 다시 이용해 주십시오.\");\r\n return;\r\n }\r\n };\r\n})(jQuery);\r\n\r\n/**\r\n * 언어셋 변경\r\n * @param lang\r\n * @constructor\r\n */\r\nAPP.SET_LANG = function(lang)\r\n{\r\n $.cookie('site_lang', lang, {expires:30, path:'/'});\r\n location.reload();\r\n};\r\n\r\n/**\r\n * 팝업창 닫기버튼 init\r\n */\r\n$('[data-toggle=\"btn-popup-close\"]').click(function(e){\r\n var type = $(this).data('type');\r\n var idx = $(this).data('idx');\r\n var cookie = $(this).data('cookie');\r\n\r\n if( type == 'Y')\r\n {\r\n window.close();\r\n }\r\n else if( type == 'N' )\r\n {\r\n $(\"#popup-\" + idx ).remove();\r\n }\r\n\r\n if( cookie == 1 )\r\n {\r\n $.cookie('popup_'+idx, 1, {expires:1, path:'/'});\r\n }\r\n});\r\n\r\n/**\r\n * SNS 공유\r\n */\r\n$(\"a[data-toggle='sns-share']\").not('[data-service=\"link\"]').click(function(e){\r\n e.preventDefault();\r\n\r\n var _this = $(this);\r\n var sns_type = _this.data('service');\r\n var href = _this.data('url');\r\n var title = _this.data('title');\r\n var loc = \"\";\r\n var img = $(\"meta[name='og:image']\").attr('content');\r\n\r\n if( ! sns_type || !href || !title) return;\r\n\r\n if( sns_type == 'facebook' ) {\r\n loc = '//www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'twitter' ) {\r\n loc = '//twitter.com/home?status='+encodeURIComponent(title)+' '+href;\r\n }\r\n else if ( sns_type == 'google' ) {\r\n loc = '//plus.google.com/share?url='+href;\r\n }\r\n else if ( sns_type == 'pinterest' ) {\r\n\r\n loc = '//www.pinterest.com/pin/create/button/?url='+href+'&media='+img+'&description='+encodeURIComponent(title);\r\n }\r\n else if ( sns_type == 'kakaostory') {\r\n loc = 'https://story.kakao.com/share?url='+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'band' ) {\r\n loc = 'http://www.band.us/plugin/share?body='+encodeURIComponent(title)+'%0A'+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'naver' ) {\r\n loc = \"http://share.naver.com/web/shareView.nhn?url=\"+encodeURIComponent(href)+\"&title=\"+encodeURIComponent(title);\r\n }\r\n else if ( sns_type == 'line') {\r\n loc = \"http://line.me/R/msg/text/?\" + encodeURIComponent(title + \"\\n\" + href);\r\n }\r\n else {\r\n return false;\r\n }\r\n APP.POPUP({ url : loc});\r\n return false;\r\n});\r\n\r\n$(function(){\r\n var clipboard = new ClipboardJS('a[data-toggle=\"sns-share\"][data-service=\"link\"]', {\r\n text: function(trigger) {\r\n return trigger.getAttribute('data-url');\r\n }\r\n });\r\n clipboard.on('success', function(){\r\n alert('현재 URL이 복사되었습니다.');\r\n });\r\n});","/**********************************************************************************************************************\r\n * 회원정보 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_INFO_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 정보'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/info/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 비밀번호 변경 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_PASSWORD_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '비밀번호 변경'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/password/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 정보수정 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_MODIFY_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 정보 수정'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/modify/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 포인트 정보 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_POINT_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 포인트 관리'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/point/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 포인트 추가 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_POINT_FORM_ADMIN = function(mem_idx) {\r\n var mem_idx = typeof mem_idx != 'undefined' && mem_idx ? mem_idx : null;\r\n if(! mem_idx) {\r\n alert('잘못된 접근입니다.');\r\n return;\r\n }\r\n\r\n APP.MODAL2.callback = function(){\r\n location.reload();\r\n };\r\n APP.MODAL2.open({\r\n width: 410,\r\n height :200,\r\n header : {\r\n title : '회원 포인트 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/point_form/' + mem_idx\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 STATUS 변경\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.STATUS_CHANGE = function(mem_idx, current_status, change_status) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx || typeof current_status == 'undefined' || ! current_status || typeof change_status == 'undefined' || ! change_status ) {\r\n alert(LANG.common_msg_invalid_access);\r\n return false;\r\n }\r\n var change_status_msg = '';\r\n if( change_status == 'Y' ) change_status_msg = LANG.member_status_y;\r\n else if (change_status == 'N') change_status_msg = LANG.member_status_n;\r\n else if (change_status == 'D') change_status_msg = LANG.member_status_d;\r\n else if (change_status == 'H') change_status_msg = LANG.member_status_h;\r\n else {\r\n alert(LANG.common_msg_invalid_access);\r\n return false;\r\n }\r\n\r\n if( ! confirm('해당 회원의 상태를 [' + change_status_msg + '] 상태로 변경합니까?') ) return;\r\n $.ajax({\r\n url : '/ajax/members/status',\r\n type : 'POST',\r\n async : false,\r\n cache : false,\r\n data : {\r\n mem_idx : mem_idx,\r\n current_status : current_status,\r\n change_status : change_status\r\n },\r\n success:function(){\r\n alert('지정한 회원의 상태를 [' + change_status_msg + '] 상태로 변경하였습니다.');\r\n location.reload();\r\n }\r\n })\r\n};\r\n\r\n$(function(){\r\n\r\n});\r\n","APP.BOARD.keyCheck = function(value) {\r\n if (value == '') return \"게시판 고유키를 입력하세요\";\r\n if (!APP.REGEX.uniqueID.test(value)) return \"게시판 고유키는 영어 소문자로 시작하는 3~20 글자로 영어와 숫자만 사용가능합니다.\";\r\n if (APP.BOARD.existCheck(value)) return \"이미 존재하는 키 입니다.\";\r\n\r\n return true;\r\n};\r\n\r\nAPP.BOARD.existCheck = function(brd_key) {\r\n var info = null;\r\n $.ajax({\r\n url : base_url + '/ajax/board/info',\r\n type : 'get',\r\n async : false,\r\n cache : false,\r\n data : {\r\n brd_key : brd_key,\r\n is_raw : true\r\n },\r\n success:function(res){\r\n info = res;\r\n }\r\n });\r\n return info;\r\n};\r\n\r\nAPP.BOARD.CATEGORY.form = function(brd_key, bca_parent, bca_idx) {\r\n var brd_key = typeof brd_key != 'undefined' && brd_key ? brd_key : null;\r\n var bca_parent = typeof bca_parent != 'undefined' && bca_parent >= 0 ? bca_parent : null;\r\n var bca_idx = typeof bca_idx != 'undefined' && bca_idx ? bca_idx : null;\r\n\r\n if(! brd_key )\r\n {\r\n alert('게시판이 지정되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n if(parseInt(bca_parent) < 0)\r\n {\r\n alert('부모 카테고리가 선택되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 400,\r\n height :200,\r\n header : {\r\n title : bca_idx ? '카테고리 정보 수정' : '카테고리 추가'\r\n },\r\n callback : function(){\r\n parent.location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/board/category_form',\r\n param : {\r\n brd_key : brd_key,\r\n bca_parent : bca_parent,\r\n bca_idx : bca_idx\r\n }\r\n }\r\n });\r\n};\r\n\r\nAPP.BOARD.CATEGORY.remove = function(bca_idx) {\r\n \r\n if( APP.BOARD.CATEGORY.count(bca_idx) > 0 )\r\n {\r\n alert('해당 카테고리의 하위 카테고리가 존재합니다. 하위 카테고리를 먼저 삭제해주세요');\r\n return false;\r\n }\r\n\r\n var post_count = APP.BOARD.CATEGORY.postCount(bca_idx);\r\n if( post_count > 0 )\r\n {\r\n if(! confirm('해당 카테고리에 등록된 글이 '+post_count+'건이 있습니다. 삭제를 진행하시겠습니까?' )) {\r\n return false;\r\n }\r\n }\r\n\r\n if(! confirm('해당 카테고리를 삭제하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : base_url + \"/ajax/board/category\",\r\n type : 'DELETE',\r\n cache : false,\r\n async: false,\r\n data : {\r\n bca_idx : bca_idx\r\n },\r\n success:function(res){\r\n if( res.result )\r\n {\r\n alert('카테고리 삭제에 성공하였습니다.');\r\n location.reload();\r\n }\r\n else {\r\n alert('카테고리 삭제에 실패하였습니다.');\r\n location.reload();\r\n }\r\n }\r\n })\r\n};\r\n\r\nAPP.BOARD.EXTRA.form = function(brd_key, bmt_idx)\r\n{\r\n brd_key = typeof brd_key !='undefined' && brd_key ? brd_key : null;\r\n bmt_idx = typeof bmt_idx !='undefined' && bmt_idx ? bmt_idx : null;\r\n\r\n if(! brd_key )\r\n {\r\n alert('게시판이 지정되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 400,\r\n height :200,\r\n header : {\r\n title : bmt_idx ? '입력필드 수정' : '입력필드 추가'\r\n },\r\n callback : function(){\r\n parent.location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/board/extra_form',\r\n param : {\r\n brd_key : brd_key,\r\n bmt_idx : bmt_idx\r\n }\r\n }\r\n });\r\n};\r\n\r\nAPP.BOARD.EXTRA.remove = function(brd_key,bmt_idx)\r\n{\r\n brd_key = typeof brd_key !='undefined' && brd_key ? brd_key : null;\r\n bmt_idx = typeof bmt_idx !='undefined' && bmt_idx ? bmt_idx : null;\r\n\r\n if(! bmt_idx )\r\n {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n if(! confirm('해당 필드로 등록된 글이 있을경우, 해당 필드값도 같이 사라집니다. 계속 진행 하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : base_url + \"/ajax/board/extra\",\r\n type : 'DELETE',\r\n cache : false,\r\n async: false,\r\n data : {\r\n brd_key : brd_key,\r\n bmt_idx : bmt_idx\r\n },\r\n success:function(res){\r\n if( res.result )\r\n {\r\n alert('입력필드 삭제에 성공하였습니다.');\r\n location.reload();\r\n }\r\n else {\r\n alert('입력필드 삭제에 실패하였습니다.');\r\n location.reload();\r\n }\r\n }\r\n })\r\n};\r\n\r\n\r\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function () {\n 'use strict';\n\n // root of function\n\n var root = this,\n win = this,\n doc = win ? win.document : null,\n docElem = win ? win.document.documentElement : null,\n reIsJson = /^([\"'](\\\\.|[^\"\\\\\\n\\r])*?[\"']|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$/,\n reMs = /^-ms-/,\n reSnakeCase = /[\\-_]([\\da-z])/gi,\n reCamelCase = /([A-Z])/g,\n reDot = /\\./,\n reInt = /[-|+]?[\\D]/gi,\n reNotNum = /\\D/gi,\n reMoneySplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])'),\n reAmp = /&/g,\n reEq = /=/,\n reClassNameSplit = /[ ]+/g,\n\n\n /** @namespace {Object} ax5 */\n ax5 = {},\n info = void 0,\n U = void 0,\n dom = void 0;\n\n /**\n * guid\n * @member {Number} ax5.guid\n */\n ax5.guid = 1;\n /**\n * ax5.guid를 구하고 증가시킵니다.\n * @method ax5.getGuid\n * @returns {Number} guid\n */\n ax5.getGuid = function () {\n return ax5.guid++;\n };\n\n /**\n * 상수모음\n * @namespace ax5.info\n */\n ax5.info = info = function () {\n var _arguments = arguments;\n\n /**\n * ax5 version\n * @member {String} ax5.info.version\n */\n var version = \"1.4.126\";\n\n /**\n * ax5 library path\n * @member {String} ax5.info.baseUrl\n */\n var baseUrl = \"\";\n\n /**\n * ax5 에러 출력메세지 사용자 재 정의\n * @member {Object} ax5.info.onerror\n * @examples\n * ```\n * ax5.info.onerror = function(){\n * console.log(arguments);\n * }\n * ```\n */\n var onerror = function onerror() {\n console.error(U.toArray(_arguments).join(\":\"));\n };\n\n /**\n * event keyCodes\n * @member {Object} ax5.info.eventKeys\n * @example\n * ```\n * {\n * \tBACKSPACE: 8, TAB: 9,\n * \tRETURN: 13, ESC: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46,\n * \tHOME: 36, END: 35, PAGEUP: 33, PAGEDOWN: 34, INSERT: 45, SPACE: 32\n * }\n * ```\n */\n var eventKeys = {\n BACKSPACE: 8, TAB: 9,\n RETURN: 13, ESC: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46,\n HOME: 36, END: 35, PAGEUP: 33, PAGEDOWN: 34, INSERT: 45, SPACE: 32\n };\n\n /**\n * week names\n * @member {Object[]} weekNames\n * @member {string} weekNames[].label\n *\n * @example\n * ```\n * [\n * {label: \"SUN\"},{label: \"MON\"},{label: \"TUE\"},{label: \"WED\"},{label: \"THU\"},{label: \"FRI\"},{label: \"SAT\"}\n * ]\n * console.log( weekNames[0] );\n * console.log( ax5.info.weekNames[(new Date()).getDay()].label )\n * ```\n */\n var weekNames = [{ label: \"SUN\" }, { label: \"MON\" }, { label: \"TUE\" }, { label: \"WED\" }, { label: \"THU\" }, { label: \"FRI\" }, { label: \"SAT\" }];\n\n /**\n * 사용자 브라우저 식별용 오브젝트\n * @member {Object} ax5.info.browser\n * @example\n * ```\n * console.log( ax5.info.browser );\n * //Object {name: \"chrome\", version: \"39.0.2171.71\", mobile: false}\n * ```\n */\n var browser = function (ua, mobile, browserName, match, browser, browserVersion) {\n if (!win || !win.navigator) return {};\n\n ua = navigator.userAgent.toLowerCase(), mobile = ua.search(/mobile/g) != -1, browserName, match, browser, browserVersion;\n\n if (ua.search(/iphone/g) != -1) {\n return { name: \"iphone\", version: 0, mobile: true };\n } else if (ua.search(/ipad/g) != -1) {\n return { name: \"ipad\", version: 0, mobile: true };\n } else if (ua.search(/android/g) != -1) {\n match = /(android)[ \\/]([\\w.]+)/.exec(ua) || [];\n browserVersion = match[2] || \"0\";\n return { name: \"android\", version: browserVersion, mobile: mobile };\n } else {\n browserName = \"\";\n match = /(opr)[ \\/]([\\w.]+)/.exec(ua) || /(chrome)[ \\/]([\\w.]+)/.exec(ua) || /(webkit)[ \\/]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) || [];\n browser = match[1] || \"\";\n browserVersion = match[2] || \"0\";\n\n if (browser == \"msie\") browser = \"ie\";\n return {\n name: browser,\n version: browserVersion,\n mobile: mobile\n };\n }\n ua = null, mobile = null, browserName = null, match = null, browser = null, browserVersion = null;\n }();\n\n /**\n * 브라우저 여부\n * @member {Boolean} ax5.info.isBrowser\n */\n var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && win.document);\n\n /**\n * 브라우저에 따른 마우스 휠 이벤트이름\n * @member {Object} ax5.info.wheelEnm\n */\n var wheelEnm = win && /Firefox/i.test(navigator.userAgent) ? \"DOMMouseScroll\" : \"mousewheel\";\n\n /**\n * 첫번째 자리수 동사 - (필요한것이 없을때 : 4, 실행오류 : 5)\n * 두번째 자리수 목적어 - 문자열 0, 숫자 1, 배열 2, 오브젝트 3, 함수 4, DOM 5, 파일 6, 기타 7\n * 세번째 자리수 옵션\n * @member {Object} ax5.info.errorMsg\n */\n var errorMsg = {};\n\n /**\n * 현재 페이지의 Url 정보를 리턴합니다.\n * @method ax5.info.urlUtil\n * @returns {Object}\n * @example\n * ```\n * console.log( ax5.util.toJson( ax5.info.urlUtil() ) );\n * {\n *\t\"baseUrl\": \"http://ax5:2018\",\n *\t\"href\": \"http://ax5:2018/samples/index.html?a=1&b=1#abc\",\n *\t\"param\": \"a=1&b=1\",\n *\t\"referrer\": \"\",\n *\t\"pathname\": \"/samples/index.html\",\n *\t\"hostname\": \"ax5\",\n *\t\"port\": \"2018\",\n *\t\"url\": \"http://ax5:2018/samples/index.html\",\n *\t\"hashdata\": \"abc\"\n * }\n * ```\n */\n function urlUtil(url, urls) {\n url = {\n href: win.location.href,\n param: win.location.search,\n referrer: doc.referrer,\n pathname: win.location.pathname,\n hostname: win.location.hostname,\n port: win.location.port\n }, urls = url.href.split(/[\\?#]/);\n url.param = url.param.replace(\"?\", \"\");\n url.url = urls[0];\n if (url.href.search(\"#\") > -1) {\n url.hashdata = U.last(urls);\n }\n urls = null;\n url.baseUrl = U.left(url.href, \"?\").replace(url.pathname, \"\");\n return url;\n }\n\n /**\n * ax5-error-msg.js 에 정의된 ax5 error를 반환합니다.\n * @method ax5.info.getError\n * @returns {Object}\n * @example\n * ```\n * console.log( ax5.info.getError(\"single-uploader\", \"460\", \"upload\") );\n *\n * if(!this.selectedFile){\n * if (cfg.onEvent) {\n * \tvar that = {\n * \t\taction: \"error\",\n * \t\terror: ax5.info.getError(\"single-uploader\", \"460\", \"upload\")\n * \t};\n * \tcfg.onEvent.call(that, that);\n * }\n * return this;\n * }\n * ```\n */\n function getError(className, errorCode, methodName) {\n if (info.errorMsg && info.errorMsg[className]) {\n return {\n className: className,\n errorCode: errorCode,\n methodName: methodName,\n msg: info.errorMsg[className][errorCode]\n };\n } else {\n return { className: className, errorCode: errorCode, methodName: methodName };\n }\n }\n\n /**\n * 브라우져의 터치 기능 유무를 확인합니다.\n * @method ax5.info.supportTouch\n * @returns {boolean}\n * @example\n * ```\n * var chkFlag = ax5.info.supportTouch;\n */\n var supportTouch = win ? 'ontouchstart' in win || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 : false;\n\n var supportFileApi = win ? win.FileReader && win.File && win.FileList && win.Blob : false;\n\n return {\n errorMsg: errorMsg,\n version: version,\n baseUrl: baseUrl,\n onerror: onerror,\n eventKeys: eventKeys,\n weekNames: weekNames,\n browser: browser,\n isBrowser: isBrowser,\n supportTouch: supportTouch,\n supportFileApi: supportFileApi,\n wheelEnm: wheelEnm,\n urlUtil: urlUtil,\n getError: getError\n };\n }();\n\n /**\n * Refer to this by {@link ax5}.\n * @namespace ax5.util\n */\n ax5['util'] = U = function () {\n var _toString = Object.prototype.toString;\n\n /**\n * Object나 Array의 아이템으로 사용자 함수를 호출합니다.\n * @method ax5.util.each\n * @param {Object|Array} O\n * @param {Function} _fn\n * @example\n * ```js\n * var axf = ax5.util;\n * axf.each([0,1,2], function(){\n * \t// with this\n * });\n * axf.each({a:1, b:2}, function(){\n * \t// with this\n * });\n * ```\n */\n function each(O, _fn) {\n if (isNothing(O)) return [];\n var key = void 0,\n i = 0,\n l = O.length,\n isObj = l === undefined || typeof O === \"function\";\n if (isObj) {\n for (key in O) {\n if (typeof O[key] != \"undefined\") if (_fn.call(O[key], key, O[key]) === false) break;\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") if (_fn.call(O[i], i, O[i++]) === false) break;\n }\n }\n return O;\n }\n\n // In addition to using the http://underscorejs.org : map, reduce, reduceRight, find\n /**\n * 원본 아이템들을 이용하여 사용자 함수의 리턴값으로 이루어진 새로운 배열을 만듭니다.\n * @method ax5.util.map\n * @param {Object|Array} O\n * @param {Function} _fn\n * @returns {Array}\n * @example\n * ```js\n * var myArray = [0,1,2,3,4];\n * var myObject = {a:1, b:\"2\", c:{axj:\"what\", arrs:[0,2,\"3\"]},\n * fn: function(abcdd){\n * return abcdd;\n * }\n * };\n *\n * var _arr = ax5.util.map( myArray, function(index, I){\n * return index+1;\n * });\n * console.log(_arr);\n * // [1, 2, 3, 4, 5]\n *\n * var _arr = ax5.util.map( myObject, function(k, v){\n * return v * 2;\n * });\n * console.log(_arr);\n * // [2, 4, NaN, NaN]\n * ```\n */\n function map(O, _fn) {\n if (isNothing(O)) return [];\n var key = void 0,\n i = 0,\n l = O.length,\n results = [],\n fnResult = void 0;\n if (isObject(O)) {\n for (key in O) {\n if (typeof O[key] != \"undefined\") {\n fnResult = undefined;\n if ((fnResult = _fn.call(O[key], key, O[key])) === false) break;else results.push(fnResult);\n }\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") {\n fnResult = undefined;\n if ((fnResult = _fn.call(O[i], i, O[i++])) === false) break;else results.push(fnResult);\n }\n }\n }\n return results;\n }\n\n /**\n * 원본 아이템들을 이용하여 사용자 함수의 리턴값이 참인 아이템의 위치나 키값을 반환합니다.\n * @method ax5.util.search\n * @param {Object|Array} O\n * @param {Function|String|Number} _fn - 함수 또는 값\n * @returns {Number|String}\n * @example\n * ```js\n * var myArray = [0,1,2,3,4,5,6];\n * var myObject = {a:\"123\",\"b\":\"123\",c:123};\n *\n * ax5.util.search(myArray, function(){\n * return this > 3;\n * });\n * // 4\n * ax5.util.search(myObject, function(k, v){\n * return v === 123;\n * });\n * // \"c\"\n * ax5.util.search([1,2,3,4], 3);\n * // 2\n * ax5.util.search([1,2], 4);\n * // -1\n * ax5.util.search([\"name\",\"value\"], \"value\");\n * // 1\n * ax5.util.search([\"name\",\"value\"], \"values\");\n * // -1\n * ax5.util.search({k1:\"name\",k2:\"value\"}, \"value2\");\n * // -1\n * ax5.util.search({k1:\"name\",k2:\"value\"}, \"value\");\n * // \"k2\"\n * ```\n */\n function search(O, _fn) {\n if (isNothing(O)) return -1;\n if (isObject(O)) {\n for (var key in O) {\n if (typeof O[key] != \"undefined\" && isFunction(_fn) && _fn.call(O[key], key, O[key])) {\n return key;\n break;\n } else if (O[key] == _fn) {\n return key;\n break;\n }\n }\n } else {\n for (var i = 0, l = O.length; i < l; i++) {\n if (typeof O[i] != \"undefined\" && isFunction(_fn) && _fn.call(O[i], i, O[i])) {\n return i;\n break;\n } else if (O[i] == _fn) {\n return i;\n break;\n }\n }\n }\n return -1;\n }\n\n /**\n * @method ax5.util.sum\n * @param {Array|Object} O\n * @param {Number} [defaultValue]\n * @param {Function} _fn\n * @returns {Number}\n * @example\n * ```js\n * var arr = [\n * {name: \"122\", value: 9},\n * {name: \"122\", value: 10},\n * {name: \"123\", value: 11}\n * ];\n *\n * var rs = ax5.util.sum(arr, function () {\n * if(this.name == \"122\") {\n * return this.value;\n * }\n * });\n * console.log(rs); // 19\n *\n * console.log(ax5.util.sum(arr, 10, function () {\n * return this.value;\n * }));\n * // 40\n * ```\n */\n function sum(O, defaultValue, _fn) {\n var i = void 0,\n l = void 0,\n tokenValue = void 0;\n if (isFunction(defaultValue) && typeof _fn === \"undefined\") {\n _fn = defaultValue;\n defaultValue = 0;\n }\n if (typeof defaultValue === \"undefined\") defaultValue = 0;\n\n if (isArray(O)) {\n i = 0;\n l = O.length;\n for (; i < l; i++) {\n if (typeof O[i] !== \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue;\n } else if (isObject(O)) {\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue;\n } else {\n console.error(\"argument error : ax5.util.sum - use Array or Object\");\n return defaultValue;\n }\n }\n\n /**\n * @method ax5.util.avg\n * @param {Array|Object} O\n * @param {Number} [defaultValue]\n * @param {Function} _fn\n * @returns {Number}\n * @example\n * ```js\n * var arr = [\n * {name: \"122\", value: 9},\n * {name: \"122\", value: 10},\n * {name: \"123\", value: 11}\n * ];\n *\n * var rs = ax5.util.avg(arr, function () {\n * return this.value;\n * });\n *\n * console.log(rs); // 10\n * ```\n */\n function avg(O, defaultValue, _fn) {\n var i = void 0,\n l = void 0,\n tokenValue = void 0;\n if (isFunction(defaultValue) && typeof _fn === \"undefined\") {\n _fn = defaultValue;\n defaultValue = 0;\n }\n if (typeof defaultValue === \"undefined\") defaultValue = 0;\n\n if (isArray(O)) {\n i = 0;\n l = O.length;\n for (; i < l; i++) {\n if (typeof O[i] !== \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue / l;\n } else if (isObject(O)) {\n l = 0;\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;++l;\n }\n }\n return defaultValue / l;\n } else {\n console.error(\"argument error : ax5.util.sum - use Array or Object\");\n return defaultValue;\n }\n }\n\n /**\n * 배열의 왼쪽에서 오른쪽으로 연산을 진행하는데 수행한 결과가 왼쪽 값으로 반영되어 최종 왼쪽 값을 반환합니다.\n * @method ax5.util.reduce\n * @param {Array|Object} O\n * @param {Function} _fn\n * @returns {Alltypes}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.reduce( aarray, function(p, n){\n * return p * n;\n * });\n * console.log(result, aarray);\n * // 120 [5, 4, 3, 2, 1]\n *\n * ax5.util.reduce({a:1, b:2}, function(p, n){\n * return parseInt(p|0) + parseInt(n);\n * });\n * // 3\n * ```\n */\n function reduce(O, _fn) {\n var i, l, tokenItem;\n if (isArray(O)) {\n i = 0, l = O.length, tokenItem = O[i];\n for (; i < l - 1;) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[++i])) === false) break;\n }\n }\n return tokenItem;\n } else if (isObject(O)) {\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[i])) === false) break;\n }\n }\n return tokenItem;\n } else {\n console.error(\"argument error : ax5.util.reduce - use Array or Object\");\n return null;\n }\n }\n\n /**\n * 배열의 오른쪽에서 왼쪽으로 연산을 진행하는데 수행한 결과가 오른쪽 값으로 반영되어 최종 오른쪽 값을 반환합니다.\n * @method ax5.util.reduceRight\n * @param {Array} O\n * @param {Function} _fn\n * @returns {Alltypes}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.reduceRight( aarray, function(p, n){\n * console.log( n );\n * return p * n;\n * });\n * console.log(result, aarray);\n * 120 [5, 4, 3, 2, 1]\n * ```\n */\n function reduceRight(O, _fn) {\n var i = O.length - 1,\n tokenItem = O[i];\n for (; i > 0;) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[--i])) === false) break;\n }\n }\n return tokenItem;\n }\n\n /**\n * 배열또는 오브젝트의 각 아이템을 인자로 하는 사용자 함수의 결과가 참인 아이템들의 배열을 반환합니다.\n * @method ax5.util.filter\n * @param {Object|Array} O\n * @param {Function} _fn\n * @returns {Array}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.filter( aarray, function(){\n * return this % 2;\n * });\n * console.log(result);\n * // [5, 3, 1]\n *\n * var filObject = {a:1, s:\"string\", oa:{pickup:true, name:\"AXISJ\"}, os:{pickup:true, name:\"AX5\"}};\n * result = ax5.util.filter( filObject, function(){\n * \treturn this.pickup;\n * });\n * console.log( ax5.util.toJson(result) );\n * // [{\"pickup\": , \"name\": \"AXISJ\"}, {\"pickup\": , \"name\": \"AX5\"}]\n * ```\n */\n function filter(O, _fn) {\n if (isNothing(O)) return [];\n var k,\n i = 0,\n l = O.length,\n results = [],\n fnResult;\n if (isObject(O)) {\n for (k in O) {\n if (typeof O[k] != \"undefined\") {\n if (fnResult = _fn.call(O[k], k, O[k])) results.push(O[k]);\n }\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") {\n if (fnResult = _fn.call(O[i], i, O[i])) results.push(O[i]);\n i++;\n }\n }\n }\n return results;\n }\n\n /**\n * Object를 JSONString 으로 반환합니다.\n * @method ax5.util.toJson\n * @param {Object|Array} O\n * @returns {String} JSON\n * @example\n * ```js\n * var ax = ax5.util;\n * var myObject = {\n * a:1, b:\"2\", c:{axj:\"what\", arrs:[0,2,\"3\"]},\n * fn: function(abcdd){\n * return abcdd;\n * }\n * };\n * console.log( ax.toJson(myObject) );\n * ```\n */\n function toJson(O) {\n var jsonString = \"\";\n if (ax5.util.isArray(O)) {\n var i = 0,\n l = O.length;\n jsonString += \"[\";\n for (; i < l; i++) {\n if (i > 0) jsonString += \",\";\n jsonString += toJson(O[i]);\n }\n jsonString += \"]\";\n } else if (ax5.util.isObject(O)) {\n jsonString += \"{\";\n var jsonObjectBody = [];\n each(O, function (key, value) {\n jsonObjectBody.push('\"' + key + '\": ' + toJson(value));\n });\n jsonString += jsonObjectBody.join(\", \");\n jsonString += \"}\";\n } else if (ax5.util.isString(O)) {\n jsonString = '\"' + O + '\"';\n } else if (ax5.util.isNumber(O)) {\n jsonString = O;\n } else if (ax5.util.isUndefined(O)) {\n jsonString = \"undefined\";\n } else if (ax5.util.isFunction(O)) {\n jsonString = '\"{Function}\"';\n } else {\n jsonString = O;\n }\n return jsonString;\n }\n\n /**\n * 관용의 JSON Parser\n * @method ax5.util.parseJson\n * @param {String} JSONString\n * @param {Boolean} [force] - 강제 적용 여부 (json 문자열 검사를 무시하고 오브젝트 변환을 시도합니다.)\n * @returns {Object}\n * @example\n * ```\n * console.log(ax5.util.parseJson('{\"a\":1}'));\n * // Object {a: 1}\n * console.log(ax5.util.parseJson(\"{'a':1, 'b':'b'}\"));\n * // Object {a: 1, b: \"b\"}\n * console.log(ax5.util.parseJson(\"{'a':1, 'b':function(){return 1;}}\", true));\n * // Object {a: 1, b: function}\n * console.log(ax5.util.parseJson(\"{a:1}\"));\n * // Object {a: 1}\n * console.log(ax5.util.parseJson(\"[1,2,3]\"));\n * // [1, 2, 3]\n * console.log(ax5.util.parseJson(\"['1','2','3']\"));\n * // [\"1\", \"2\", \"3\"]\n * console.log(ax5.util.parseJson(\"[{'a':'99'},'2','3']\"));\n * // [Object, \"2\", \"3\"]\n * ```\n */\n function parseJson(str, force) {\n if (force || reIsJson.test(str)) {\n try {\n return new Function('', 'return ' + str)();\n } catch (e) {\n return { error: 500, msg: 'syntax error' };\n }\n } else {\n return { error: 500, msg: 'syntax error' };\n }\n }\n\n /**\n * 인자의 타입을 반환합니다.\n * @method ax5.util.getType\n * @param {Object|Array|String|Number|Element|Etc} O\n * @returns {String} window|element|object|array|function|string|number|undefined|nodelist\n * @example\n * ```js\n * var axf = ax5.util;\n * var a = 11;\n * var b = \"11\";\n * console.log( axf.getType(a) );\n * console.log( axf.getType(b) );\n * ```\n */\n function getType(O) {\n var typeName;\n if (O != null && O == O.window) {\n typeName = \"window\";\n } else if (!!(O && O.nodeType == 1)) {\n typeName = \"element\";\n } else if (!!(O && O.nodeType == 11)) {\n typeName = \"fragment\";\n } else if (O === null) {\n typeName = \"null\";\n } else if (typeof O === \"undefined\") {\n typeName = \"undefined\";\n } else if (_toString.call(O) == \"[object Object]\") {\n typeName = \"object\";\n } else if (_toString.call(O) == \"[object Array]\") {\n typeName = \"array\";\n } else if (_toString.call(O) == \"[object String]\") {\n typeName = \"string\";\n } else if (_toString.call(O) == \"[object Number]\") {\n typeName = \"number\";\n } else if (_toString.call(O) == \"[object NodeList]\") {\n typeName = \"nodelist\";\n } else if (typeof O === \"function\") {\n typeName = \"function\";\n }\n return typeName;\n }\n\n /**\n * 오브젝트가 window 인지 판단합니다.\n * @method ax5.util.isWindow\n * @param {Object} O\n * @returns {Boolean}\n */\n function isWindow(O) {\n return O != null && O == O.window;\n }\n\n /**\n * 오브젝트가 HTML 엘리먼트여부인지 판단합니다.\n * @method ax5.util.isElement\n * @param {Object} O\n * @returns {Boolean}\n */\n function isElement(O) {\n return !!(O && (O.nodeType == 1 || O.nodeType == 11));\n }\n\n /**\n * 오브젝트가 Object인지 판단합니다.\n * @method ax5.util.isObject\n * @param {Object} O\n * @returns {Boolean}\n */\n function isObject(O) {\n return _toString.call(O) == \"[object Object]\";\n }\n\n /**\n * 오브젝트가 Array인지 판단합니다.\n * @method ax5.util.isArray\n * @param {Object} O\n * @returns {Boolean}\n */\n function isArray(O) {\n return _toString.call(O) == \"[object Array]\";\n }\n\n /**\n * 오브젝트가 Function인지 판단합니다.\n * @method ax5.util.isFunction\n * @param {Object} O\n * @returns {Boolean}\n */\n function isFunction(O) {\n return typeof O === \"function\";\n }\n\n /**\n * 오브젝트가 String인지 판단합니다.\n * @method ax5.util.isString\n * @param {Object} O\n * @returns {Boolean}\n */\n function isString(O) {\n return _toString.call(O) == \"[object String]\";\n }\n\n /**\n * 오브젝트가 Number인지 판단합니다.\n * @method ax5.util.isNumber\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNumber(O) {\n return _toString.call(O) == \"[object Number]\";\n }\n\n /**\n * 오브젝트가 NodeList인지 판단합니다.\n * @method ax5.util.isNodelist\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNodelist(O) {\n return !!(_toString.call(O) == \"[object NodeList]\" || typeof O !== \"undefined\" && O && O[0] && O[0].nodeType == 1);\n }\n\n /**\n * 오브젝트가 undefined인지 판단합니다.\n * @method ax5.util.isUndefined\n * @param {Object} O\n * @returns {Boolean}\n */\n function isUndefined(O) {\n return typeof O === \"undefined\";\n }\n\n /**\n * 오브젝트가 undefined이거나 null이거나 빈값인지 판단합니다.\n * @method ax5.util.isNothing\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNothing(O) {\n return typeof O === \"undefined\" || O === null || O === \"\";\n }\n\n /**\n * 오브젝트가 날자값인지 판단합니다.\n * @method ax5.util.isDate\n * @param {Date} O\n * @returns {Boolean}\n * @example\n * ```js\n * ax5.util.isDate('2016-09-30');\n * // false\n * ax5.util.isDate( new Date('2016-09-30') );\n * // true\n * ```\n */\n function isDate(O) {\n return O instanceof Date && !isNaN(O.valueOf());\n }\n\n function isDateFormat(O) {\n var result = false;\n if (!O) {} else if (O instanceof Date && !isNaN(O.valueOf())) {\n result = true;\n } else {\n if (O.length > 7) {\n if (date(O) instanceof Date) {\n return true;\n }\n }\n O = O.replace(/\\D/g, '');\n if (O.length > 7) {\n var mm = O.substr(4, 2),\n dd = O.substr(6, 2);\n O = date(O);\n if (O.getMonth() == mm - 1 && O.getDate() == dd) {\n result = true;\n }\n }\n }\n return result;\n }\n\n /**\n * 오브젝트의 첫번째 아이템을 반환합니다.\n * @method ax5.util.first\n * @param {Object|Array} O\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.first({a:1, b:2});\n * // Object {a: 1}\n * ax5.util.first([1,2,3,4]);\n * // 1\n * ```\n */\n function first(O) {\n if (isObject(O)) {\n var keys = Object.keys(O);\n var item = {};\n item[keys[0]] = O[keys[0]];\n return item;\n } else if (isArray(O)) {\n return O[0];\n } else {\n console.error(\"ax5.util.object.first\", \"argument type error\");\n return undefined;\n }\n }\n\n /**\n * 오브젝트의 마지막 아이템을 반환합니다.\n * @method ax5.util.last\n * @param {Object|Array} O\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.last({a:1, b:2});\n * // Object {b: 2}\n * ax5.util.last([1,2,3,4]);\n * // 4\n * ```\n */\n function last(O) {\n if (isObject(O)) {\n var keys = Object.keys(O);\n var item = {};\n item[keys[keys.length - 1]] = O[keys[keys.length - 1]];\n return item;\n } else if (isArray(O)) {\n return O[O.length - 1];\n } else {\n console.error(\"ax5.util.object.last\", \"argument type error\");\n return undefined;\n }\n }\n\n /**\n * 쿠키를 설정합니다.\n * @method ax5.util.setCookie\n * @param {String} cname - 쿠키이름\n * @param {String} cvalue - 쿠키값\n * @param {Number} [exdays] - 쿠키 유지일수\n * @param {Object} [opts] - path, domain 설정 옵션\n * @example\n * ```js\n * ax5.util.setCookie(\"jslib\", \"AX5\");\n * ax5.util.setCookie(\"jslib\", \"AX5\", 3);\n * ax5.util.setCookie(\"jslib\", \"AX5\", 3, {path:\"/\", domain:\".axisj.com\"});\n * ```\n */\n function setCookie(cn, cv, exdays, opts) {\n var expire;\n if (typeof exdays === \"number\") {\n expire = new Date();\n expire.setDate(expire.getDate() + exdays);\n }\n opts = opts || {};\n return doc.cookie = [escape(cn), '=', escape(cv), expire ? \"; expires=\" + expire.toUTCString() : \"\", // use expires attribute, max-age is not supported by IE\n opts.path ? \"; path=\" + opts.path : \"\", opts.domain ? \"; domain=\" + opts.domain : \"\", opts.secure ? \"; secure\" : \"\"].join(\"\");\n }\n\n /**\n * 쿠키를 가져옵니다.\n * @method ax5.util.getCookie\n * @param {String} cname\n * @returns {String} cookie value\n * @example\n * ```js\n * ax5.util.getCookie(\"jslib\");\n * ```\n */\n function getCookie(cname) {\n var name = cname + \"=\";\n var ca = doc.cookie.split(';'),\n i = 0,\n l = ca.length;\n for (; i < l; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }if (c.indexOf(name) != -1) return unescape(c.substring(name.length, c.length));\n }\n return \"\";\n }\n\n /**\n * jsonString 으로 alert 합니다.\n * @method ax5.util.alert\n * @param {Object|Array|String|Number} O\n * @returns {Object|Array|String|Number} O\n * @example ```js\n * ax5.util.alert({a:1,b:2});\n * ax5.util.alert(\"정말?\");\n * ```\n */\n function alert(O) {\n win.alert(toJson(O));\n return O;\n }\n\n /**\n * 문자열의 특정 문자열까지 잘라주거나 원하는 포지션까지 잘라줍니다.\n * @method ax5.util.left\n * @param {String} str - 문자열\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {String}\n * @example\n * ```js\n * ax5.util.left(\"abcd.efd\", 3);\n * // abc\n * ax5.util.left(\"abcd.efd\", \".\");\n * // abcd\n * ```\n */\n function left(str, pos) {\n if (typeof str === \"undefined\" || typeof pos === \"undefined\") return \"\";\n if (isString(pos)) {\n return str.indexOf(pos) > -1 ? str.substr(0, str.indexOf(pos)) : \"\";\n } else if (isNumber(pos)) {\n return str.substr(0, pos);\n } else {\n return \"\";\n }\n }\n\n /**\n * 문자열의 특정 문자열까지 잘라주거나 원하는 포지션까지 잘라줍니다.\n * @method ax5.util.right\n * @param {String} str - 문자열\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {String}\n * @example\n * ```js\n * ax5.util.right(\"abcd.efd\", 3);\n * // efd\n * ax5.util.right(\"abcd.efd\", \".\");\n * // efd\n * ```\n */\n function right(str, pos) {\n if (typeof str === \"undefined\" || typeof pos === \"undefined\") return \"\";\n str = '' + str;\n if (isString(pos)) {\n return str.lastIndexOf(pos) > -1 ? str.substr(str.lastIndexOf(pos) + 1) : \"\";\n } else if (isNumber(pos)) {\n return str.substr(str.length - pos);\n } else {\n return \"\";\n }\n }\n\n /**\n * css형 문자열이나 특수문자가 포함된 문자열을 카멜케이스로 바꾸어 반환합니다.\n * @method ax5.util.camelCase\n * @param {String} str\n * @returns {String}\n * @example\n * ```js\n * ax5.util.camelCase(\"inner-width\");\n * ax5.util.camelCase(\"innerWidth\");\n * // innerWidth\n * ```\n */\n function camelCase(str) {\n return str.replace(reMs, \"ms-\").replace(reSnakeCase, function (all, letter) {\n return letter.toUpperCase();\n });\n }\n\n /**\n * css형 문자열이나 카멜케이스문자열을 스네이크 케이스 문자열로 바꾸어 반환합니다.\n * @method ax5.util.snakeCase\n * @param {String} str\n * @returns {String}\n * @example\n * ```js\n * ax5.util.snakeCase(\"innerWidth\");\n * ax5.util.snakeCase(\"inner-Width\");\n * ax5.util.snakeCase(\"innerWidth\");\n * // inner-width\n * ```\n */\n function snakeCase(str) {\n return camelCase(str).replace(reCamelCase, function (all, letter) {\n return \"-\" + letter.toLowerCase();\n });\n }\n\n /**\n * 문자열에서 -. 을 제외한 모든 문자열을 제거하고 숫자로 반환합니다. 옵션에 따라 원하는 형식의 숫자로 변환 할 수 도 있습니다.\n * @method ax5.util.number\n * @param {String|Number} str\n * @param {Object} cond - 옵션\n * @returns {String|Number}\n * @example\n * ```js\n * var cond = {\n * \tround: {Number|Boolean} - 반올림할 자릿수,\n * \tmoney: {Boolean} - 통화,\n * \tabs: {Boolean} - 절대값,\n * \tbyte: {Boolean} - 바이트\n * }\n *\n * console.log(ax5.util.number(123456789.678, {round:1}));\n * console.log(ax5.util.number(123456789.678, {round:1, money:true}));\n * console.log(ax5.util.number(123456789.678, {round:2, byte:true}));\n * console.log(ax5.util.number(-123456789.8888, {abs:true, round:2, money:true}));\n * console.log(ax5.util.number(\"A-1234~~56789.8~888PX\", {abs:true, round:2, money:true}));\n *\n * //123456789.7\n * //123,456,789.7\n * //117.7MB\n * //123,456,789.89\n * //123,456,789.89\n * ```\n */\n function number(str, cond) {\n var result,\n pair = ('' + str).split(reDot),\n isMinus,\n returnValue;\n\n isMinus = Number(pair[0].replace(/,/g, \"\")) < 0 || pair[0] == \"-0\";\n returnValue = 0.0;\n pair[0] = pair[0].replace(reInt, \"\");\n\n if (pair[1]) {\n pair[1] = pair[1].replace(reNotNum, \"\");\n returnValue = Number(pair[0] + \".\" + pair[1]) || 0;\n } else {\n returnValue = Number(pair[0]) || 0;\n }\n result = isMinus ? -returnValue : returnValue;\n\n each(cond, function (k, c) {\n if (k == \"round\") {\n if (isNumber(c)) {\n if (c < 0) {\n result = +(Math.round(result + \"e-\" + Math.abs(c)) + \"e+\" + Math.abs(c));\n } else {\n result = +(Math.round(result + \"e+\" + c) + \"e-\" + c);\n }\n } else {\n result = Math.round(result);\n }\n }\n if (k == \"floor\") {\n result = Math.floor(result);\n }\n if (k == \"ceil\") {\n result = Math.ceil(result);\n } else if (k == \"money\") {\n result = function (val) {\n var txtNumber = '' + val;\n if (isNaN(txtNumber) || txtNumber == \"\") {\n return \"\";\n } else {\n var arrNumber = txtNumber.split('.');\n arrNumber[0] += '.';\n do {\n arrNumber[0] = arrNumber[0].replace(reMoneySplit, '$1,$2');\n } while (reMoneySplit.test(arrNumber[0]));\n if (arrNumber.length > 1) {\n return arrNumber.join('');\n } else {\n return arrNumber[0].split('.')[0];\n }\n }\n }(result);\n } else if (k == \"abs\") {\n result = Math.abs(Number(result));\n } else if (k == \"byte\") {\n result = function (val) {\n val = Number(result);\n var nUnit = \"KB\";\n var myByte = val / 1024;\n if (myByte / 1024 > 1) {\n nUnit = \"MB\";\n myByte = myByte / 1024;\n }\n if (myByte / 1024 > 1) {\n nUnit = \"GB\";\n myByte = myByte / 1024;\n }\n return number(myByte, { round: 1 }) + nUnit;\n }(result);\n }\n });\n\n return result;\n }\n\n /**\n * 배열 비슷한 오브젝트를 배열로 변환해줍니다.\n * @method ax5.util.toArray\n * @param {Object|Elements|Arguments} O\n * @returns {Array}\n * @example\n * ```js\n * ax5.util.toArray(arguments);\n * //\n * ```\n */\n function toArray(O) {\n if (typeof O.length != \"undefined\") return Array.prototype.slice.call(O);\n return [];\n }\n\n /**\n * 첫번째 인자에 두번째 인자 아이템을 합쳐줍니다. concat과 같은 역할을 하지만. 인자가 Array타입이 아니어도 됩니다.\n * @method ax5.util.merge\n * @param {Array|ArrayLike} first\n * @param {Array|ArrayLike} second\n * @returns {Array} first\n * @example\n * ```\n *\n * ```\n */\n function merge(first, second) {\n var l = second.length,\n i = first.length,\n j = 0;\n\n if (typeof l === \"number\") {\n for (; j < l; j++) {\n first[i++] = second[j];\n }\n } else {\n while (second[j] !== undefined) {\n first[i++] = second[j++];\n }\n }\n\n first.length = i;\n\n return first;\n }\n\n /**\n * 오브젝트를 파라미터형식으로 또는 파라미터를 오브젝트 형식으로 변환합니다.\n * @method ax5.util.param\n * @param {Object|Array|String} O\n * @param {String} [cond] - param|object\n * @returns {Object|String}\n * @example\n * ```\n * ax5.util.param({a:1,b:'1232'}, \"param\");\n * ax5.util.param(\"a=1&b=1232\", \"param\");\n * // \"a=1&b=1232\"\n * ax5.util.param(\"a=1&b=1232\");\n * // {a: \"1\", b: \"1232\"}\n * ```\n */\n function param(O, cond) {\n var p;\n if (isString(O) && typeof cond !== \"undefined\" && cond == \"param\") {\n return O;\n } else if (isString(O) && typeof cond !== \"undefined\" && cond == \"object\" || isString(O) && typeof cond === \"undefined\") {\n p = {};\n each(O.split(reAmp), function () {\n var item = this.split(reEq);\n if (!p[item[0]]) p[item[0]] = item[1];else {\n if (isString(p[item[0]])) p[item[0]] = [p[item[0]]];\n p[item[0]].push(item[1]);\n }\n });\n return p;\n } else {\n p = [];\n each(O, function (k, v) {\n p.push(k + \"=\" + escape(v));\n });\n return p.join('&');\n }\n }\n\n function encode(s) {\n return encodeURIComponent(s);\n }\n\n function decode(s) {\n return decodeURIComponent(s);\n }\n\n function error() {\n ax5.info.onerror.apply(this, arguments);\n }\n\n function localDate(yy, mm, dd, hh, mi, ss) {\n var utcD, localD;\n localD = new Date();\n if (mm < 0) mm = 0;\n if (typeof hh === \"undefined\") hh = 12;\n if (typeof mi === \"undefined\") mi = 0;\n utcD = new Date(Date.UTC(yy, mm, dd || 1, hh, mi, ss || 0));\n\n if (mm == 0 && dd == 1 && utcD.getUTCHours() + utcD.getTimezoneOffset() / 60 < 0) {\n utcD.setUTCHours(0);\n } else {\n utcD.setUTCHours(utcD.getUTCHours() + utcD.getTimezoneOffset() / 60);\n }\n return utcD;\n }\n\n /**\n * 날짜 형식의 문자열이나 Date객체를 조건에 맞게 처리 한 후 원하는 return 값으로 반환합니다.\n * @method ax5.util.date\n * @param {String|Date} d\n * @param {Object} cond\n * @returns {Date|String}\n * @example\n * ```js\n * ax5.util.date('2013-01-01'); // Tue Jan 01 2013 23:59:00 GMT+0900 (KST)\n * ax5.util.date((new Date()), {add:{d:10}, return:'yyyy/MM/dd'}); // \"2015/07/01\"\n * ax5.util.date('1919-03-01', {add:{d:10}, return:'yyyy/MM/dd hh:mm:ss'}); // \"1919/03/11 23:59:00\"\n * ```\n */\n function date(d, cond) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n hh = void 0,\n mi = void 0,\n aDateTime = void 0,\n aTimes = void 0,\n aTime = void 0,\n aDate = void 0,\n va = void 0,\n ISO_8601 = /^\\d{4}(-\\d\\d(-\\d\\d(T\\d\\d:\\d\\d(:\\d\\d)?(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?)?)?)?$/i,\n ISO_8601_FULL = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n\n if (isString(d)) {\n if (d.length == 0) {\n d = new Date();\n } else if (d.length > 15) {\n if (ISO_8601_FULL.test(d) || ISO_8601.test(d)) {\n d = new Date(d);\n } else {\n aDateTime = d.split(/ /g), aTimes, aTime, aDate = aDateTime[0].split(/\\D/g), yy = aDate[0];\n mm = parseFloat(aDate[1]);\n dd = parseFloat(aDate[2]);\n aTime = aDateTime[1] || \"09:00\";\n aTimes = aTime.substring(0, 5).split(\":\");\n hh = parseFloat(aTimes[0]);\n mi = parseFloat(aTimes[1]);\n if (right(aTime, 2) === \"AM\" || right(aTime, 2) === \"PM\") hh += 12;\n d = localDate(yy, mm - 1, dd, hh, mi);\n }\n } else if (d.length == 14) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, number(va.substr(6, 2)), number(va.substr(8, 2)), number(va.substr(10, 2)), number(va.substr(12, 2)));\n } else if (d.length > 7) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, number(va.substr(6, 2)));\n } else if (d.length > 4) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, 1);\n } else if (d.length > 2) {\n va = d.replace(/\\D/g, \"\");\n return localDate(va.substr(0, 4), va.substr(4, 2) - 1, 1);\n } else {\n d = new Date();\n }\n }\n if (typeof cond === \"undefined\" || typeof d === \"undefined\") {\n return d;\n } else {\n if (\"add\" in cond) {\n d = function (_d, opts) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n mxdd = void 0,\n DyMilli = 1000 * 60 * 60 * 24;\n\n if (typeof opts[\"d\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"d\"] * DyMilli);\n } else if (typeof opts[\"m\"] !== \"undefined\") {\n yy = _d.getFullYear();\n mm = _d.getMonth();\n dd = _d.getDate();\n yy = yy + parseInt(opts[\"m\"] / 12);\n mm += opts[\"m\"] % 12;\n mxdd = daysOfMonth(yy, mm);\n if (mxdd < dd) dd = mxdd;\n _d = new Date(yy, mm, dd, 12);\n } else if (typeof opts[\"y\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"y\"] * 365 * DyMilli);\n } else if (typeof opts[\"h\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"h\"] * 1000 * 60 * 60);\n }\n\n return _d;\n }(new Date(d), cond[\"add\"]);\n }\n if (\"set\" in cond) {\n d = function (_d, opts) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n processor = {\n \"firstDayOfMonth\": function firstDayOfMonth(date) {\n yy = date.getFullYear();\n mm = date.getMonth();\n dd = 1;\n return new Date(yy, mm, dd, 12);\n },\n \"lastDayOfMonth\": function lastDayOfMonth(date) {\n yy = date.getFullYear();\n mm = date.getMonth();\n dd = daysOfMonth(yy, mm);\n return new Date(yy, mm, dd, 12);\n }\n };\n if (opts in processor) {\n return processor[opts](_d);\n } else {\n return _d;\n }\n }(new Date(d), cond[\"set\"]);\n }\n if (\"return\" in cond) {\n return function () {\n\n var fStr = cond[\"return\"],\n nY = void 0,\n nM = void 0,\n nD = void 0,\n nH = void 0,\n nMM = void 0,\n nS = void 0,\n nDW = void 0,\n yre = void 0,\n regY = void 0,\n mre = void 0,\n regM = void 0,\n dre = void 0,\n regD = void 0,\n hre = void 0,\n regH = void 0,\n mire = void 0,\n regMI = void 0,\n sre = void 0,\n regS = void 0,\n dwre = void 0,\n regDW = void 0;\n\n nY = d.getUTCFullYear();\n nM = setDigit(d.getMonth() + 1, 2);\n nD = setDigit(d.getDate(), 2);\n nH = setDigit(d.getHours(), 2);\n nMM = setDigit(d.getMinutes(), 2);\n nS = setDigit(d.getSeconds(), 2);\n nDW = d.getDay();\n\n yre = /[^y]*(yyyy)[^y]*/gi;\n yre.exec(fStr);\n regY = RegExp.$1;\n mre = /[^m]*(MM)[^m]*/g;\n mre.exec(fStr);\n regM = RegExp.$1;\n dre = /[^d]*(dd)[^d]*/gi;\n dre.exec(fStr);\n regD = RegExp.$1;\n hre = /[^h]*(hh)[^h]*/gi;\n hre.exec(fStr);\n regH = RegExp.$1;\n mire = /[^m]*(mm)[^i]*/g;\n mire.exec(fStr);\n regMI = RegExp.$1;\n sre = /[^s]*(ss)[^s]*/gi;\n sre.exec(fStr);\n regS = RegExp.$1;\n dwre = /[^d]*(dw)[^w]*/gi;\n dwre.exec(fStr);\n regDW = RegExp.$1;\n\n if (regY === \"yyyy\") {\n fStr = fStr.replace(regY, right(nY, regY.length));\n }\n if (regM === \"MM\") {\n if (regM.length == 1) nM = d.getMonth() + 1;\n fStr = fStr.replace(regM, nM);\n }\n if (regD === \"dd\") {\n if (regD.length == 1) nD = d.getDate();\n fStr = fStr.replace(regD, nD);\n }\n if (regH === \"hh\") {\n fStr = fStr.replace(regH, nH);\n }\n if (regMI === \"mm\") {\n fStr = fStr.replace(regMI, nMM);\n }\n if (regS === \"ss\") {\n fStr = fStr.replace(regS, nS);\n }\n if (regDW == \"dw\") {\n fStr = fStr.replace(regDW, info.weekNames[nDW].label);\n }\n return fStr;\n }();\n } else {\n return d;\n }\n }\n }\n\n /**\n * 인자인 날짜가 오늘부터 몇일전인지 반환합니다. 또는 인자인 날짜가 가까운 미래에 몇일 후인지 반환합니다.\n * @method ax5.util.dday\n * @param {String|Data} d\n * @param {Object} cond\n * @returns {Number}\n * @example\n * ```js\n * ax5.util.dday('2016-01-29');\n * // 1\n * ax5.util.dday('2016-01-29', {today:'2016-01-28'});\n * // 1\n * ax5.util.dday('1977-03-29', {today:'2016-01-28', age:true});\n * // 39\n * ```\n */\n function dday(d, cond) {\n var memoryDay = date(d),\n DyMilli = 1000 * 60 * 60 * 24,\n today = new Date(),\n diffnum,\n thisYearMemoryDay;\n\n function getDayTime(_d) {\n return Math.floor(_d.getTime() / DyMilli) * DyMilli;\n }\n\n if (typeof cond === \"undefined\") {\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n return diffnum;\n } else {\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n if (cond[\"today\"]) {\n today = date(cond.today);\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n }\n if (cond[\"thisYear\"]) {\n thisYearMemoryDay = new Date(today.getFullYear(), memoryDay.getMonth(), memoryDay.getDate());\n diffnum = number((getDayTime(thisYearMemoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n if (diffnum < 0) {\n thisYearMemoryDay = new Date(today.getFullYear() + 1, memoryDay.getMonth(), memoryDay.getDate());\n diffnum = number((getDayTime(thisYearMemoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n }\n }\n if (cond[\"age\"]) {\n thisYearMemoryDay = new Date(today.getFullYear(), memoryDay.getMonth(), memoryDay.getDate());\n diffnum = thisYearMemoryDay.getFullYear() - memoryDay.getFullYear();\n }\n\n return diffnum;\n }\n }\n\n /**\n * 인자인 날짜가 몇년 몇월의 몇번째 주차인지 반환합니다.\n * @method ax5.util.weeksOfMonth\n * @param {String|Data} d\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.weeksOfMonth(\"2015-10-01\"); // {year: 2015, month: 10, count: 1}\n * ax5.util.weeksOfMonth(\"2015-09-19\"); // {year: 2015, month: 9, count: 3}\n * ```\n */\n function weeksOfMonth(d) {\n var myDate = date(d);\n return {\n year: myDate.getFullYear(),\n month: myDate.getMonth() + 1,\n count: parseInt(myDate.getDate() / 7 + 1)\n };\n }\n\n /**\n * 년월에 맞는 날자수를 반환합니다.\n * (new Date()).getMonth() 기준으로 월값을 보냅니다. \"2월\" 인경우 \"1\" 을 넘기게 됩니다.\n * @method ax5.util.daysOfMonth\n * @param {Number} y\n * @param {Number} m\n * @returns {Number}\n * @examples\n * ```js\n * ax5.util.daysOfMonth(2015, 11); // 31\n * ax5.util.daysOfMonth(2015, 1); // 28\n * ```\n */\n function daysOfMonth(y, m) {\n if (m == 3 || m == 5 || m == 8 || m == 10) {\n return 30;\n } else if (m == 1) {\n return y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? 29 : 28;\n } else {\n return 31;\n }\n }\n\n /**\n * 원하는 횟수 만큼 자릿수 맞춤 문자열을 포함한 문자열을 반환합니다.\n * 문자열 길이보다 작은값을 보내면 무시됩니다.\n * @method ax5.util.setDigit\n * @param {String|Number} num\n * @param {Number} length\n * @param {String} [padder=0]\n * @param {Number} [radix]\n * @returns {String}\n * @example\n * ```\n * ax5.util.setDigit(2016, 6)\n * // \"002016\"\n * ax5.util.setDigit(2016, 2)\n * // \"2016\"\n * ```\n */\n function setDigit(num, length, padder, radix) {\n var s = num.toString(radix || 10);\n return times(padder || '0', length - s.length) + s;\n }\n\n /**\n * 문자열을 지정된 수만큼 반복 합니다.\n * @param {String} s\n * @param {Number} count\n * @returns {string}\n * @example\n * ```\n * ax5.util.times(2016, 2)\n * //\"20162016\"\n * ```\n */\n function times(s, count) {\n return count < 1 ? '' : new Array(count + 1).join(s);\n }\n\n /**\n * 타겟엘리먼트의 부모 엘리멘트 트리에서 원하는 조건의 엘리먼트를 얻습니다.\n * @method ax5.util.findParentNode\n * @param {Element} _target - target element\n * @param {Object|Function} cond - 원하는 element를 찾을 조건\n * @returns {Element}\n * @example\n * ```\n * // cond 속성정의\n * var cond = {\n * \ttagname: {String} - 태그명 (ex. a, div, span..),\n * \tclazz: {String} - 클래스명\n * \t[, 그 외 찾고 싶은 attribute명들]\n * };\n * console.log(\n * console.log(\n * ax5.util.findParentNode(e.target, {tagname:\"a\", clazz:\"ax-menu-handel\", \"data-custom-attr\":\"attr_value\"})\n * );\n * // cond 함수로 처리하기\n * jQuery('#id').bind(\"click.app_expand\", function(e){\n * \tvar target = ax5.util.findParentNode(e.target, function(target){\n * \t\tif($(target).hasClass(\"aside\")){\n * \t\t\treturn true;\n * \t\t}\n * \t\telse{\n * \t\t\treturn true;\n * \t\t}\n * \t});\n * \t//client-aside\n * \tif(target.id !== \"client-aside\"){\n * \t\t// some action\n * \t}\n * });\n * ```\n */\n\n function findParentNode(_target, cond) {\n if (_target) {\n while (function () {\n var result = true;\n if (typeof cond === \"undefined\") {\n _target = _target.parentNode ? _target.parentNode : false;\n } else if (isFunction(cond)) {\n result = cond(_target);\n } else if (isObject(cond)) {\n for (var k in cond) {\n if (k === \"tagname\") {\n if (_target.tagName.toLocaleLowerCase() != cond[k]) {\n result = false;\n break;\n }\n } else if (k === \"clazz\" || k === \"class_name\") {\n if (\"className\" in _target) {\n var klasss = _target.className.split(reClassNameSplit);\n var hasClass = false;\n for (var a = 0; a < klasss.length; a++) {\n if (klasss[a] == cond[k]) {\n hasClass = true;\n break;\n }\n }\n result = hasClass;\n } else {\n result = false;\n break;\n }\n } else {\n // 그외 속성값들.\n if (_target.getAttribute) {\n if (_target.getAttribute(k) != cond[k]) {\n result = false;\n break;\n }\n } else {\n result = false;\n break;\n }\n }\n }\n }\n return !result;\n }()) {\n if (_target.parentNode && _target.parentNode.parentNode) {\n _target = _target.parentNode;\n } else {\n _target = false;\n break;\n }\n }\n }\n return _target;\n }\n\n /**\n * @method ax5.util.cssNumber\n * @param {String|Number} val\n * @returns {String}\n * @example\n * ```\n * console.log(ax5.util.cssNumber(\"100px\"))\n * console.log(ax5.util.cssNumber(\"100%\"))\n * console.log(ax5.util.cssNumber(\"100\"))\n * console.log(ax5.util.cssNumber(100))\n * console.log(ax5.util.cssNumber(\"!!100@#\"))\n * ```\n */\n function cssNumber(val) {\n var re = /\\D?(\\d+)([a-zA-Z%]*)/i,\n found = ('' + val).match(re),\n unit = found[2] || \"px\";\n\n return found[1] + unit;\n }\n\n /**\n * css string 및 object 를 넘기면 object 및 string 으로 변환되어 리턴됩니다.\n * @method ax5.util.css\n * @param {Object|String} val - CSS String or CSS Object\n * @returns {String|Object}\n * @example\n * ```\n * console.log(ax5.util.css({background: \"#ccc\", padding: \"50px\", width: \"100px\"}));\n * //\"background:#ccc;padding:50px;width:100px;\"\n * console.log(ax5.util.css('width:100px;padding: 50px; background: #ccc'));\n * // object {width: \"100px\", padding: \"50px\", background: \"#ccc\"}\n * ```\n */\n function css(val) {\n var returns;\n if (isObject(val)) {\n returns = '';\n for (var k in val) {\n returns += k + ':' + val[k] + ';';\n }\n return returns;\n } else if (isString(val)) {\n returns = {};\n var valSplited = val.split(/[ ]*;[ ]*/g);\n valSplited.forEach(function (v) {\n if ((v = v.trim()) !== \"\") {\n var vSplited = v.split(/[ ]*:[ ]*/g);\n returns[vSplited[0]] = vSplited[1];\n }\n });\n return returns;\n }\n }\n\n /**\n * @method ax5.util.stopEvent\n * @param {Event} e\n * @example\n * ```\n * ax5.util.stopEvent(e);\n * ```\n */\n function stopEvent(e) {\n // 이벤트 중지 구문\n if (!e) var e = window.event;\n\n //e.cancelBubble is supported by IE -\n // this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) e.stopPropagation();\n if (e.preventDefault) e.preventDefault();\n\n return false;\n // 이벤트 중지 구문 끝\n }\n\n /**\n * @method ax5.util.selectRange\n * @param {Element} el\n * @param {Element} offset\n * @example\n * ```\n * ax5.util.selectRange($(\"#select-test-0\")); // selectAll\n * ax5.util.selectRange($(\"#select-test-0\"), \"selectAll\"); //selectAll\n * ax5.util.selectRange($(\"#select-test-0\"), \"start\"); // focus on start\n * ax5.util.selectRange($(\"#select-test-0\"), \"end\"); // focus on end\n * ax5.util.selectRange($(\"#select-test-0\"), [1, 5]); // select 1~5\n * ```\n */\n var selectRange = function () {\n var processor = {\n 'textRange': {\n 'selectAll': function selectAll(el, range, offset) {},\n 'arr': function arr(el, range, offset) {\n range.moveStart(\"character\", offset[0]); // todo ie node select 체크필요\n range.collapse();\n range.moveEnd(\"character\", offset[1]);\n },\n 'start': function start(el, range, offset) {\n range.moveStart(\"character\", 0);\n range.collapse();\n },\n 'end': function end(el, range, offset) {\n range.moveStart(\"character\", range.text.length);\n range.collapse();\n }\n },\n 'range': {\n 'selectAll': function selectAll(el, range, offset) {\n range.selectNodeContents(el);\n },\n 'arr': function arr(el, range, offset) {\n if (isObject(offset[0])) {\n range.setStart(offset[0].node, offset[0].offset);\n range.setEnd(offset[1].node, offset[1].offset);\n } else {\n range.setStart(el.firstChild, offset[0]);\n range.setEnd(el.firstChild, offset[1]);\n }\n },\n 'start': function start(el, range, offset) {\n range.selectNodeContents(el);\n range.collapse(true);\n },\n 'end': function end(el, range, offset) {\n range.selectNodeContents(el);\n range.collapse(false);\n }\n }\n };\n return function (el, offset) {\n var range, rangeType, selection;\n\n if (el instanceof jQuery) {\n el = el.get(0);\n }\n if (!el) return;\n\n // 레인지 타입 선택\n if (doc.body.createTextRange) {\n range = document.body.createTextRange();\n range.moveToElementText(el);\n rangeType = \"textRange\";\n } else if (window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n rangeType = \"range\";\n }\n\n // range 적용\n if (typeof offset == \"undefined\") {\n processor[rangeType].selectAll.call(this, el, range, offset);\n } else if (isArray(offset)) {\n processor[rangeType].arr.call(this, el, range, offset);\n } else {\n for (var key in processor[rangeType]) {\n if (offset == key) {\n processor[rangeType][key].call(this, el, range, offset);\n break;\n }\n }\n }\n\n // 포커스 및 셀렉트\n if (doc.body.createTextRange) {\n range.select();\n el.focus();\n } else if (window.getSelection) {\n el.focus();\n selection.removeAllRanges();\n selection.addRange(range);\n }\n };\n }();\n\n /**\n * 지정한 시간을 지연시켜 함수를 실행합니다.\n * @method ax5.util.debounce\n * @param {Function} func\n * @param {Number} wait\n * @param {Object} options\n * @returns {debounced}\n * @example\n * ```js\n * var debounceFn = ax5.util.debounce(function( val ) { console.log(val); }, 300);\n * $(document.body).click(function(){\n * debounceFn(new Date());\n * });\n * ```\n */\n // https://github.com/lodash/lodash/blob/master/debounce.js\n function debounce(func, wait, options) {\n var lastArgs = void 0,\n lastThis = void 0,\n maxWait = void 0,\n result = void 0,\n timerId = void 0,\n lastCallTime = void 0;\n\n var lastInvokeTime = 0;\n var leading = false;\n var maxing = false;\n var trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs;\n var thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n var result = wait - timeSinceLastCall;\n\n return maxing ? Math.min(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Date.now());\n }\n\n function debounced() {\n var time = Date.now();\n var isInvoking = shouldInvoke(time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * @method ax5.util.throttle\n * @param func\n * @param wait\n * @param options\n * @return {debounced}\n */\n //https://github.com/lodash/lodash/blob/master/throttle.js\n function throttle(func, wait, options) {\n var leading = true;\n var trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError('Expected a function');\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * @method ax5.util.deepCopy\n * @param {Object} obj\n * @returns {Object}\n * @example\n * ```js\n * var obj = [\n * {name:\"A\", child:[{name:\"a-1\"}]},\n * {name:\"B\", child:[{name:\"b-1\"}], callBack: function(){ console.log('callBack'); }}\n * ];\n * var copiedObj = ax5.util.deepCopy(obj)\n * ```\n */\n function deepCopy(obj) {\n var r, l;\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) == 'object') {\n if (U.isArray(obj)) {\n l = obj.length;\n r = new Array(l);\n for (var i = 0; i < l; i++) {\n r[i] = deepCopy(obj[i]);\n }\n return r;\n } else {\n return jQuery.extend({}, obj);\n }\n }\n return obj;\n }\n\n /**\n * HTML 문자열을 escape 처리합니다.\n * \"<\" represents the < sign.\n * \">\" represents the > sign.\n * \"&\" represents the & sign.\n * \"" represents the \" mark.\n * [Character entity references](https://www.w3.org/TR/html401/charset.html#h-5.3)\n * @method ax5.util.escapeHtml\n * @param {String} s\n * @returns {string}\n * @example\n * ```\n * ax5.util.escapeHtml('HTML string & \"escape\"')\n * //\"HTML <span>string</span> & "escape"\"\n * ```\n */\n function escapeHtml(s) {\n if (_toString.call(s) != \"[object String]\") return s;\n if (!s) return \"\";\n return s.replace(/[\\<\\>\\&\\\"]/gm, function (match) {\n switch (match) {\n case \"<\":\n return \"<\";\n case \">\":\n return \">\";\n case \"&\":\n return \"&\";\n case \"\\\"\":\n return \""\";\n default:\n return match;\n }\n });\n }\n\n /**\n * HTML 문자열을 unescape 처리합니다.\n * escapeHtml를 참고하세요.\n * @method ax5.util.unescapeHtml\n * @param {String} s\n * @returns {string}\n * @example\n * ```\n * ax5.util.unescapeHtml('HTML <span>string</span> & "escape"')\n * //\"HTML string & \"escape\"\"\n * ```\n */\n function unescapeHtml(s) {\n if (_toString.call(s) != \"[object String]\") return s;\n if (!s) return \"\";\n return s.replace(/(<)|(>)|(&)|(")/gm, function (match) {\n switch (match) {\n case \"<\":\n return \"<\";\n case \">\":\n return \">\";\n case \"&\":\n return \"&\";\n case \""\":\n return \"\\\"\";\n default:\n return match;\n }\n });\n }\n\n /**\n * @method ax5.util.string\n * @param {String} tmpl\n * @param {*} args\n * @return {ax5string}\n * @example\n * ```js\n * ax5.util.string(\"{0} is dead, but {1} is alive! {0} {2}\").format(\"ASP\", \"ASP.NET\");\n * ax5.util.string(\"{0} is dead, but {1} is alive! {0} {2}\").format([\"ASP\", \"ASP.NET\"]);\n * ax5.util.stinrg(\"{0} counts\").format(100);\n * ```\n */\n function string(_string) {\n return new function (_string) {\n this.value = _string;\n this.toString = function () {\n return this.value;\n };\n /**\n * @method ax5.util.string.format\n * @returns {*}\n */\n this.format = function () {\n var args = [];\n for (var i = 0, l = arguments.length; i < l; i++) {\n args = args.concat(arguments[i]);\n }\n return this.value.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != 'undefined' ? args[number] : match;\n });\n };\n /**\n * @method ax5.util.string.escape\n * @returns {*}\n */\n this.escape = function () {\n return escapeHtml(this.value);\n };\n /**\n * @method ax5.util.string.unescape\n * @returns {*}\n */\n this.unescape = function () {\n return unescapeHtml(this.value);\n };\n /**\n * @method ax5.util.string.encode\n * @returns {*}\n */\n this.encode = function () {\n return encode(this.value);\n };\n /**\n * @method ax5.util.string.decode\n * @returns {*}\n */\n this.decode = function () {\n return decode(this.value);\n };\n /**\n * @method ax5.util.string.left\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {*}\n */\n this.left = function (_pos) {\n return left(this.value, _pos);\n };\n /**\n * @method ax5.util.string.right\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {*}\n */\n this.right = function (_pos) {\n return right(this.value, _pos);\n };\n /**\n * @method ax5.util.string.camelCase\n * @returns {*}\n */\n this.camelCase = function () {\n return camelCase(this.value);\n };\n /**\n * @method ax5.util.string.snakeCase\n * @returns {*}\n */\n this.snakeCase = function () {\n return snakeCase(this.value);\n };\n }(_string);\n }\n\n /**\n * @method ax5.util.color\n * @param _hexColor\n * @return {ax5color}\n * @example\n * ```js\n * ax5.util.color(\"#ff3300\").lighten(10).getHexValue()\n * console.log(ax5.util.color(\"#ff3300\").darken(10).getHexValue());\n * ```\n */\n function color(_hexColor) {\n\n var matchers = function () {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n }();\n\n var convertObject = function convertObject(_color) {\n var match = void 0;\n if (match = matchers.rgb.exec(_color)) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if (match = matchers.rgba.exec(_color)) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if (match = matchers.hsl.exec(_color)) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if (match = matchers.hsla.exec(_color)) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if (match = matchers.hsv.exec(_color)) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if (match = matchers.hsva.exec(_color)) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if (match = matchers.hex8.exec(_color)) {\n return {\n r: parseInt(match[1], 16),\n g: parseInt(match[2], 16),\n b: parseInt(match[3], 16),\n a: parseInt(match[4] / 255, 16),\n format: \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(_color)) {\n return {\n r: parseInt(match[1], 16),\n g: parseInt(match[2], 16),\n b: parseInt(match[3], 16),\n format: \"hex\"\n };\n }\n if (match = matchers.hex4.exec(_color)) {\n return {\n r: parseInt(match[1] + '' + match[1], 16),\n g: parseInt(match[2] + '' + match[2], 16),\n b: parseInt(match[3] + '' + match[3], 16),\n a: parseInt(match[4] + '' + match[4], 16),\n format: \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(_color)) {\n return {\n r: parseInt(match[1] + '' + match[1], 16),\n g: parseInt(match[2] + '' + match[2], 16),\n b: parseInt(match[3] + '' + match[3], 16),\n format: \"hex\"\n };\n }\n\n return false;\n };\n\n function isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n }\n\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n }\n\n function convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n\n return n;\n }\n\n function convertTo255(n) {\n return ax5.util.number(Math.min(255, Math.max(n, 0)), { 'round': 2 });\n }\n\n function convertToHex(n) {\n return setDigit(Math.round(n).toString(16), 2);\n }\n\n function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = \"100%\";\n }\n\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n }\n\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n }\n\n function hslToRgb(h, s, l) {\n var r = void 0,\n g = void 0,\n b = void 0;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n }\n\n return new function (_color) {\n this._originalValue = _color;\n _color = convertObject(_color);\n this.r = _color.r;\n this.g = _color.g;\n this.b = _color.b;\n this.a = _color.a || 1;\n this._format = _color.format;\n this._hex = convertToHex(this.r) + convertToHex(this.g) + convertToHex(this.b);\n\n this.getHexValue = function () {\n return this._hex;\n };\n\n this.lighten = function (amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = rgbToHsl(this.r, this.g, this.b),\n rgb = {};\n\n hsl.l += amount / 100;\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n\n rgb = hslToRgb(hsl.h, convertToPercentage(hsl.s), convertToPercentage(hsl.l));\n\n return color('rgba(' + convertTo255(rgb.r) + ', ' + convertTo255(rgb.g) + ', ' + convertTo255(rgb.b) + ', ' + this.a + ')');\n };\n\n this.darken = function (amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = rgbToHsl(this.r, this.g, this.b),\n rgb = {};\n\n hsl.l -= amount / 100;\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n\n rgb = hslToRgb(hsl.h, convertToPercentage(hsl.s), convertToPercentage(hsl.l));\n\n return color('rgba(' + convertTo255(rgb.r) + ', ' + convertTo255(rgb.g) + ', ' + convertTo255(rgb.b) + ', ' + this.a + ')');\n };\n\n this.getBrightness = function () {\n return (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n };\n\n this.isDark = function () {\n return this.getBrightness() < 128;\n };\n\n this.isLight = function () {\n return !this.isDark();\n };\n\n this.getHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l\n };\n };\n }(_hexColor);\n }\n\n return {\n alert: alert,\n each: each,\n map: map,\n search: search,\n reduce: reduce,\n reduceRight: reduceRight,\n filter: filter,\n sum: sum,\n avg: avg,\n toJson: toJson,\n parseJson: parseJson,\n first: first,\n last: last,\n deepCopy: deepCopy,\n\n left: left,\n right: right,\n getType: getType,\n isWindow: isWindow,\n isElement: isElement,\n isObject: isObject,\n isArray: isArray,\n isFunction: isFunction,\n isString: isString,\n isNumber: isNumber,\n isNodelist: isNodelist,\n isUndefined: isUndefined,\n isNothing: isNothing,\n setCookie: setCookie,\n getCookie: getCookie,\n camelCase: camelCase,\n snakeCase: snakeCase,\n number: number,\n toArray: toArray,\n merge: merge,\n param: param,\n error: error,\n date: date,\n dday: dday,\n daysOfMonth: daysOfMonth,\n weeksOfMonth: weeksOfMonth,\n setDigit: setDigit,\n times: times,\n findParentNode: findParentNode,\n cssNumber: cssNumber,\n css: css,\n isDate: isDate,\n isDateFormat: isDateFormat,\n stopEvent: stopEvent,\n selectRange: selectRange,\n debounce: debounce,\n throttle: throttle,\n escapeHtml: escapeHtml,\n unescapeHtml: unescapeHtml,\n\n string: string,\n color: color\n };\n }();\n\n if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === \"object\" && _typeof(module.exports) === \"object\") {\n module.exports = ax5;\n } else {\n root.ax5 = function () {\n return ax5;\n }(); // ax5.ui에 연결\n }\n}).call(typeof window !== \"undefined\" ? window : undefined);\n\nax5.def = {};\nax5.info.errorMsg[\"ax5dialog\"] = {\n \"501\": \"Duplicate call error\"\n};\n\nax5.info.errorMsg[\"ax5picker\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find content key\"\n};\n\nax5.info.errorMsg[\"single-uploader\"] = {\n \"460\": \"There are no files to be uploaded.\",\n \"461\": \"There is no uploaded files.\"\n};\n\nax5.info.errorMsg[\"ax5calendar\"] = {\n \"401\": \"Can not find target element\"\n};\n\nax5.info.errorMsg[\"ax5formatter\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find pattern\"\n};\n\nax5.info.errorMsg[\"ax5menu\"] = {\n \"501\": \"Can not find menu item\"\n};\n\nax5.info.errorMsg[\"ax5select\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find option\"\n};\n\nax5.info.errorMsg[\"ax5combobox\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find option\"\n};\n// 필수 Ployfill 확장 구문\n(function () {\n 'use strict';\n\n var root = this,\n re_trim = /^\\s*|\\s*$/g;\n\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys\n if (!Object.keys) {\n Object.keys = function () {\n var hwp = Object.prototype.hasOwnProperty,\n hdeb = !{ toString: null }.propertyIsEnumerable('toString'),\n de = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'],\n del = de.length;\n\n return function (obj) {\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' && (typeof obj !== 'function' || obj === null)) throw new TypeError('type err');\n var r = [],\n prop,\n i;\n for (prop in obj) {\n if (hwp.call(obj, prop)) r.push(prop);\n }if (hdeb) {\n for (i = 0; i < del; i++) {\n if (hwp.call(obj, de[i])) r.push(de[i]);\n }\n }\n return r;\n };\n }();\n }\n\n // ES5 15.4.4.18 Array.prototype.forEach ( callbackfn [ , thisArg ] )\n // From https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach\n if (!Array.prototype.forEach) {\n Array.prototype.forEach = function (fun /*, thisp */) {\n if (this === void 0 || this === null) {\n throw TypeError();\n }\n var t = Object(this);\n var len = t.length >>> 0;\n if (typeof fun !== \"function\") {\n throw TypeError();\n }\n var thisp = arguments[1],\n i;\n for (i = 0; i < len; i++) {\n if (i in t) {\n fun.call(thisp, t[i], i, t);\n }\n }\n };\n }\n\n // ES5 15.3.4.5 Function.prototype.bind ( thisArg [, arg1 [, arg2, ... ]] )\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\n if (!Function.prototype.bind) {\n Function.prototype.bind = function (o) {\n if (typeof this !== 'function') {\n throw TypeError(\"function\");\n }\n var slice = [].slice,\n args = slice.call(arguments, 1),\n self = this,\n bound = function bound() {\n return self.apply(this instanceof nop ? this : o, args.concat(slice.call(arguments)));\n };\n\n function nop() {}\n\n nop.prototype = self.prototype;\n bound.prototype = new nop();\n return bound;\n };\n }\n\n /*global document */\n /**\n * define document.querySelector & document.querySelectorAll for IE7\n *\n * A not very fast but small hack. The approach is taken from\n * http://weblogs.asp.net/bleroy/archive/2009/08/31/queryselectorall-on-old-ie-versions-something-that-doesn-t-work.aspx\n *\n */\n (function () {\n if (document.querySelectorAll || document.querySelector) {\n return;\n }\n if (!document.createStyleSheet) return;\n var style = document.createStyleSheet(),\n select = function select(selector, maxCount) {\n var all = document.all,\n l = all.length,\n i,\n resultSet = [];\n\n style.addRule(selector, \"foo:bar\");\n for (i = 0; i < l; i += 1) {\n if (all[i].currentStyle.foo === \"bar\") {\n resultSet.push(all[i]);\n if (resultSet.length > maxCount) {\n break;\n }\n }\n }\n style.removeRule(0);\n return resultSet;\n };\n\n document.querySelectorAll = function (selector) {\n return select(selector, Infinity);\n };\n document.querySelector = function (selector) {\n return select(selector, 1)[0] || null;\n };\n })();\n\n if (!String.prototype.trim) {\n (function () {\n String.prototype.trim = function () {\n return this.replace(re_trim, '');\n };\n })();\n }\n\n if (!window.JSON) {\n window.JSON = {\n parse: function parse(sJSON) {\n return new Function('', 'return ' + sJSON)();\n },\n stringify: function () {\n var r = /[\"]/g,\n _f;\n return _f = function f(vContent) {\n var result, i, j;\n switch (result = typeof vContent === 'undefined' ? 'undefined' : _typeof(vContent)) {\n case 'string':\n return '\"' + vContent.replace(r, '\\\\\"') + '\"';\n case 'number':\n case 'boolean':\n return vContent.toString();\n case 'undefined':\n return 'undefined';\n case 'function':\n return '\"\"';\n case 'object':\n if (!vContent) return 'null';\n result = '';\n if (vContent.splice) {\n for (i = 0, j = vContent.length; i < j; i++) {\n result += ',' + _f(vContent[i]);\n }return '[' + result.substr(1) + ']';\n } else {\n for (i in vContent) {\n if (vContent.hasOwnProperty(i) && vContent[i] !== undefined && typeof vContent[i] != 'function') result += ',\"' + i + '\":' + _f(vContent[i]);\n }return '{' + result.substr(1) + '}';\n }\n }\n };\n }()\n };\n }\n\n // splice ie8 <= polyfill\n (function () {\n if (!document.documentMode || document.documentMode >= 9) return false;\n var _splice = Array.prototype.splice;\n Array.prototype.splice = function () {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[1] === \"undefined\") args[1] = this.length - args[0];\n return _splice.apply(this, args);\n };\n })();\n\n /**\n * Shim for \"fixing\" IE's lack of support (IE < 9) for applying slice\n * on host objects like NamedNodeMap, NodeList, and HTMLCollection\n * (technically, since host objects have been implementation-dependent,\n * at least before ES6, IE hasn't needed to work this way).\n * Also works on strings, fixes IE < 9 to allow an explicit undefined\n * for the 2nd argument (as in Firefox), and prevents errors when\n * called on other DOM objects.\n */\n (function () {\n 'use strict';\n\n var _slice = Array.prototype.slice;\n\n try {\n // Can't be used with DOM elements in IE < 9\n _slice.call(document.documentElement);\n } catch (e) {\n // Fails in IE < 9\n // This will work for genuine arrays, array-like objects,\n // NamedNodeMap (attributes, entities, notations),\n // NodeList (e.g., getElementsByTagName), HTMLCollection (e.g., childNodes),\n // and will not fail on other DOM objects (as do DOM elements in IE < 9)\n Array.prototype.slice = function (begin, end) {\n // IE < 9 gets unhappy with an undefined end argument\n end = typeof end !== 'undefined' ? end : this.length;\n\n // For native Array objects, we use the native slice function\n if (Object.prototype.toString.call(this) === '[object Array]') {\n return _slice.call(this, begin, end);\n }\n\n // For array like object we handle it ourselves.\n var i,\n cloned = [],\n size,\n len = this.length;\n\n // Handle negative value for \"begin\"\n var start = begin || 0;\n start = start >= 0 ? start : Math.max(0, len + start);\n\n // Handle negative value for \"end\"\n var upTo = typeof end == 'number' ? Math.min(end, len) : len;\n if (end < 0) {\n upTo = len + end;\n }\n\n // Actual expected size of the slice\n size = upTo - start;\n\n if (size > 0) {\n cloned = new Array(size);\n if (this.charAt) {\n for (i = 0; i < size; i++) {\n cloned[i] = this.charAt(start + i);\n }\n } else {\n for (i = 0; i < size; i++) {\n cloned[i] = this[start + i];\n }\n }\n }\n\n return cloned;\n };\n }\n })();\n\n // Console-polyfill. MIT license. https://github.com/paulmillr/console-polyfill\n // Make it safe to do console.log() always.\n (function (con) {\n var prop, method;\n var empty = {};\n var dummy = function dummy() {};\n var properties = 'memory'.split(',');\n var methods = ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',');\n while (prop = properties.pop()) {\n con[prop] = con[prop] || empty;\n }while (method = methods.pop()) {\n con[method] = con[method] || dummy;\n }\n })(window.console || {}); // Using `this` for web workers.\n\n\n // Modernizr style test\n if (!(window.webkitMatchMedia || window.mozMatchMedia || window.oMatchMedia || window.msMatchMedia || window.matchMedia)) {\n var root = document.getElementsByTagName('html')[0];\n root.className += ' no-matchmedia';\n }\n\n /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */\n window.matchMedia || (window.matchMedia = function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n\n var styleMedia = window.styleMedia || window.media;\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n script.parentNode.insertBefore(style, script);\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n }());\n\n /*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */\n (function () {\n // Bail out for browsers that have addListener support\n if (window.matchMedia && window.matchMedia('all').addListener) {\n return false;\n }\n\n var localMatchMedia = window.matchMedia,\n hasMediaQueries = localMatchMedia('only all').matches,\n isListening = false,\n timeoutID = 0,\n // setTimeout for debouncing 'handleChange'\n queries = [],\n // Contains each 'mql' and associated 'listeners' if 'addListener' is used\n handleChange = function handleChange(evt) {\n // Debounce\n clearTimeout(timeoutID);\n\n timeoutID = setTimeout(function () {\n for (var i = 0, il = queries.length; i < il; i++) {\n var mql = queries[i].mql,\n listeners = queries[i].listeners || [],\n matches = localMatchMedia(mql.media).matches;\n\n // Update mql.matches value and call listeners\n // Fire listeners only if transitioning to or from matched state\n if (matches !== mql.matches) {\n mql.matches = matches;\n\n for (var j = 0, jl = listeners.length; j < jl; j++) {\n listeners[j].call(window, mql);\n }\n }\n }\n }, 30);\n };\n\n window.matchMedia = function (media) {\n var mql = localMatchMedia(media),\n listeners = [],\n index = 0;\n\n mql.addListener = function (listener) {\n // Changes would not occur to css media type so return now (Affects IE <= 8)\n if (!hasMediaQueries) {\n return;\n }\n\n // Set up 'resize' listener for browsers that support CSS3 media queries (Not for IE <= 8)\n // There should only ever be 1 resize listener running for performance\n if (!isListening) {\n isListening = true;\n window.addEventListener('resize', handleChange, true);\n }\n\n // Push object only if it has not been pushed already\n if (index === 0) {\n index = queries.push({\n mql: mql,\n listeners: listeners\n });\n }\n\n listeners.push(listener);\n };\n\n mql.removeListener = function (listener) {\n for (var i = 0, il = listeners.length; i < il; i++) {\n if (listeners[i] === listener) {\n listeners.splice(i, 1);\n }\n }\n };\n\n return mql;\n };\n })();\n\n // extend innerWidth ..\n var html = document.getElementsByTagName('html')[0];\n var body = document.getElementsByTagName('body')[0];\n\n /*\n if (!window.innerWidth) window.innerWidth = html.clientWidth;\n if (!window.innerHeight) window.innerHeight = html.clientHeight;\n if (!window.scrollX) window.scrollX = window.pageXOffset || html.scrollLeft;\n if (!window.scrollY) window.scrollY = window.pageYOffset || html.scrollTop;\n */\n}).call(window);\n/**\n * Refer to this by {@link ax5}.\n * @namespace ax5.ui\n */\n\n/**\n * @class ax5.ui.root\n * @classdesc ax5 ui class\n * @author tom@axisj.com\n * @example\n * ```\n * var myui = new ax5.ui.root();\n * ```\n */\nax5.ui = function () {\n\n function axUi() {\n this.config = {};\n this.name = \"root\";\n\n /**\n * 클래스의 속성 정의 메소드 속성 확장후에 내부에 init 함수를 호출합니다.\n * @method ax5.ui.root.setConfig\n * @param {Object} config - 클래스 속성값\n * @param {Boolean} [callInit=true] - init 함수 호출 여부\n * @returns {ax5.ui.axUi}\n * @example\n * ```\n * var myui = new ax5.ui.root();\n * myui.setConfig({\n * \tid:\"abcd\"\n * });\n * ```\n */\n this.setConfig = function (cfg, callInit) {\n jQuery.extend(true, this.config, cfg);\n if (typeof callInit == \"undefined\" || callInit === true) {\n this.init();\n }\n return this;\n };\n this.init = function () {\n console.log(this.config);\n };\n\n this.bindWindowResize = function (callBack) {\n setTimeout(function () {\n jQuery(window).resize(function () {\n if (this.bindWindowResize__) clearTimeout(this.bindWindowResize__);\n this.bindWindowResize__ = setTimeout(function () {\n callBack.call(this);\n }.bind(this), 10);\n }.bind(this));\n }.bind(this), 100);\n };\n\n this.stopEvent = function (e) {\n if (e.preventDefault) e.preventDefault();\n if (e.stopPropagation) e.stopPropagation();\n e.cancelBubble = true;\n return false;\n };\n\n this.toString = function () {\n return this.name + '@' + this.version;\n };\n\n // instance init\n this.main = function () {}.apply(this, arguments);\n }\n\n /**\n * @method ax5.ui.addClass\n * @param {Object} config\n * @param {String} config.className - name of Class\n * @param {Object} [config.classStore=ax5.ui] - 클래스가 저장될 경로\n * @param {Function} [config.superClass=ax5.ui.root]\n * @param {Function} cls - Class Function\n */\n function addClass(config, cls) {\n if (!config || !config.className) throw 'invalid call';\n var classStore = config.classStore ? config.classStore : ax5.ui;\n if (!classStore) throw 'invalid classStore';\n\n // make ui definition variable\n ax5.def[config.className] = {\n version: ax5.info.version\n };\n\n var factory = function factory(cls, arg) {\n switch (arg.length) {\n case 0:\n return new cls();\n break;\n case 1:\n return new cls(arg[0]);\n break;\n case 2:\n return new cls(arg[0], arg[1]);\n break;\n case 3:\n return new cls(arg[0], arg[1], arg[2]);\n break;\n }\n };\n var initInstance = function initInstance(name, version, instance) {\n instance.name = name;\n instance.version = version;\n instance.instanceId = ax5.getGuid();\n return instance;\n };\n var initPrototype = function initPrototype(cls) {\n var superClass = config.superClass ? config.superClass : ax5.ui.root;\n if (!ax5.util.isFunction(superClass)) throw 'invalid superClass';\n superClass.call(this); // 부모호출\n cls.prototype = new superClass(); // 상속\n };\n var wrapper = function wrapper() {\n if (!this || !(this instanceof wrapper)) throw 'invalid call';\n var instance = factory(cls, arguments);\n return initInstance(config.className, config.version || \"\", instance);\n };\n initPrototype.call(this, cls);\n classStore[config.className] = wrapper;\n }\n\n return {\n root: axUi,\n addClass: addClass\n };\n}();\n\n/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n * https://github.com/thomasJang/mustache.js -- imporove some variables\n */\n\n(function defineMustache(global, factory) {\n\n factory(global.mustache = {});\n})(window.ax5, function mustacheFactory(mustache) {\n\n var objectToString = Object.prototype.toString;\n var isArray = Array.isArray || function isArrayPolyfill(object) {\n return objectToString.call(object) === '[object Array]';\n };\n\n function isFunction(object) {\n return typeof object === 'function';\n }\n\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n function typeStr(obj) {\n return isArray(obj) ? 'array' : typeof obj === 'undefined' ? 'undefined' : _typeof(obj);\n }\n\n function escapeRegExp(string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n function hasProperty(obj, propName) {\n return obj != null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && propName in obj;\n }\n\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n var regExpTest = RegExp.prototype.test;\n\n function testRegExp(re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n\n function isWhitespace(string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''', '/': '/'\n };\n\n function escapeHtml(string) {\n return String(string).replace(/[&<>\"'\\/]/g, function fromEntityMap(s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n */\n function parseTemplate(template, tags) {\n if (!template) return [];\n\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace() {\n if (hasTag && !nonSpace) {\n while (spaces.length) {\n delete tokens[spaces.pop()];\n }\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n\n function compileTags(tagsToCompile) {\n if (typeof tagsToCompile === 'string') tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2) throw new Error('Invalid tags: ' + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n } else {\n nonSpace = true;\n }\n\n tokens.push(['text', chr, start, start + 1]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === '\\n') stripSpace();\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe)) break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe)) throw new Error('Unclosed tag at ' + scanner.pos);\n\n token = [type, value, start, scanner.pos];\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection) throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n return nestTokens(squashTokens(tokens));\n }\n\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n function squashTokens(tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n function nestTokens(tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n function Scanner(string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n Scanner.prototype.eos = function eos() {\n return this.tail === '';\n };\n\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n Scanner.prototype.scan = function scan(re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0) return '';\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n };\n\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n Scanner.prototype.scanUntil = function scanUntil(re) {\n var index = this.tail.search(re),\n match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n case 0:\n match = '';\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n };\n\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n function Context(view, parentContext) {\n this.view = view;\n this.cache = {\n '.': this.view,\n '@each': function each() {\n var returns = [];\n for (var k in this) {\n returns.push({ '@key': k, '@value': this[k] });\n }\n return returns;\n }\n };\n this.parent = parentContext;\n }\n\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n Context.prototype.push = function push(view) {\n return new Context(view, this);\n };\n\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n Context.prototype.lookup = function lookup(name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this,\n names,\n index,\n lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n value = context.view;\n names = name.split('.');\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n **/\n while (value != null && index < names.length) {\n if (index === names.length - 1) lookupHit = hasProperty(value, names[index]);\n\n value = value[names[index++]];\n }\n } else {\n value = context.view[name];\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit) break;\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value)) value = value.call(this.view);\n\n return value;\n };\n\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n function Writer() {\n this.cache = {};\n }\n\n /**\n * Clears all cached templates in this writer.\n */\n Writer.prototype.clearCache = function clearCache() {\n this.cache = {};\n };\n\n /**\n * Parses and caches the given `template` and returns the array of tokens\n * that is generated from the parse.\n */\n Writer.prototype.parse = function parse(template, tags) {\n var cache = this.cache;\n var tokens = cache[template];\n\n if (tokens == null) tokens = cache[template] = parseTemplate(template, tags);\n\n return tokens;\n };\n\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n */\n Writer.prototype.render = function render(template, view, partials) {\n var tokens = this.parse(template);\n var context = view instanceof Context ? view : new Context(view);\n return this.renderTokens(tokens, context, partials, template);\n };\n\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate) {\n var buffer = '';\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);else if (symbol === '&') value = this.unescapedValue(token, context);else if (symbol === 'name') value = this.escapedValue(token, context);else if (symbol === 'text') value = this.rawValue(token);\n\n if (value !== undefined) buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate) {\n var self = this;\n var buffer = '';\n\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender(template) {\n return self.render(template, context, partials);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n if (value[j]) {\n if (_typeof(value[j]) === 'object') {\n value[j]['@i'] = j;\n value[j]['@first'] = j === 0;\n }\n\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\n }\n }\n } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string') throw new Error('Cannot use higher-order sections without the original template');\n\n // Extract the portion of the original template that the section contains.\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n if (value != null) buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate);\n }\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || isArray(value) && value.length === 0) return this.renderTokens(token[4], context, partials, originalTemplate);\n };\n\n Writer.prototype.renderPartial = function renderPartial(token, context, partials) {\n if (!partials) return;\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null) return this.renderTokens(this.parse(value), context, partials, value);\n };\n\n Writer.prototype.unescapedValue = function unescapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return mustache.escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue(token) {\n return token[1];\n };\n\n mustache.name = 'mustache.js';\n mustache.version = '2.1.3';\n mustache.tags = ['{{', '}}'];\n\n // All high-level mustache.* functions use this writer.\n var defaultWriter = new Writer();\n\n /**\n * Clears all cached templates in the default writer.\n */\n mustache.clearCache = function clearCache() {\n return defaultWriter.clearCache();\n };\n\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n mustache.parse = function parse(template, tags) {\n return defaultWriter.parse(template, tags);\n };\n\n /**\n * Renders the `template` with the given `view` and `partials` using the\n * default writer.\n */\n mustache.render = function render(template, view, partials) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' + 'but \"' + typeStr(template) + '\" was given as the first ' + 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials);\n };\n\n // This is here for backwards compatibility with 0.4.x.,\n /*eslint-disable */ // eslint wants camel cased function name\n mustache.to_html = function to_html(template, view, partials, send) {\n /*eslint-enable*/\n\n var result = mustache.render(template, view, partials);\n\n if (isFunction(send)) {\n send(result);\n } else {\n return result;\n }\n };\n\n // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n mustache.escape = escapeHtml;\n\n // Export these mainly for testing, but also for advanced usage.\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n});","'use strict';\n\n// ax5.ui.mask\n(function () {\n\n var UI = ax5.ui;\n var U = ax5.util;\n var MASK = void 0;\n\n UI.addClass({\n className: \"mask\"\n }, function () {\n /**\n * @class ax5mask\n * @classdesc\n * @author tom@axisj.com\n * @example\n * ```js\n * var customMask = function customMask() {\n * var cTmpl = '' +\n * '
      ' +\n * '
      ' +\n * '
      ' +\n * ' {{{body}}}' +\n * '
      ' +\n * '
      ';\n * return cTmpl;\n * };\n * ax5.ui.mask.tmpl.customMask = customMask;\n *\n * var mask = new ax5.ui.mask();\n *\n * mask.open({\n * templateName: 'customMask',\n * content: 'custom MASK on target',\n * target: $(\"#user-content\").get(0),\n * onClick: function(){\n * console.log(this);\n * }\n * });\n * ```\n */\n return function () {\n var self = this,\n cfg = void 0;\n\n this.instanceId = ax5.getGuid();\n this.config = {\n theme: '',\n target: jQuery(document.body).get(0),\n animateTime: 250\n };\n this.maskContent = '';\n this.status = \"off\";\n\n cfg = this.config;\n\n var onStateChanged = function onStateChanged(opts, that) {\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n\n opts = null;\n that = null;\n return true;\n };\n var getBodyTmpl = function getBodyTmpl(data) {\n if (typeof data.templateName === \"undefined\") data.templateName = \"defaultMask\";\n return MASK.tmpl.get.call(this, data.templateName, data);\n };\n var setBody = function setBody(content) {\n this.maskContent = content;\n };\n\n /**\n * Preferences of Mask UI\n * @method ax5mask.setConfig\n * @param {Object} config - 클래스 속성값\n * @returns {ax5mask}\n * @example\n * ```\n * setConfig({\n * target : {Element|AX5 nodelist}, // 마스크 처리할 대상\n * content : {String}, // 마스크안에 들어가는 내용물\n * onStateChanged: function(){} // 마스크 상태변경 시 호출되는 함수 this.type으로 예외처리 가능\n * }\n * ```\n */\n this.init = function () {\n // after setConfig();\n this.onStateChanged = cfg.onStateChanged;\n this.onClick = cfg.onClick;\n if (this.config.content) setBody.call(this, this.config.content);\n };\n\n /**\n * open mask\n * target 을 주지 않으면 기본적으로 body 에 마스크가 적용되고 원하는 타겟을 지정해서 마스크를 씌울 수 있습니다.\n * 기본 정의된 마스크 외에 사용자가 템플릿을 정의해서 마스크를 사용 가능합니다.\n * @method ax5mask.open\n * @param {Object} config\n * @param {String} config\n * @returns {ax5mask}\n * @example\n * ```js\n * my_mask.open({\n * target: document.body,\n * content: \"

      Loading..

      \",\n * onStateChanged: function () {\n *\n * }\n * });\n *\n * my_mask.open({\n * target: $(\"#mask-target\").get(0), // dom Element\n * content: \"

      Loading..

      \",\n * onStateChanged: function () {\n *\n * }\n * });\n *\n *\n * var customMask = function customMask() {\n * var cTmpl = '' +\n * '
      ' +\n * '
      ' +\n * '
      ' +\n * ' {{{body}}}' +\n * '
      ' +\n * '
      ';\n * return cTmpl;\n * };\n * ax5.ui.mask.tmpl.customMask = customMask;\n *\n * my_mask.open({\n * target: $(\"#mask-target\").get(0), // dom Element\n * content: \"

      Loading..

      \",\n * \n * onStateChanged: function () {\n *\n * }\n * });\n * ```\n */\n this.open = function (options) {\n\n if (this.status === \"on\") this.close();\n if (options && options.content) setBody.call(this, options.content);\n if (options && typeof options.templateName === \"undefined\") options.templateName = \"defaultMask\";\n self.maskConfig = jQuery.extend(true, {}, this.config, options);\n\n var _cfg = self.maskConfig,\n target = _cfg.target,\n $target = jQuery(target),\n maskId = 'ax-mask-' + ax5.getGuid(),\n $mask = void 0,\n css = {},\n that = {},\n templateName = _cfg.templateName,\n body = getBodyTmpl({\n theme: _cfg.theme,\n maskId: maskId,\n body: this.maskContent,\n templateName: templateName\n });\n\n jQuery(document.body).append(body);\n\n // 마스크의 타겟이 html body 가 아니라면\n if (target && target !== jQuery(document.body).get(0)) {\n css = {\n position: _cfg.position || \"absolute\",\n left: $target.offset().left,\n top: $target.offset().top,\n width: $target.outerWidth(),\n height: $target.outerHeight()\n };\n\n $target.addClass(\"ax-masking\");\n\n // 마스크의 타겟이 html body가 아닌경우 window resize 이벤트를 추적하여 엘리먼트 마스크의 CSS 속성 변경\n jQuery(window).on(\"resize.ax5mask-\" + this.instanceId, function (_$target) {\n this.align();\n }.bind(this));\n }\n\n if (typeof self.maskConfig.zIndex !== \"undefined\") {\n css[\"z-index\"] = self.maskConfig.zIndex;\n }\n\n this.$mask = $mask = jQuery(\"#\" + maskId);\n this.$target = $target;\n this.status = \"on\";\n $mask.css(css);\n\n if (_cfg.onClick) {\n $mask.on(\"click\", function (e) {\n that = {\n self: self,\n state: \"open\",\n type: \"click\"\n };\n self.maskConfig.onClick.call(that, that);\n });\n }\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"open\"\n });\n\n options = null;\n _cfg = null;\n target = null;\n $target = null;\n maskId = null;\n $mask = null;\n css = null;\n that = null;\n templateName = null;\n body = null;\n\n return this;\n };\n\n /**\n * close mask\n * @method ax5mask.close\n * @param {Number} [_delay=0]\n * @returns {ax5mask}\n * @example\n * ```\n * my_mask.close();\n * ```\n */\n this.close = function (_delay) {\n if (this.$mask) {\n var _close = function _close() {\n this.status = \"off\";\n this.$mask.remove();\n this.$target.removeClass(\"ax-masking\");\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"close\"\n });\n\n jQuery(window).off(\"resize.ax5mask-\" + this.instanceId);\n };\n\n if (_delay) {\n setTimeout(function () {\n _close.call(this);\n }.bind(this), _delay);\n } else {\n _close.call(this);\n }\n }\n return this;\n };\n\n /**\n * @method ax5mask.fadeOut\n * @returns {ax5mask}\n */\n this.fadeOut = function () {\n if (this.$mask) {\n var _close = function _close() {\n this.status = \"off\";\n this.$mask.remove();\n this.$target.removeClass(\"ax-masking\");\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"close\"\n });\n\n jQuery(window).off(\"resize.ax5mask-\" + this.instanceId);\n };\n\n this.$mask.addClass(\"fade-out\");\n setTimeout(function () {\n _close.call(this);\n }.bind(this), cfg.animateTime);\n }\n return this;\n };\n\n /**\n * @method ax5mask.align\n * @returns {ax5mask}\n */\n this.align = function () {\n if (this.maskConfig && this.maskConfig.target && this.maskConfig.target !== jQuery(document.body).get(0)) {\n try {\n var css = {\n position: this.maskConfig.position || \"absolute\",\n left: this.$target.offset().left,\n top: this.$target.offset().top,\n width: this.$target.outerWidth(),\n height: this.$target.outerHeight()\n };\n this.$mask.css(css);\n } catch (e) {}\n }\n return this;\n };\n\n this.pullRequest = function () {\n console.log(\"test pullRequest01\");\n console.log(\"test pullRequest02\");\n };\n\n // 클래스 생성자\n this.main = function () {\n\n UI.mask_instance = UI.mask_instance || [];\n UI.mask_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n }());\n MASK = ax5.ui.mask;\n})();\n// ax5.ui.mask.tmpl\n(function () {\n\n var MASK = ax5.ui.mask;\n\n var defaultMask = function defaultMask(columnKeys) {\n return '\\n
      \\n
      \\n
      \\n
      \\n {{{body}}}\\n
      \\n
      \\n
      \\n ';\n };\n\n MASK.tmpl = {\n \"defaultMask\": defaultMask,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(MASK.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","\"use strict\";\n\n/*\n * Copyright (c) 2016. tom@axisj.com\n * - github.com/thomasjang\n * - www.axisj.com\n */\n\n// ax5.ui.modal\n(function () {\n var UI = ax5.ui;\n var U = ax5.util;\n var MODAL = void 0;\n\n UI.addClass({\n className: \"modal\"\n }, function () {\n /**\n * @class ax5modal\n * @alias ax5.ui.modal\n * @author tom@axisj.com\n */\n return function () {\n var self = this,\n cfg = void 0,\n ENM = {\n mousedown: ax5.info.supportTouch ? \"touchstart\" : \"mousedown\",\n mousemove: ax5.info.supportTouch ? \"touchmove\" : \"mousemove\",\n mouseup: ax5.info.supportTouch ? \"touchend\" : \"mouseup\"\n },\n getMousePosition = function getMousePosition(e) {\n var mouseObj = e;\n if (\"changedTouches\" in e && e.changedTouches) {\n mouseObj = e.changedTouches[0];\n }\n return {\n clientX: mouseObj.clientX,\n clientY: mouseObj.clientY\n };\n };\n\n this.instanceId = ax5.getGuid();\n this.config = {\n id: \"ax5-modal-\" + this.instanceId,\n position: {\n left: \"center\",\n top: \"middle\",\n margin: 10\n },\n minimizePosition: \"bottom-right\",\n clickEventName: \"ontouchstart\" in document.documentElement ? \"touchstart\" : \"click\",\n theme: \"default\",\n width: 300,\n height: 400,\n closeToEsc: true,\n disableDrag: false,\n disableResize: false,\n animateTime: 250,\n iframe: false\n };\n this.activeModal = null;\n this.watingModal = false;\n this.$ = {}; // UI inside of the jQuery object store\n\n cfg = this.config; // extended config copy cfg\n\n var onStateChanged = function onStateChanged(opts, that) {\n var eventProcessor = {\n resize: function resize(that) {\n if (opts && opts.onResize) {\n opts.onResize.call(that, that);\n } else if (this.onResize) {\n this.onResize.call(that, that);\n }\n },\n move: function move() {}\n };\n if (that.state in eventProcessor) {\n eventProcessor[that.state].call(this, that);\n }\n\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n return true;\n },\n getContent = function getContent(modalId, opts) {\n var data = {\n modalId: modalId,\n theme: opts.theme,\n header: opts.header,\n fullScreen: opts.fullScreen ? \"fullscreen\" : \"\",\n styles: \"\",\n iframe: opts.iframe,\n iframeLoadingMsg: opts.iframeLoadingMsg,\n disableResize: opts.disableResize\n };\n\n if (opts.zIndex) {\n data.styles += \"z-index:\" + opts.zIndex + \";\";\n }\n if (opts.absolute) {\n data.styles += \"position:absolute;\";\n }\n\n if (data.iframe && typeof data.iframe.param === \"string\") {\n data.iframe.param = ax5.util.param(data.iframe.param);\n }\n\n return MODAL.tmpl.get.call(this, \"content\", data, {});\n },\n open = function open(opts, callback) {\n var that = void 0;\n jQuery(document.body).append(getContent.call(this, opts.id, opts));\n\n this.activeModal = jQuery(\"#\" + opts.id);\n // 파트수집\n this.$ = {\n root: this.activeModal,\n header: this.activeModal.find('[data-modal-els=\"header\"]'),\n body: this.activeModal.find('[data-modal-els=\"body\"]')\n };\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"] = this.activeModal.find('[data-modal-els=\"iframe-wrap\"]');\n this.$[\"iframe\"] = this.activeModal.find('[data-modal-els=\"iframe\"]');\n this.$[\"iframe-form\"] = this.activeModal.find('[data-modal-els=\"iframe-form\"]');\n this.$[\"iframe-loading\"] = this.activeModal.find('[data-modal-els=\"iframe-loading\"]');\n } else {\n this.$[\"body-frame\"] = this.activeModal.find('[data-modal-els=\"body-frame\"]');\n }\n\n //- position 정렬\n this.align();\n\n that = {\n self: this,\n id: opts.id,\n theme: opts.theme,\n width: opts.width,\n height: opts.height,\n state: \"open\",\n $: this.$\n };\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"].css({ height: opts.height });\n this.$[\"iframe\"].css({ height: opts.height });\n\n // iframe content load\n this.$[\"iframe-form\"].attr({ method: opts.iframe.method });\n this.$[\"iframe-form\"].attr({ target: opts.id + \"-frame\" });\n this.$[\"iframe-form\"].attr({ action: opts.iframe.url });\n this.$[\"iframe\"].on(\"load\", function () {\n that.state = \"load\";\n if (opts.iframeLoadingMsg) {\n this.$[\"iframe-loading\"].hide();\n }\n onStateChanged.call(this, opts, that);\n }.bind(this));\n if (!opts.iframeLoadingMsg) {\n this.$[\"iframe\"].show();\n }\n this.$[\"iframe-form\"].submit();\n }\n\n if (callback) callback.call(that, that);\n\n if (!this.watingModal) {\n onStateChanged.call(this, opts, that);\n }\n\n // bind key event\n if (opts.closeToEsc) {\n jQuery(window).bind(\"keydown.ax-modal\", function (e) {\n onkeyup.call(this, e || window.event);\n }.bind(this));\n }\n\n jQuery(window).bind(\"resize.ax-modal\", function (e) {\n this.align(null, e || window.event);\n }.bind(this));\n\n this.$.header.off(ENM[\"mousedown\"]).off(\"dragstart\").on(ENM[\"mousedown\"], function (e) {\n /// 이벤트 필터링 추가 : 버튼엘리먼트로 부터 발생된 이벤트이면 moveModal 시작하지 않도록 필터링\n var isButton = U.findParentNode(e.target, function (_target) {\n if (_target.getAttribute(\"data-modal-header-btn\")) {\n return true;\n }\n });\n\n if (!opts.isFullScreen && !isButton && opts.disableDrag != true) {\n self.mousePosition = getMousePosition(e);\n moveModal.on.call(self);\n }\n if (isButton) {\n btnOnClick.call(self, e || window.event, opts);\n }\n }).on(\"dragstart\", function (e) {\n U.stopEvent(e.originalEvent);\n return false;\n });\n\n this.activeModal.off(ENM[\"mousedown\"]).off(\"dragstart\").on(ENM[\"mousedown\"], \"[data-ax5modal-resizer]\", function (e) {\n if (opts.disableDrag || opts.isFullScreen) return false;\n self.mousePosition = getMousePosition(e);\n resizeModal.on.call(self, this.getAttribute(\"data-ax5modal-resizer\"));\n }).on(\"dragstart\", function (e) {\n U.stopEvent(e.originalEvent);\n return false;\n });\n },\n btnOnClick = function btnOnClick(e, opts, callback, target, k) {\n var that = void 0;\n if (e.srcElement) e.target = e.srcElement;\n\n target = U.findParentNode(e.target, function (target) {\n if (target.getAttribute(\"data-modal-header-btn\")) {\n return true;\n }\n });\n\n if (target) {\n k = target.getAttribute(\"data-modal-header-btn\");\n\n that = {\n self: this,\n key: k,\n value: opts.header.btns[k],\n dialogId: opts.id,\n btnTarget: target\n };\n\n if (opts.header.btns[k].onClick) {\n opts.header.btns[k].onClick.call(that, k);\n }\n }\n\n that = null;\n opts = null;\n callback = null;\n target = null;\n k = null;\n },\n onkeyup = function onkeyup(e) {\n if (e.keyCode == ax5.info.eventKeys.ESC) {\n this.close();\n }\n },\n alignProcessor = {\n \"top-left\": function topLeft() {\n this.align({ left: \"left\", top: \"top\" });\n },\n \"top-right\": function topRight() {\n this.align({ left: \"right\", top: \"top\" });\n },\n \"bottom-left\": function bottomLeft() {\n this.align({ left: \"left\", top: \"bottom\" });\n },\n \"bottom-right\": function bottomRight() {\n this.align({ left: \"right\", top: \"bottom\" });\n },\n \"center-middle\": function centerMiddle() {\n this.align({ left: \"center\", top: \"middle\" });\n }\n },\n moveModal = {\n on: function on() {\n var modalZIndex = this.activeModal.css(\"z-index\"),\n modalOffset = this.activeModal.offset(),\n modalBox = {\n width: this.activeModal.outerWidth(),\n height: this.activeModal.outerHeight()\n },\n windowBox = {\n width: jQuery(window).width(),\n height: jQuery(window).height(),\n scrollLeft: jQuery(document).scrollLeft(),\n scrollTop: jQuery(document).scrollTop()\n },\n getResizerPosition = function getResizerPosition(e) {\n self.__dx = e.clientX - self.mousePosition.clientX;\n self.__dy = e.clientY - self.mousePosition.clientY;\n\n /*\n if (minX > modalOffset.left + self.__dx) {\n self.__dx = -modalOffset.left;\n } else if (maxX < modalOffset.left + self.__dx) {\n self.__dx = maxX - modalOffset.left;\n }\n if (minY > modalOffset.top + self.__dy) {\n self.__dy = -modalOffset.top;\n } else if (maxY < modalOffset.top + self.__dy) {\n self.__dy = maxY - modalOffset.top;\n }\n */\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy\n };\n };\n\n var minX = 0,\n maxX = windowBox.width - modalBox.width,\n minY = 0,\n maxY = windowBox.height - modalBox.height;\n\n self.__dx = 0; // 변화량 X\n self.__dy = 0; // 변화량 Y\n\n // self.resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n self.resizerBg = jQuery('
      ');\n self.resizer = jQuery('
      ');\n self.resizerBg.css({ zIndex: modalZIndex });\n self.resizer.css({\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height,\n zIndex: modalZIndex + 1\n });\n\n jQuery(document.body).append(self.resizerBg).append(self.resizer);\n\n self.activeModal.addClass(\"draged\");\n\n jQuery(document.body).on(ENM[\"mousemove\"] + \".ax5modal-move-\" + this.instanceId, function (e) {\n self.resizer.css(getResizerPosition(e));\n }).on(ENM[\"mouseup\"] + \".ax5modal-move-\" + this.instanceId, function (e) {\n moveModal.off.call(self);\n }).on(\"mouseleave.ax5modal-move-\" + this.instanceId, function (e) {\n moveModal.off.call(self);\n });\n\n jQuery(document.body).attr(\"unselectable\", \"on\").css(\"user-select\", \"none\").on(\"selectstart\", false);\n },\n off: function off() {\n var setModalPosition = function setModalPosition() {\n var box = this.resizer.offset();\n if (!this.modalConfig.absolute) {\n box.left -= jQuery(document).scrollLeft();\n box.top -= jQuery(document).scrollTop();\n }\n this.activeModal.css(box);\n this.modalConfig.left = box.left;\n this.modalConfig.top = box.top;\n\n box = null;\n };\n\n this.activeModal.removeClass(\"draged\");\n setModalPosition.call(this);\n\n this.resizer.remove();\n this.resizer = null;\n this.resizerBg.remove();\n this.resizerBg = null;\n //this.align();\n\n jQuery(document.body).off(ENM[\"mousemove\"] + \".ax5modal-move-\" + this.instanceId).off(ENM[\"mouseup\"] + \".ax5modal-move-\" + this.instanceId).off(\"mouseleave.ax5modal-move-\" + this.instanceId);\n\n jQuery(document.body).removeAttr(\"unselectable\").css(\"user-select\", \"auto\").off(\"selectstart\");\n\n onStateChanged.call(this, self.modalConfig, {\n self: this,\n state: \"move\"\n });\n }\n },\n resizeModal = {\n on: function on(resizerType) {\n var modalZIndex = this.activeModal.css(\"z-index\"),\n modalOffset = this.activeModal.offset(),\n modalBox = {\n width: this.activeModal.outerWidth(),\n height: this.activeModal.outerHeight()\n },\n windowBox = {\n width: jQuery(window).width(),\n height: jQuery(window).height(),\n scrollLeft: jQuery(document).scrollLeft(),\n scrollTop: jQuery(document).scrollTop()\n },\n resizerProcessor = {\n top: function top(e) {\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width,\n height: modalBox.height - self.__dy * 2\n };\n } else if (e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dy,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dy * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width,\n height: modalBox.height - self.__dy\n };\n }\n },\n bottom: function bottom(e) {\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey) {\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n\n return {\n left: modalOffset.left,\n top: modalOffset.top - self.__dy,\n width: modalBox.width,\n height: modalBox.height + self.__dy * 2\n };\n } else if (e.altKey) {\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dy,\n top: modalOffset.top - self.__dy,\n width: modalBox.width + self.__dy * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height + self.__dy\n };\n }\n },\n left: function left(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (e.shiftKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height\n };\n } else if (e.altKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dx,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height - self.__dx * 2\n };\n } else {\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx,\n height: modalBox.height\n };\n }\n },\n right: function right(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (e.shiftKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height\n };\n } else if (e.altKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top - self.__dx,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height + self.__dx * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width + self.__dx,\n height: modalBox.height\n };\n }\n },\n \"top-left\": function topLeft(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dx,\n height: modalBox.height - self.__dy\n };\n }\n },\n \"top-right\": function topRight(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width + self.__dx,\n height: modalBox.height - self.__dy\n };\n }\n },\n \"bottom-left\": function bottomLeft(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top - self.__dy,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx,\n height: modalBox.height + self.__dy\n };\n }\n },\n \"bottom-right\": function bottomRight(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top - self.__dy,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width + self.__dx,\n height: modalBox.height + self.__dy\n };\n }\n }\n },\n getResizerPosition = function getResizerPosition(e) {\n self.__dx = e.clientX - self.mousePosition.clientX;\n self.__dy = e.clientY - self.mousePosition.clientY;\n\n return resizerProcessor[resizerType](e);\n };\n\n var minWidth = 100,\n minHeight = 100;\n\n var cursorType = {\n top: \"row-resize\",\n bottom: \"row-resize\",\n left: \"col-resize\",\n right: \"col-resize\",\n \"top-left\": \"nwse-resize\",\n \"top-right\": \"nesw-resize\",\n \"bottom-left\": \"nesw-resize\",\n \"bottom-right\": \"nwse-resize\"\n };\n\n self.__dx = 0; // 변화량 X\n self.__dy = 0; // 변화량 Y\n\n // self.resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n self.resizerBg = jQuery('
      ');\n self.resizer = jQuery('
      ');\n self.resizerBg.css({\n zIndex: modalZIndex,\n cursor: cursorType[resizerType]\n });\n self.resizer.css({\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height,\n zIndex: modalZIndex + 1,\n cursor: cursorType[resizerType]\n });\n jQuery(document.body).append(self.resizerBg).append(self.resizer);\n self.activeModal.addClass(\"draged\");\n\n jQuery(document.body).bind(ENM[\"mousemove\"] + \".ax5modal-resize-\" + this.instanceId, function (e) {\n self.resizer.css(getResizerPosition(e));\n }).bind(ENM[\"mouseup\"] + \".ax5modal-resize-\" + this.instanceId, function (e) {\n resizeModal.off.call(self);\n }).bind(\"mouseleave.ax5modal-resize-\" + this.instanceId, function (e) {\n resizeModal.off.call(self);\n });\n\n jQuery(document.body).attr(\"unselectable\", \"on\").css(\"user-select\", \"none\").bind(\"selectstart\", false);\n },\n off: function off() {\n var setModalPosition = function setModalPosition() {\n var box = this.resizer.offset();\n jQuery.extend(box, {\n width: this.resizer.width(),\n height: this.resizer.height()\n });\n if (!this.modalConfig.absolute) {\n box.left -= jQuery(document).scrollLeft();\n box.top -= jQuery(document).scrollTop();\n }\n this.activeModal.css(box);\n\n this.modalConfig.left = box.left;\n this.modalConfig.top = box.top;\n this.modalConfig.width = box.width;\n this.modalConfig.height = box.height;\n this.$[\"body\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n if (this.modalConfig.iframe) {\n this.$[\"iframe-wrap\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n this.$[\"iframe\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n }\n\n box = null;\n };\n\n this.activeModal.removeClass(\"draged\");\n setModalPosition.call(this);\n\n this.resizer.remove();\n this.resizer = null;\n this.resizerBg.remove();\n this.resizerBg = null;\n\n onStateChanged.call(this, self.modalConfig, {\n self: this,\n state: \"resize\"\n });\n\n jQuery(document.body).unbind(ENM[\"mousemove\"] + \".ax5modal-resize-\" + this.instanceId).unbind(ENM[\"mouseup\"] + \".ax5modal-resize-\" + this.instanceId).unbind(\"mouseleave.ax5modal-resize-\" + this.instanceId);\n\n jQuery(document.body).removeAttr(\"unselectable\").css(\"user-select\", \"auto\").unbind(\"selectstart\");\n }\n };\n\n /// private end\n\n /**\n * Preferences of modal UI\n * @method ax5modal.setConfig\n * @param {Object} config - 클래스 속성값\n * @param {Number} [config.zIndex]\n * @param {Object} [config.position]\n * @param {String} [config.position.left=\"center\"]\n * @param {String} [config.position.top=\"middle\"]\n * @param {Number} [config.position.margin=10]\n * @param {String} [config.minimizePosition=\"bottom-right\"]\n * @param {Number} [config.width=300]\n * @param {Number} [config.height=400]\n * @param {Boolean} [config.closeToEsc=true]\n * @param {Boolean} [config.absolute=false]\n * @param {Boolean} [config.disableDrag=false]\n * @param {Boolean} [config.disableResize=false]\n * @param {Number} [config.animateTime=250]\n * @param {Function} [config.fullScreen]\n * @param {Function} [config.onStateChanged] - `onStateChanged` function can be defined in setConfig method or new ax5.ui.modal initialization method. However, you can us to define an event function after initialization, if necessary\n * @param {Function} [config.onResize]\n * @returns {ax5modal}\n * @example\n * ```js\n * var modal = new ax5.ui.modal({\n * iframeLoadingMsg: '',\n * header: {\n * title: \"MODAL TITLE\",\n * btns: {\n * minimize: {\n * label: '', onClick: function () {\n * modal.minimize();\n * }\n * },\n * maximize: {\n * label: '', onClick: function () {\n * modal.maximize();\n * }\n * },\n * close: {\n * label: '', onClick: function () {\n * modal.close();\n * }\n * }\n * }\n * }\n * });\n *\n * modal.open({\n * width: 800,\n * height: 600,\n * fullScreen: function(){\n * return ($(window).width() < 600);\n * },\n * iframe: {\n * method: \"get\",\n * url: \"http://chequer-app:2017/html/login.html\",\n * param: \"callback=modalCallback\"\n * },\n * onStateChanged: function(){\n * console.log(this);\n * },\n * onResize: function(){\n * console.log(this);\n * }\n * });\n * ```\n */\n //== class body start\n this.init = function () {\n this.onStateChanged = cfg.onStateChanged;\n this.onResize = cfg.onResize;\n };\n\n /**\n * open the modal\n * @method ax5modal.open\n * @returns {ax5modal}\n * @example\n * ```\n * modal.open();\n * modal.open({\n * width: 500,\n * height: 500\n * });\n * moaal.open({}, function(){\n * console.log(this);\n * });\n * ```\n */\n this.open = function (opts, callback, tryCount) {\n if (typeof tryCount === \"undefined\") tryCount = 0;\n if (!this.activeModal) {\n opts = self.modalConfig = jQuery.extend(true, {}, cfg, opts);\n open.call(this, opts, callback);\n this.watingModal = false;\n } else if (tryCount < 3) {\n // 3번까지 재 시도\n this.watingModal = true;\n setTimeout(function () {\n this.open(opts, callback, tryCount + 1);\n }.bind(this), cfg.animateTime);\n } else {\n // 열기 시도 종료\n this.watingModal = false;\n }\n return this;\n };\n\n /**\n * close the modal\n * @method ax5modal.close\n * @param _option\n * @returns {ax5modal}\n * @example\n * ```\n * my_modal.close();\n * my_modal.close({callback: function(){\n * // on close event\n * });\n * // close 함수에 callback을 전달하면 정확한 close 타이밍을 캐치할 수 있습니다\n * ```\n */\n\n this.close = function (_option) {\n var opts = void 0,\n that = void 0;\n\n if (this.activeModal) {\n opts = self.modalConfig;\n this.activeModal.addClass(\"destroy\");\n jQuery(window).unbind(\"keydown.ax-modal\");\n jQuery(window).unbind(\"resize.ax-modal\");\n\n setTimeout(function () {\n // 프레임 제거\n if (opts.iframe) {\n var $iframe = this.$[\"iframe\"]; // iframe jQuery Object\n if ($iframe) {\n var iframeObject = $iframe.get(0),\n idoc = iframeObject.contentDocument ? iframeObject.contentDocument : iframeObject.contentWindow.document;\n\n try {\n $(idoc.body).children().each(function () {\n $(this).remove();\n });\n } catch (e) {}\n idoc.innerHTML = \"\";\n $iframe.attr(\"src\", \"about:blank\").remove();\n\n // force garbarge collection for IE only\n window.CollectGarbage && window.CollectGarbage();\n }\n }\n\n this.activeModal.remove();\n this.activeModal = null;\n\n // 모달 오픈 대기중이면 닫기 상태 전달 안함.\n if (!this.watingModal) {\n onStateChanged.call(this, opts, {\n self: this,\n state: \"close\"\n });\n }\n\n if (_option && U.isFunction(_option.callback)) {\n that = {\n self: this,\n id: opts.id,\n theme: opts.theme,\n width: opts.width,\n height: opts.height,\n state: \"close\",\n $: this.$\n };\n _option.callback.call(that, that);\n }\n }.bind(this), cfg.animateTime);\n }\n\n this.minimized = false; // hoksi\n\n return this;\n };\n\n /**\n * @method ax5modal.minimize\n * @returns {ax5modal}\n */\n this.minimize = function () {\n return function (minimizePosition) {\n if (this.minimized !== true) {\n var opts = self.modalConfig;\n if (typeof minimizePosition === \"undefined\") minimizePosition = cfg.minimizePosition;\n\n this.minimized = true;\n this.$.body.hide();\n self.modalConfig.originalHeight = opts.height;\n self.modalConfig.height = 0;\n alignProcessor[minimizePosition].call(this);\n\n onStateChanged.call(this, opts, {\n self: this,\n state: \"minimize\"\n });\n }\n\n return this;\n };\n }();\n\n /**\n * @method ax5modal.restore\n * @returns {ax5modal}\n */\n this.restore = function () {\n var opts = self.modalConfig;\n if (this.minimized) {\n this.minimized = false;\n this.$.body.show();\n self.modalConfig.height = self.modalConfig.originalHeight;\n self.modalConfig.originalHeight = undefined;\n\n this.align({ left: \"center\", top: \"middle\" });\n onStateChanged.call(this, opts, {\n self: this,\n state: \"restore\"\n });\n }\n return this;\n };\n\n /**\n * setCSS\n * @method ax5modal.css\n * @param {Object} css -\n * @returns {ax5modal}\n */\n this.css = function (css) {\n if (this.activeModal && !self.fullScreen) {\n this.activeModal.css(css);\n if (typeof css.width !== \"undefined\") {\n self.modalConfig.width = css.width;\n }\n if (typeof css.height !== \"undefined\") {\n self.modalConfig.height = css.height;\n }\n\n this.align();\n }\n return this;\n };\n\n /**\n * @method ax5modal.setModalConfig\n * @param _config\n * @returns {ax5.ui.ax5modal}\n */\n this.setModalConfig = function (_config) {\n self.modalConfig = jQuery.extend({}, self.modalConfig, _config);\n this.align();\n return this;\n };\n\n /**\n * @method ax5modal.align\n * @param position\n * @param e\n * @returns {ax5modal}\n * @example\n * ```js\n * modal.align({left:\"center\", top:\"middle\"});\n * modal.align({left:\"left\", top:\"top\", margin: 20});\n * ```\n */\n this.align = function () {\n return function (position, e) {\n if (!this.activeModal) return this;\n\n var opts = self.modalConfig,\n box = {\n width: opts.width,\n height: opts.height\n };\n\n var fullScreen = opts.isFullScreen = function (_fullScreen) {\n if (typeof _fullScreen === \"undefined\") {\n return false;\n } else if (U.isFunction(_fullScreen)) {\n return _fullScreen();\n }\n }(opts.fullScreen);\n\n if (fullScreen) {\n if (opts.header) this.$.header.show();\n if (opts.header) {\n opts.headerHeight = this.$.header.outerHeight();\n box.height += opts.headerHeight;\n } else {\n opts.headerHeight = 0;\n }\n box.width = jQuery(window).width();\n box.height = opts.height;\n box.left = 0;\n box.top = 0;\n } else {\n if (opts.header) this.$.header.show();\n if (position) {\n jQuery.extend(true, opts.position, position);\n }\n\n if (opts.header) {\n opts.headerHeight = this.$.header.outerHeight();\n box.height += opts.headerHeight;\n } else {\n opts.headerHeight = 0;\n }\n\n //- position 정렬\n if (opts.position.left == \"left\") {\n box.left = opts.position.margin || 0;\n } else if (opts.position.left == \"right\") {\n // window.innerWidth;\n box.left = jQuery(window).width() - box.width - (opts.position.margin || 0);\n } else if (opts.position.left == \"center\") {\n box.left = jQuery(window).width() / 2 - box.width / 2;\n } else {\n box.left = opts.position.left || 0;\n }\n\n if (opts.position.top == \"top\") {\n box.top = opts.position.margin || 0;\n } else if (opts.position.top == \"bottom\") {\n box.top = jQuery(window).height() - box.height - (opts.position.margin || 0);\n } else if (opts.position.top == \"middle\") {\n box.top = jQuery(window).height() / 2 - box.height / 2;\n } else {\n box.top = opts.position.top || 0;\n }\n if (box.left < 0) box.left = 0;\n if (box.top < 0) box.top = 0;\n\n if (opts.absolute) {\n box.top += jQuery(window).scrollTop();\n box.left += jQuery(window).scrollLeft();\n }\n }\n\n this.activeModal.css(box);\n\n this.$[\"body\"].css({\n height: box.height - (opts.headerHeight || 0)\n });\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"].css({\n height: box.height - opts.headerHeight\n });\n this.$[\"iframe\"].css({ height: box.height - opts.headerHeight });\n } else {}\n return this;\n };\n }();\n\n // 클래스 생성자\n this.main = function () {\n UI.modal_instance = UI.modal_instance || [];\n UI.modal_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n }());\n\n MODAL = ax5.ui.modal;\n})();\n\n// ax5.ui.modal.tmpl\n(function () {\n var MODAL = ax5.ui.modal;\n\n var content = function content() {\n return \" \\n
      \\n {{#header}}\\n
      \\n {{{title}}}\\n {{#btns}}\\n
      \\n {{#@each}}\\n \\n {{/@each}}\\n
      \\n {{/btns}}\\n
      \\n {{/header}}\\n
      \\n {{#iframe}}\\n
      \\n
      {{{iframeLoadingMsg}}}
      \\n \\n
      \\n
      \\n \\n {{#param}}\\n {{#@each}}\\n \\n {{/@each}}\\n {{/param}}\\n
      \\n {{/iframe}}\\n {{^iframe}}\\n
      \\n {{/iframe}}\\n
      \\n {{^disableResize}}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{/disableResize}}\\n
      \\n \";\n };\n\n MODAL.tmpl = {\n \"content\": content,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(MODAL.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","\"use strict\";\n\n// ax5.ui.toast\n(function () {\n\n var UI = ax5.ui;\n var U = ax5.util;\n var TOAST;\n\n UI.addClass({\n className: \"toast\"\n }, function () {\n /**\n * @class ax5toast\n * @classdesc\n * @author tom@axisj.com\n * @example\n * ```\n * ```js\n * var toast = new ax5.ui.toast();\n * toast.setConfig({\n * icon: '',\n * containerPosition: \"bottom-right\",\n * closeIcon: ''\n * });\n *\n * toast.onStateChanged = function(){\n * console.log(this);\n * };\n *\n * toast.push({\n * icon: '',\n * msg:\"999999\"\n * });\n *\n * toast.push({\n * theme: theme,\n * msg: 'toast message'\n * });\n * ```\n */\n var ax5toast = function ax5toast() {\n var self = this,\n cfg,\n toastSeq = 0,\n toastSeqClear = null;\n\n this.instanceId = ax5.getGuid();\n this.config = {\n clickEventName: \"click\", //(('ontouchstart' in document.documentElement) ? \"touchstart\" : \"click\"),\n theme: 'default',\n width: 300,\n icon: '',\n closeIcon: '',\n msg: '',\n lang: {\n \"ok\": \"ok\", \"cancel\": \"cancel\"\n },\n displayTime: 3000,\n animateTime: 250,\n containerPosition: \"bottom-left\"\n };\n this.toastContainer = null;\n this.queue = [];\n\n cfg = this.config;\n\n var onStateChanged = function onStateChanged(opts, that) {\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n\n opts = null;\n that = null;\n return true;\n },\n\n /**\n * @method ax5toast.getContent\n * @param {String} toastId\n * @param {Object} opts\n * @returns toastDisplay\n * @example\n * ```js\n * ax5toast.getContent('ax5-toast-3-1', opts);\n * ```\n */\n getContent = function getContent(toastId, opts) {\n\n var data = {\n toastId: toastId,\n theme: opts.theme,\n icon: opts.icon,\n msg: (opts.msg || \"\").replace(/\\n/g, \"
      \"),\n btns: opts.btns,\n closeIcon: opts.closeIcon\n };\n\n try {\n return TOAST.tmpl.get.call(this, \"toastDisplay\", data);\n } finally {\n toastId = null;\n data = null;\n }\n },\n\n /**\n * @method ax5toast.open\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n open = function open(opts, callBack) {\n if (toastSeqClear) clearTimeout(toastSeqClear);\n\n var toastBox,\n box = {\n width: opts.width\n };\n\n opts.id = 'ax5-toast-' + self.containerId + '-' + ++toastSeq;\n if (jQuery('#' + opts.id).get(0)) return this;\n\n if (U.left(cfg.containerPosition, '-') == 'bottom') {\n this.toastContainer.append(getContent(opts.id, opts));\n } else {\n this.toastContainer.prepend(getContent(opts.id, opts));\n }\n\n toastBox = jQuery('#' + opts.id);\n toastBox.css({ width: box.width });\n opts.toastBox = toastBox;\n this.queue.push(opts);\n\n onStateChanged.call(this, opts, {\n self: this,\n state: \"open\",\n toastId: opts.id\n });\n\n if (opts.toastType === \"push\") {\n // 자동 제거 타이머 시작\n setTimeout(function () {\n this.close(opts, callBack);\n }.bind(this), cfg.displayTime);\n\n toastBox.find(\"[data-ax-toast-btn]\").on(cfg.clickEventName, function (e) {\n btnOnClick.call(this, e || window.event, opts, toastBox, callBack);\n }.bind(this));\n } else if (opts.toastType === \"confirm\") {\n toastBox.find(\"[data-ax-toast-btn]\").on(cfg.clickEventName, function (e) {\n btnOnClick.call(this, e || window.event, opts, toastBox, callBack);\n }.bind(this));\n }\n\n box = null;\n },\n btnOnClick = function btnOnClick(e, opts, toastBox, callBack, target, k) {\n target = U.findParentNode(e.target, function (target) {\n if (target.getAttribute(\"data-ax-toast-btn\")) {\n return true;\n }\n });\n\n if (target) {\n k = target.getAttribute(\"data-ax-toast-btn\");\n\n var that = {\n key: k, value: opts.btns ? opts.btns[k] : k,\n toastId: opts.id,\n btn_target: target\n };\n\n if (opts.btns && opts.btns[k].onClick) {\n opts.btns[k].onClick.call(that, k);\n } else if (opts.toastType === \"push\") {\n if (callBack) callBack.call(that, k);\n this.close(opts, callBack);\n } else if (opts.toastType === \"confirm\") {\n if (callBack) callBack.call(that, k);\n this.close(opts, callBack);\n }\n }\n\n e = null;\n opts = null;\n toastBox = null;\n callBack = null;\n target = null;\n k = null;\n };\n\n /**\n * Preferences of toast UI\n * @method ax5toast.set_config\n * @param {Object} config - 클래스 속성값\n * @returns {ax5toast}\n * @example\n * ```\n * ```\n */\n //== class body start\n this.init = function () {\n this.onStateChanged = cfg.onStateChanged;\n // after set_config();\n self.containerId = ax5.getGuid();\n var styles = [];\n if (cfg.zIndex) {\n styles.push(\"z-index:\" + cfg.zIndex);\n }\n jQuery(document.body).append('
      ');\n this.toastContainer = jQuery('[data-toast-container=\"' + self.containerId + '\"]');\n };\n\n /**\n * @method ax5toast.push\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n this.push = function (opts, callBack) {\n if (!self.containerId) {\n this.init();\n }\n if (U.isString(opts)) {\n opts = {\n title: cfg.title,\n msg: opts\n };\n }\n opts.toastType = \"push\";\n\n self.dialogConfig = {};\n jQuery.extend(true, self.dialogConfig, cfg, opts);\n opts = self.dialogConfig;\n\n open.call(this, opts, callBack);\n\n opts = null;\n callBack = null;\n return this;\n };\n\n /**\n * @method ax5toast.confirm\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n this.confirm = function (opts, callBack) {\n if (!self.containerId) {\n this.init();\n }\n if (U.isString(opts)) {\n opts = {\n title: cfg.title,\n msg: opts\n };\n }\n opts.toastType = \"confirm\";\n\n self.dialogConfig = {};\n jQuery.extend(true, self.dialogConfig, cfg, opts);\n opts = self.dialogConfig;\n\n if (typeof opts.btns === \"undefined\") {\n opts.btns = {\n ok: { label: cfg.lang[\"ok\"], theme: opts.theme }\n };\n }\n open.call(this, opts, callBack);\n\n opts = null;\n callBack = null;\n return this;\n };\n\n /**\n * close the toast\n * @method ax5toast.close\n * @returns {ax5toast}\n * @example\n * ```\n * my_toast.close();\n * ```\n */\n this.close = function (opts, callBack) {\n if (typeof opts === \"undefined\") {\n opts = U.last(this.queue);\n }\n\n var toastBox = opts.toastBox;\n toastBox.addClass(opts.toastType == \"push\" ? \"removed\" : \"destroy\");\n this.queue = U.filter(this.queue, function () {\n return opts.id != this.id;\n });\n setTimeout(function () {\n var that = {\n toastId: opts.id\n };\n\n toastBox.remove();\n if (callBack) callBack.call(that);\n\n that = {\n self: this,\n state: \"close\",\n toastId: opts.id\n };\n onStateChanged.call(this, opts, that);\n\n // 3초후에도 아무 일이 없다면 완전히 제거\n if (this.queue.length === 0) {\n if (toastSeqClear) clearTimeout(toastSeqClear);\n toastSeqClear = setTimeout(function () {\n /// console.log(\"try clear seq\");\n if (this.queue.length === 0) toastSeq = 0;\n }.bind(this), 3000);\n }\n\n that = null;\n opts = null;\n callBack = null;\n toastBox = null;\n }.bind(this), cfg.animateTime);\n\n return this;\n };\n\n // 클래스 생성자\n this.main = function () {\n\n UI.toast_instance = UI.toast_instance || [];\n UI.toast_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n return ax5toast;\n }());\n TOAST = ax5.ui.toast;\n})();\n// ax5.ui.toast.tmpl\n(function () {\n\n var TOAST = ax5.ui.toast;\n\n var toastDisplay = function toastDisplay(columnKeys) {\n return \"\\n
      \\n {{#icon}}\\n
      {{{.}}}
      \\n {{/icon}}\\n
      {{{msg}}}
      \\n {{#btns}}\\n
      \\n
      \\n {{#@each}}\\n \\n {{/@each}}\\n
      \\n
      \\n {{/btns}}\\n {{^btns}}\\n {{{closeIcon}}}\\n {{/btns}}\\n
      \\n
      \";\n };\n\n TOAST.tmpl = {\n \"toastDisplay\": toastDisplay,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(TOAST.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","/*! jQuery UI - v1.12.1 - 2018-10-29\n* http://jqueryui.com\n* Includes: widget.js, position.js, data.js, keycode.js, scroll-parent.js, unique-id.js, widgets/sortable.js, widgets/autocomplete.js, widgets/datepicker.js, widgets/menu.js, widgets/mouse.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.12.1\";\n\n\n/*!\n * jQuery UI Widget 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n\n\nvar widgetUuid = 0;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// Http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( $.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
      \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tcurrent = $( $.unique( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._on( options.element, {\n\t\t\t\"remove\": \"_untrackClassesElement\"\n\t\t} );\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName ).off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( $.isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
      \" +\n\t\t\t\t\"
      \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI :data 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: http://api.jqueryui.com/data-selector/\n\n\nvar data = $.extend( $.expr[ \":\" ], {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo( function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t} ) :\n\n\t\t// Support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t}\n} );\n\n/*!\n * jQuery UI Keycode 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\n\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Unique ID 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\n\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n\n\n// This file is deprecated\nvar ie = $.ui.ie = !!/msie [\\w.]+/.exec( navigator.userAgent.toLowerCase() );\n\n/*!\n * jQuery UI Mouse 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Mouse\n//>>group: Widgets\n//>>description: Abstracts mouse-based interactions to assist in creating certain widgets.\n//>>docs: http://api.jqueryui.com/mouse/\n\n\n\nvar mouseHandled = false;\n$( document ).on( \"mouseup\", function() {\n\tmouseHandled = false;\n} );\n\nvar widgetsMouse = $.widget( \"ui.mouse\", {\n\tversion: \"1.12.1\",\n\toptions: {\n\t\tcancel: \"input, textarea, button, select, option\",\n\t\tdistance: 1,\n\t\tdelay: 0\n\t},\n\t_mouseInit: function() {\n\t\tvar that = this;\n\n\t\tthis.element\n\t\t\t.on( \"mousedown.\" + this.widgetName, function( event ) {\n\t\t\t\treturn that._mouseDown( event );\n\t\t\t} )\n\t\t\t.on( \"click.\" + this.widgetName, function( event ) {\n\t\t\t\tif ( true === $.data( event.target, that.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t\t\t$.removeData( event.target, that.widgetName + \".preventClickEvent\" );\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\tthis.started = false;\n\t},\n\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\n\t// other instances of mouse\n\t_mouseDestroy: function() {\n\t\tthis.element.off( \".\" + this.widgetName );\n\t\tif ( this._mouseMoveDelegate ) {\n\t\t\tthis.document\n\t\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\t\t}\n\t},\n\n\t_mouseDown: function( event ) {\n\n\t\t// don't let more than one widget handle mouseStart\n\t\tif ( mouseHandled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._mouseMoved = false;\n\n\t\t// We may have missed mouseup (out of window)\n\t\t( this._mouseStarted && this._mouseUp( event ) );\n\n\t\tthis._mouseDownEvent = event;\n\n\t\tvar that = this,\n\t\t\tbtnIsLeft = ( event.which === 1 ),\n\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\n\t\t\t// disabled inputs (#7620)\n\t\t\telIsCancel = ( typeof this.options.cancel === \"string\" && event.target.nodeName ?\n\t\t\t\t$( event.target ).closest( this.options.cancel ).length : false );\n\t\tif ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.mouseDelayMet = !this.options.delay;\n\t\tif ( !this.mouseDelayMet ) {\n\t\t\tthis._mouseDelayTimer = setTimeout( function() {\n\t\t\t\tthat.mouseDelayMet = true;\n\t\t\t}, this.options.delay );\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted = ( this._mouseStart( event ) !== false );\n\t\t\tif ( !this._mouseStarted ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Click event may never have fired (Gecko & Opera)\n\t\tif ( true === $.data( event.target, this.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t$.removeData( event.target, this.widgetName + \".preventClickEvent\" );\n\t\t}\n\n\t\t// These delegates are required to keep context\n\t\tthis._mouseMoveDelegate = function( event ) {\n\t\t\treturn that._mouseMove( event );\n\t\t};\n\t\tthis._mouseUpDelegate = function( event ) {\n\t\t\treturn that._mouseUp( event );\n\t\t};\n\n\t\tthis.document\n\t\t\t.on( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.on( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tevent.preventDefault();\n\n\t\tmouseHandled = true;\n\t\treturn true;\n\t},\n\n\t_mouseMove: function( event ) {\n\n\t\t// Only check for mouseups outside the document if you've moved inside the document\n\t\t// at least once. This prevents the firing of mouseup in the case of IE<9, which will\n\t\t// fire a mousemove event if content is placed under the cursor. See #7778\n\t\t// Support: IE <9\n\t\tif ( this._mouseMoved ) {\n\n\t\t\t// IE mouseup check - mouseup happened when mouse was out of window\n\t\t\tif ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) &&\n\t\t\t\t\t!event.button ) {\n\t\t\t\treturn this._mouseUp( event );\n\n\t\t\t// Iframe mouseup check - mouseup occurred in another document\n\t\t\t} else if ( !event.which ) {\n\n\t\t\t\t// Support: Safari <=8 - 9\n\t\t\t\t// Safari sets which to 0 if you press any of the following keys\n\t\t\t\t// during a drag (#14461)\n\t\t\t\tif ( event.originalEvent.altKey || event.originalEvent.ctrlKey ||\n\t\t\t\t\t\tevent.originalEvent.metaKey || event.originalEvent.shiftKey ) {\n\t\t\t\t\tthis.ignoreMissingWhich = true;\n\t\t\t\t} else if ( !this.ignoreMissingWhich ) {\n\t\t\t\t\treturn this._mouseUp( event );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( event.which || event.button ) {\n\t\t\tthis._mouseMoved = true;\n\t\t}\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseDrag( event );\n\t\t\treturn event.preventDefault();\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted =\n\t\t\t\t( this._mouseStart( this._mouseDownEvent, event ) !== false );\n\t\t\t( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) );\n\t\t}\n\n\t\treturn !this._mouseStarted;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis.document\n\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseStarted = false;\n\n\t\t\tif ( event.target === this._mouseDownEvent.target ) {\n\t\t\t\t$.data( event.target, this.widgetName + \".preventClickEvent\", true );\n\t\t\t}\n\n\t\t\tthis._mouseStop( event );\n\t\t}\n\n\t\tif ( this._mouseDelayTimer ) {\n\t\t\tclearTimeout( this._mouseDelayTimer );\n\t\t\tdelete this._mouseDelayTimer;\n\t\t}\n\n\t\tthis.ignoreMissingWhich = false;\n\t\tmouseHandled = false;\n\t\tevent.preventDefault();\n\t},\n\n\t_mouseDistanceMet: function( event ) {\n\t\treturn ( Math.max(\n\t\t\t\tMath.abs( this._mouseDownEvent.pageX - event.pageX ),\n\t\t\t\tMath.abs( this._mouseDownEvent.pageY - event.pageY )\n\t\t\t) >= this.options.distance\n\t\t);\n\t},\n\n\t_mouseDelayMet: function( /* event */ ) {\n\t\treturn this.mouseDelayMet;\n\t},\n\n\t// These are placeholder methods, to be overriden by extending plugin\n\t_mouseStart: function( /* event */ ) {},\n\t_mouseDrag: function( /* event */ ) {},\n\t_mouseStop: function( /* event */ ) {},\n\t_mouseCapture: function( /* event */ ) { return true; }\n} );\n\n\n/*!\n * jQuery UI Sortable 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Sortable\n//>>group: Interactions\n//>>description: Enables items in a list to be sorted using the mouse.\n//>>docs: http://api.jqueryui.com/sortable/\n//>>demos: http://jqueryui.com/sortable/\n//>>css.structure: ../../themes/base/sortable.css\n\n\n\nvar widgetsSortable = $.widget( \"ui.sortable\", $.ui.mouse, {\n\tversion: \"1.12.1\",\n\twidgetEventPrefix: \"sort\",\n\tready: false,\n\toptions: {\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectWith: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tdropOnEmpty: true,\n\t\tforcePlaceholderSize: false,\n\t\tforceHelperSize: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\titems: \"> *\",\n\t\topacity: false,\n\t\tplaceholder: false,\n\t\trevert: false,\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tscope: \"default\",\n\t\ttolerance: \"intersect\",\n\t\tzIndex: 1000,\n\n\t\t// Callbacks\n\t\tactivate: null,\n\t\tbeforeStop: null,\n\t\tchange: null,\n\t\tdeactivate: null,\n\t\tout: null,\n\t\tover: null,\n\t\treceive: null,\n\t\tremove: null,\n\t\tsort: null,\n\t\tstart: null,\n\t\tstop: null,\n\t\tupdate: null\n\t},\n\n\t_isOverAxis: function( x, reference, size ) {\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n\t},\n\n\t_isFloating: function( item ) {\n\t\treturn ( /left|right/ ).test( item.css( \"float\" ) ) ||\n\t\t\t( /inline|table-cell/ ).test( item.css( \"display\" ) );\n\t},\n\n\t_create: function() {\n\t\tthis.containerCache = {};\n\t\tthis._addClass( \"ui-sortable\" );\n\n\t\t//Get the items\n\t\tthis.refresh();\n\n\t\t//Let's determine the parent's offset\n\t\tthis.offset = this.element.offset();\n\n\t\t//Initialize mouse events for interaction\n\t\tthis._mouseInit();\n\n\t\tthis._setHandleClassName();\n\n\t\t//We're ready to go\n\t\tthis.ready = true;\n\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_setHandleClassName: function() {\n\t\tvar that = this;\n\t\tthis._removeClass( this.element.find( \".ui-sortable-handle\" ), \"ui-sortable-handle\" );\n\t\t$.each( this.items, function() {\n\t\t\tthat._addClass(\n\t\t\t\tthis.instance.options.handle ?\n\t\t\t\t\tthis.item.find( this.instance.options.handle ) :\n\t\t\t\t\tthis.item,\n\t\t\t\t\"ui-sortable-handle\"\n\t\t\t);\n\t\t} );\n\t},\n\n\t_destroy: function() {\n\t\tthis._mouseDestroy();\n\n\t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\n\t\t\tthis.items[ i ].item.removeData( this.widgetName + \"-item\" );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_mouseCapture: function( event, overrideHandle ) {\n\t\tvar currentItem = null,\n\t\t\tvalidHandle = false,\n\t\t\tthat = this;\n\n\t\tif ( this.reverting ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( this.options.disabled || this.options.type === \"static\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t//We have to refresh the items data once first\n\t\tthis._refreshItems( event );\n\n\t\t//Find out if the clicked node (or one of its parents) is a actual item in this.items\n\t\t$( event.target ).parents().each( function() {\n\t\t\tif ( $.data( this, that.widgetName + \"-item\" ) === that ) {\n\t\t\t\tcurrentItem = $( this );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t\tif ( $.data( event.target, that.widgetName + \"-item\" ) === that ) {\n\t\t\tcurrentItem = $( event.target );\n\t\t}\n\n\t\tif ( !currentItem ) {\n\t\t\treturn false;\n\t\t}\n\t\tif ( this.options.handle && !overrideHandle ) {\n\t\t\t$( this.options.handle, currentItem ).find( \"*\" ).addBack().each( function() {\n\t\t\t\tif ( this === event.target ) {\n\t\t\t\t\tvalidHandle = true;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !validHandle ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tthis.currentItem = currentItem;\n\t\tthis._removeCurrentsFromItems();\n\t\treturn true;\n\n\t},\n\n\t_mouseStart: function( event, overrideHandle, noActivation ) {\n\n\t\tvar i, body,\n\t\t\to = this.options;\n\n\t\tthis.currentContainer = this;\n\n\t\t//We only need to call refreshPositions, because the refreshItems call has been moved to\n\t\t// mouseCapture\n\t\tthis.refreshPositions();\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper( event );\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Get the next scrolling parent\n\t\tthis.scrollParent = this.helper.scrollParent();\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.offset = this.currentItem.offset();\n\t\tthis.offset = {\n\t\t\ttop: this.offset.top - this.margins.top,\n\t\t\tleft: this.offset.left - this.margins.left\n\t\t};\n\n\t\t$.extend( this.offset, {\n\t\t\tclick: { //Where the click happened, relative to the element\n\t\t\t\tleft: event.pageX - this.offset.left,\n\t\t\t\ttop: event.pageY - this.offset.top\n\t\t\t},\n\t\t\tparent: this._getParentOffset(),\n\n\t\t\t// This is a relative to absolute position minus the actual position calculation -\n\t\t\t// only used for relative positioned helper\n\t\t\trelative: this._getRelativeOffset()\n\t\t} );\n\n\t\t// Only after we got the offset, we can change the helper's position to absolute\n\t\t// TODO: Still need to figure out a way to make relative sorting possible\n\t\tthis.helper.css( \"position\", \"absolute\" );\n\t\tthis.cssPosition = this.helper.css( \"position\" );\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this._generatePosition( event );\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\t( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) );\n\n\t\t//Cache the former DOM position\n\t\tthis.domPosition = {\n\t\t\tprev: this.currentItem.prev()[ 0 ],\n\t\t\tparent: this.currentItem.parent()[ 0 ]\n\t\t};\n\n\t\t// If the helper is not the original, hide the original so it's not playing any role during\n\t\t// the drag, won't cause anything bad this way\n\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\tthis.currentItem.hide();\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthis._createPlaceholder();\n\n\t\t//Set a containment if given in the options\n\t\tif ( o.containment ) {\n\t\t\tthis._setContainment();\n\t\t}\n\n\t\tif ( o.cursor && o.cursor !== \"auto\" ) { // cursor option\n\t\t\tbody = this.document.find( \"body\" );\n\n\t\t\t// Support: IE\n\t\t\tthis.storedCursor = body.css( \"cursor\" );\n\t\t\tbody.css( \"cursor\", o.cursor );\n\n\t\t\tthis.storedStylesheet =\n\t\t\t\t$( \"\" ).appendTo( body );\n\t\t}\n\n\t\tif ( o.opacity ) { // opacity option\n\t\t\tif ( this.helper.css( \"opacity\" ) ) {\n\t\t\t\tthis._storedOpacity = this.helper.css( \"opacity\" );\n\t\t\t}\n\t\t\tthis.helper.css( \"opacity\", o.opacity );\n\t\t}\n\n\t\tif ( o.zIndex ) { // zIndex option\n\t\t\tif ( this.helper.css( \"zIndex\" ) ) {\n\t\t\t\tthis._storedZIndex = this.helper.css( \"zIndex\" );\n\t\t\t}\n\t\t\tthis.helper.css( \"zIndex\", o.zIndex );\n\t\t}\n\n\t\t//Prepare scrolling\n\t\tif ( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\tthis.scrollParent[ 0 ].tagName !== \"HTML\" ) {\n\t\t\tthis.overflowOffset = this.scrollParent.offset();\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger( \"start\", event, this._uiHash() );\n\n\t\t//Recache the helper size\n\t\tif ( !this._preserveHelperProportions ) {\n\t\t\tthis._cacheHelperProportions();\n\t\t}\n\n\t\t//Post \"activate\" events to possible containers\n\t\tif ( !noActivation ) {\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tthis.containers[ i ]._trigger( \"activate\", event, this._uiHash( this ) );\n\t\t\t}\n\t\t}\n\n\t\t//Prepare possible droppables\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\tif ( $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t}\n\n\t\tthis.dragging = true;\n\n\t\tthis._addClass( this.helper, \"ui-sortable-helper\" );\n\n\t\t// Execute the drag once - this causes the helper not to be visiblebefore getting its\n\t\t// correct position\n\t\tthis._mouseDrag( event );\n\t\treturn true;\n\n\t},\n\n\t_mouseDrag: function( event ) {\n\t\tvar i, item, itemElement, intersection,\n\t\t\to = this.options,\n\t\t\tscrolled = false;\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition( event );\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\tif ( !this.lastPositionAbs ) {\n\t\t\tthis.lastPositionAbs = this.positionAbs;\n\t\t}\n\n\t\t//Do scrolling\n\t\tif ( this.options.scroll ) {\n\t\t\tif ( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t\tthis.scrollParent[ 0 ].tagName !== \"HTML\" ) {\n\n\t\t\t\tif ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) -\n\t\t\t\t\t\tevent.pageY < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollTop =\n\t\t\t\t\t\tscrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollTop =\n\t\t\t\t\t\tscrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t\tif ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) -\n\t\t\t\t\t\tevent.pageX < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft = scrolled =\n\t\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft = scrolled =\n\t\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed );\n\t\t\t\t} else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed );\n\t\t\t\t}\n\n\t\t\t\tif ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(\n\t\t\t\t\t\tthis.document.scrollLeft() - o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t} else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(\n\t\t\t\t\t\tthis.document.scrollLeft() + o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t\t}\n\t\t}\n\n\t\t//Regenerate the absolute position used for position checks\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\t//Set the helper position\n\t\tif ( !this.options.axis || this.options.axis !== \"y\" ) {\n\t\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\n\t\t}\n\t\tif ( !this.options.axis || this.options.axis !== \"x\" ) {\n\t\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\n\t\t}\n\n\t\t//Rearrange\n\t\tfor ( i = this.items.length - 1; i >= 0; i-- ) {\n\n\t\t\t//Cache variables and intersection, continue if no intersection\n\t\t\titem = this.items[ i ];\n\t\t\titemElement = item.item[ 0 ];\n\t\t\tintersection = this._intersectsWithPointer( item );\n\t\t\tif ( !intersection ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Only put the placeholder inside the current Container, skip all\n\t\t\t// items from other containers. This works because when moving\n\t\t\t// an item from one container to another the\n\t\t\t// currentContainer is switched before the placeholder is moved.\n\t\t\t//\n\t\t\t// Without this, moving items in \"sub-sortables\" can cause\n\t\t\t// the placeholder to jitter between the outer and inner container.\n\t\t\tif ( item.instance !== this.currentContainer ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Cannot intersect with itself\n\t\t\t// no useless actions that have been done before\n\t\t\t// no action if the item moved is the parent of the item checked\n\t\t\tif ( itemElement !== this.currentItem[ 0 ] &&\n\t\t\t\tthis.placeholder[ intersection === 1 ? \"next\" : \"prev\" ]()[ 0 ] !== itemElement &&\n\t\t\t\t!$.contains( this.placeholder[ 0 ], itemElement ) &&\n\t\t\t\t( this.options.type === \"semi-dynamic\" ?\n\t\t\t\t\t!$.contains( this.element[ 0 ], itemElement ) :\n\t\t\t\t\ttrue\n\t\t\t\t)\n\t\t\t) {\n\n\t\t\t\tthis.direction = intersection === 1 ? \"down\" : \"up\";\n\n\t\t\t\tif ( this.options.tolerance === \"pointer\" || this._intersectsWithSides( item ) ) {\n\t\t\t\t\tthis._rearrange( event, item );\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._trigger( \"change\", event, this._uiHash() );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tthis._contactContainers( event );\n\n\t\t//Interconnect with droppables\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.drag( this, event );\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger( \"sort\", event, this._uiHash() );\n\n\t\tthis.lastPositionAbs = this.positionAbs;\n\t\treturn false;\n\n\t},\n\n\t_mouseStop: function( event, noPropagation ) {\n\n\t\tif ( !event ) {\n\t\t\treturn;\n\t\t}\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tif ( $.ui.ddmanager && !this.options.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.drop( this, event );\n\t\t}\n\n\t\tif ( this.options.revert ) {\n\t\t\tvar that = this,\n\t\t\t\tcur = this.placeholder.offset(),\n\t\t\t\taxis = this.options.axis,\n\t\t\t\tanimation = {};\n\n\t\t\tif ( !axis || axis === \"x\" ) {\n\t\t\t\tanimation.left = cur.left - this.offset.parent.left - this.margins.left +\n\t\t\t\t\t( this.offsetParent[ 0 ] === this.document[ 0 ].body ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tthis.offsetParent[ 0 ].scrollLeft\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tif ( !axis || axis === \"y\" ) {\n\t\t\t\tanimation.top = cur.top - this.offset.parent.top - this.margins.top +\n\t\t\t\t\t( this.offsetParent[ 0 ] === this.document[ 0 ].body ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tthis.offsetParent[ 0 ].scrollTop\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tthis.reverting = true;\n\t\t\t$( this.helper ).animate(\n\t\t\t\tanimation,\n\t\t\t\tparseInt( this.options.revert, 10 ) || 500,\n\t\t\t\tfunction() {\n\t\t\t\t\tthat._clear( event );\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tthis._clear( event, noPropagation );\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tcancel: function() {\n\n\t\tif ( this.dragging ) {\n\n\t\t\tthis._mouseUp( new $.Event( \"mouseup\", { target: null } ) );\n\n\t\t\tif ( this.options.helper === \"original\" ) {\n\t\t\t\tthis.currentItem.css( this._storedCSS );\n\t\t\t\tthis._removeClass( this.currentItem, \"ui-sortable-helper\" );\n\t\t\t} else {\n\t\t\t\tthis.currentItem.show();\n\t\t\t}\n\n\t\t\t//Post deactivating events to containers\n\t\t\tfor ( var i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tthis.containers[ i ]._trigger( \"deactivate\", null, this._uiHash( this ) );\n\t\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\t\tthis.containers[ i ]._trigger( \"out\", null, this._uiHash( this ) );\n\t\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.placeholder ) {\n\n\t\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n\t\t\t// it unbinds ALL events from the original node!\n\t\t\tif ( this.placeholder[ 0 ].parentNode ) {\n\t\t\t\tthis.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );\n\t\t\t}\n\t\t\tif ( this.options.helper !== \"original\" && this.helper &&\n\t\t\t\t\tthis.helper[ 0 ].parentNode ) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\n\t\t\t$.extend( this, {\n\t\t\t\thelper: null,\n\t\t\t\tdragging: false,\n\t\t\t\treverting: false,\n\t\t\t\t_noFinalSort: null\n\t\t\t} );\n\n\t\t\tif ( this.domPosition.prev ) {\n\t\t\t\t$( this.domPosition.prev ).after( this.currentItem );\n\t\t\t} else {\n\t\t\t\t$( this.domPosition.parent ).prepend( this.currentItem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tserialize: function( o ) {\n\n\t\tvar items = this._getItemsAsjQuery( o && o.connected ),\n\t\t\tstr = [];\n\t\to = o || {};\n\n\t\t$( items ).each( function() {\n\t\t\tvar res = ( $( o.item || this ).attr( o.attribute || \"id\" ) || \"\" )\n\t\t\t\t.match( o.expression || ( /(.+)[\\-=_](.+)/ ) );\n\t\t\tif ( res ) {\n\t\t\t\tstr.push(\n\t\t\t\t\t( o.key || res[ 1 ] + \"[]\" ) +\n\t\t\t\t\t\"=\" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) );\n\t\t\t}\n\t\t} );\n\n\t\tif ( !str.length && o.key ) {\n\t\t\tstr.push( o.key + \"=\" );\n\t\t}\n\n\t\treturn str.join( \"&\" );\n\n\t},\n\n\ttoArray: function( o ) {\n\n\t\tvar items = this._getItemsAsjQuery( o && o.connected ),\n\t\t\tret = [];\n\n\t\to = o || {};\n\n\t\titems.each( function() {\n\t\t\tret.push( $( o.item || this ).attr( o.attribute || \"id\" ) || \"\" );\n\t\t} );\n\t\treturn ret;\n\n\t},\n\n\t/* Be careful with the following core functions */\n\t_intersectsWith: function( item ) {\n\n\t\tvar x1 = this.positionAbs.left,\n\t\t\tx2 = x1 + this.helperProportions.width,\n\t\t\ty1 = this.positionAbs.top,\n\t\t\ty2 = y1 + this.helperProportions.height,\n\t\t\tl = item.left,\n\t\t\tr = l + item.width,\n\t\t\tt = item.top,\n\t\t\tb = t + item.height,\n\t\t\tdyClick = this.offset.click.top,\n\t\t\tdxClick = this.offset.click.left,\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) || ( ( y1 + dyClick ) > t &&\n\t\t\t\t( y1 + dyClick ) < b ),\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) || ( ( x1 + dxClick ) > l &&\n\t\t\t\t( x1 + dxClick ) < r ),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\n\n\t\tif ( this.options.tolerance === \"pointer\" ||\n\t\t\tthis.options.forcePointerForContainers ||\n\t\t\t( this.options.tolerance !== \"pointer\" &&\n\t\t\t\tthis.helperProportions[ this.floating ? \"width\" : \"height\" ] >\n\t\t\t\titem[ this.floating ? \"width\" : \"height\" ] )\n\t\t) {\n\t\t\treturn isOverElement;\n\t\t} else {\n\n\t\t\treturn ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half\n\t\t\t\tx2 - ( this.helperProportions.width / 2 ) < r && // Left Half\n\t\t\t\tt < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half\n\t\t\t\ty2 - ( this.helperProportions.height / 2 ) < b ); // Top Half\n\n\t\t}\n\t},\n\n\t_intersectsWithPointer: function( item ) {\n\t\tvar verticalDirection, horizontalDirection,\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) ||\n\t\t\t\tthis._isOverAxis(\n\t\t\t\t\tthis.positionAbs.top + this.offset.click.top, item.top, item.height ),\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) ||\n\t\t\t\tthis._isOverAxis(\n\t\t\t\t\tthis.positionAbs.left + this.offset.click.left, item.left, item.width ),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\n\n\t\tif ( !isOverElement ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverticalDirection = this._getDragVerticalDirection();\n\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\treturn this.floating ?\n\t\t\t( ( horizontalDirection === \"right\" || verticalDirection === \"down\" ) ? 2 : 1 )\n\t\t\t: ( verticalDirection && ( verticalDirection === \"down\" ? 2 : 1 ) );\n\n\t},\n\n\t_intersectsWithSides: function( item ) {\n\n\t\tvar isOverBottomHalf = this._isOverAxis( this.positionAbs.top +\n\t\t\t\tthis.offset.click.top, item.top + ( item.height / 2 ), item.height ),\n\t\t\tisOverRightHalf = this._isOverAxis( this.positionAbs.left +\n\t\t\t\tthis.offset.click.left, item.left + ( item.width / 2 ), item.width ),\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif ( this.floating && horizontalDirection ) {\n\t\t\treturn ( ( horizontalDirection === \"right\" && isOverRightHalf ) ||\n\t\t\t\t( horizontalDirection === \"left\" && !isOverRightHalf ) );\n\t\t} else {\n\t\t\treturn verticalDirection && ( ( verticalDirection === \"down\" && isOverBottomHalf ) ||\n\t\t\t\t( verticalDirection === \"up\" && !isOverBottomHalf ) );\n\t\t}\n\n\t},\n\n\t_getDragVerticalDirection: function() {\n\t\tvar delta = this.positionAbs.top - this.lastPositionAbs.top;\n\t\treturn delta !== 0 && ( delta > 0 ? \"down\" : \"up\" );\n\t},\n\n\t_getDragHorizontalDirection: function() {\n\t\tvar delta = this.positionAbs.left - this.lastPositionAbs.left;\n\t\treturn delta !== 0 && ( delta > 0 ? \"right\" : \"left\" );\n\t},\n\n\trefresh: function( event ) {\n\t\tthis._refreshItems( event );\n\t\tthis._setHandleClassName();\n\t\tthis.refreshPositions();\n\t\treturn this;\n\t},\n\n\t_connectWith: function() {\n\t\tvar options = this.options;\n\t\treturn options.connectWith.constructor === String ?\n\t\t\t[ options.connectWith ] :\n\t\t\toptions.connectWith;\n\t},\n\n\t_getItemsAsjQuery: function( connected ) {\n\n\t\tvar i, j, cur, inst,\n\t\t\titems = [],\n\t\t\tqueries = [],\n\t\t\tconnectWith = this._connectWith();\n\n\t\tif ( connectWith && connected ) {\n\t\t\tfor ( i = connectWith.length - 1; i >= 0; i-- ) {\n\t\t\t\tcur = $( connectWith[ i ], this.document[ 0 ] );\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j-- ) {\n\t\t\t\t\tinst = $.data( cur[ j ], this.widgetFullName );\n\t\t\t\t\tif ( inst && inst !== this && !inst.options.disabled ) {\n\t\t\t\t\t\tqueries.push( [ $.isFunction( inst.options.items ) ?\n\t\t\t\t\t\t\tinst.options.items.call( inst.element ) :\n\t\t\t\t\t\t\t$( inst.options.items, inst.element )\n\t\t\t\t\t\t\t\t.not( \".ui-sortable-helper\" )\n\t\t\t\t\t\t\t\t.not( \".ui-sortable-placeholder\" ), inst ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tqueries.push( [ $.isFunction( this.options.items ) ?\n\t\t\tthis.options.items\n\t\t\t\t.call( this.element, null, { options: this.options, item: this.currentItem } ) :\n\t\t\t$( this.options.items, this.element )\n\t\t\t\t.not( \".ui-sortable-helper\" )\n\t\t\t\t.not( \".ui-sortable-placeholder\" ), this ] );\n\n\t\tfunction addItems() {\n\t\t\titems.push( this );\n\t\t}\n\t\tfor ( i = queries.length - 1; i >= 0; i-- ) {\n\t\t\tqueries[ i ][ 0 ].each( addItems );\n\t\t}\n\n\t\treturn $( items );\n\n\t},\n\n\t_removeCurrentsFromItems: function() {\n\n\t\tvar list = this.currentItem.find( \":data(\" + this.widgetName + \"-item)\" );\n\n\t\tthis.items = $.grep( this.items, function( item ) {\n\t\t\tfor ( var j = 0; j < list.length; j++ ) {\n\t\t\t\tif ( list[ j ] === item.item[ 0 ] ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t},\n\n\t_refreshItems: function( event ) {\n\n\t\tthis.items = [];\n\t\tthis.containers = [ this ];\n\n\t\tvar i, j, cur, inst, targetData, _queries, item, queriesLength,\n\t\t\titems = this.items,\n\t\t\tqueries = [ [ $.isFunction( this.options.items ) ?\n\t\t\t\tthis.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) :\n\t\t\t\t$( this.options.items, this.element ), this ] ],\n\t\t\tconnectWith = this._connectWith();\n\n\t\t//Shouldn't be run the first time through due to massive slow-down\n\t\tif ( connectWith && this.ready ) {\n\t\t\tfor ( i = connectWith.length - 1; i >= 0; i-- ) {\n\t\t\t\tcur = $( connectWith[ i ], this.document[ 0 ] );\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j-- ) {\n\t\t\t\t\tinst = $.data( cur[ j ], this.widgetFullName );\n\t\t\t\t\tif ( inst && inst !== this && !inst.options.disabled ) {\n\t\t\t\t\t\tqueries.push( [ $.isFunction( inst.options.items ) ?\n\t\t\t\t\t\t\tinst.options.items\n\t\t\t\t\t\t\t\t.call( inst.element[ 0 ], event, { item: this.currentItem } ) :\n\t\t\t\t\t\t\t$( inst.options.items, inst.element ), inst ] );\n\t\t\t\t\t\tthis.containers.push( inst );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor ( i = queries.length - 1; i >= 0; i-- ) {\n\t\t\ttargetData = queries[ i ][ 1 ];\n\t\t\t_queries = queries[ i ][ 0 ];\n\n\t\t\tfor ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) {\n\t\t\t\titem = $( _queries[ j ] );\n\n\t\t\t\t// Data for target checking (mouse manager)\n\t\t\t\titem.data( this.widgetName + \"-item\", targetData );\n\n\t\t\t\titems.push( {\n\t\t\t\t\titem: item,\n\t\t\t\t\tinstance: targetData,\n\t\t\t\t\twidth: 0, height: 0,\n\t\t\t\t\tleft: 0, top: 0\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t},\n\n\trefreshPositions: function( fast ) {\n\n\t\t// Determine whether items are being displayed horizontally\n\t\tthis.floating = this.items.length ?\n\t\t\tthis.options.axis === \"x\" || this._isFloating( this.items[ 0 ].item ) :\n\t\t\tfalse;\n\n\t\t//This has to be redone because due to the item being moved out/into the offsetParent,\n\t\t// the offsetParent's position will change\n\t\tif ( this.offsetParent && this.helper ) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\tvar i, item, t, p;\n\n\t\tfor ( i = this.items.length - 1; i >= 0; i-- ) {\n\t\t\titem = this.items[ i ];\n\n\t\t\t//We ignore calculating positions of all connected containers when we're not over them\n\t\t\tif ( item.instance !== this.currentContainer && this.currentContainer &&\n\t\t\t\t\titem.item[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt = this.options.toleranceElement ?\n\t\t\t\t$( this.options.toleranceElement, item.item ) :\n\t\t\t\titem.item;\n\n\t\t\tif ( !fast ) {\n\t\t\t\titem.width = t.outerWidth();\n\t\t\t\titem.height = t.outerHeight();\n\t\t\t}\n\n\t\t\tp = t.offset();\n\t\t\titem.left = p.left;\n\t\t\titem.top = p.top;\n\t\t}\n\n\t\tif ( this.options.custom && this.options.custom.refreshContainers ) {\n\t\t\tthis.options.custom.refreshContainers.call( this );\n\t\t} else {\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tp = this.containers[ i ].element.offset();\n\t\t\t\tthis.containers[ i ].containerCache.left = p.left;\n\t\t\t\tthis.containers[ i ].containerCache.top = p.top;\n\t\t\t\tthis.containers[ i ].containerCache.width =\n\t\t\t\t\tthis.containers[ i ].element.outerWidth();\n\t\t\t\tthis.containers[ i ].containerCache.height =\n\t\t\t\t\tthis.containers[ i ].element.outerHeight();\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_createPlaceholder: function( that ) {\n\t\tthat = that || this;\n\t\tvar className,\n\t\t\to = that.options;\n\n\t\tif ( !o.placeholder || o.placeholder.constructor === String ) {\n\t\t\tclassName = o.placeholder;\n\t\t\to.placeholder = {\n\t\t\t\telement: function() {\n\n\t\t\t\t\tvar nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(),\n\t\t\t\t\t\telement = $( \"<\" + nodeName + \">\", that.document[ 0 ] );\n\n\t\t\t\t\t\tthat._addClass( element, \"ui-sortable-placeholder\",\n\t\t\t\t\t\t\t\tclassName || that.currentItem[ 0 ].className )\n\t\t\t\t\t\t\t._removeClass( element, \"ui-sortable-helper\" );\n\n\t\t\t\t\tif ( nodeName === \"tbody\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder(\n\t\t\t\t\t\t\tthat.currentItem.find( \"tr\" ).eq( 0 ),\n\t\t\t\t\t\t\t$( \"\", that.document[ 0 ] ).appendTo( element )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( nodeName === \"tr\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder( that.currentItem, element );\n\t\t\t\t\t} else if ( nodeName === \"img\" ) {\n\t\t\t\t\t\telement.attr( \"src\", that.currentItem.attr( \"src\" ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !className ) {\n\t\t\t\t\t\telement.css( \"visibility\", \"hidden\" );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn element;\n\t\t\t\t},\n\t\t\t\tupdate: function( container, p ) {\n\n\t\t\t\t\t// 1. If a className is set as 'placeholder option, we don't force sizes -\n\t\t\t\t\t// the class is responsible for that\n\t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled to force it even if a\n\t\t\t\t\t// class name is specified\n\t\t\t\t\tif ( className && !o.forcePlaceholderSize ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t//If the element doesn't have a actual height by itself (without styles coming\n\t\t\t\t\t// from a stylesheet), it receives the inline height from the dragged item\n\t\t\t\t\tif ( !p.height() ) {\n\t\t\t\t\t\tp.height(\n\t\t\t\t\t\t\tthat.currentItem.innerHeight() -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingTop\" ) || 0, 10 ) -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingBottom\" ) || 0, 10 ) );\n\t\t\t\t\t}\n\t\t\t\t\tif ( !p.width() ) {\n\t\t\t\t\t\tp.width(\n\t\t\t\t\t\t\tthat.currentItem.innerWidth() -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingLeft\" ) || 0, 10 ) -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingRight\" ) || 0, 10 ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthat.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) );\n\n\t\t//Append it after the actual current item\n\t\tthat.currentItem.after( that.placeholder );\n\n\t\t//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\n\t\to.placeholder.update( that, that.placeholder );\n\n\t},\n\n\t_createTrPlaceholder: function( sourceTr, targetTr ) {\n\t\tvar that = this;\n\n\t\tsourceTr.children().each( function() {\n\t\t\t$( \" \", that.document[ 0 ] )\n\t\t\t\t.attr( \"colspan\", $( this ).attr( \"colspan\" ) || 1 )\n\t\t\t\t.appendTo( targetTr );\n\t\t} );\n\t},\n\n\t_contactContainers: function( event ) {\n\t\tvar i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom,\n\t\t\tfloating, axis,\n\t\t\tinnermostContainer = null,\n\t\t\tinnermostIndex = null;\n\n\t\t// Get innermost container that intersects with item\n\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\n\t\t\t// Never consider a container that's located within the item itself\n\t\t\tif ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( this._intersectsWith( this.containers[ i ].containerCache ) ) {\n\n\t\t\t\t// If we've already found a container and it's more \"inner\" than this, then continue\n\t\t\t\tif ( innermostContainer &&\n\t\t\t\t\t\t$.contains(\n\t\t\t\t\t\t\tthis.containers[ i ].element[ 0 ],\n\t\t\t\t\t\t\tinnermostContainer.element[ 0 ] ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tinnermostContainer = this.containers[ i ];\n\t\t\t\tinnermostIndex = i;\n\n\t\t\t} else {\n\n\t\t\t\t// container doesn't intersect. trigger \"out\" event if necessary\n\t\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\t\tthis.containers[ i ]._trigger( \"out\", event, this._uiHash( this ) );\n\t\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t// If no intersecting containers found, return\n\t\tif ( !innermostContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Move the item into the container if it's not there already\n\t\tif ( this.containers.length === 1 ) {\n\t\t\tif ( !this.containers[ innermostIndex ].containerCache.over ) {\n\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash( this ) );\n\t\t\t\tthis.containers[ innermostIndex ].containerCache.over = 1;\n\t\t\t}\n\t\t} else {\n\n\t\t\t// When entering a new container, we will find the item with the least distance and\n\t\t\t// append our item near it\n\t\t\tdist = 10000;\n\t\t\titemWithLeastDistance = null;\n\t\t\tfloating = innermostContainer.floating || this._isFloating( this.currentItem );\n\t\t\tposProperty = floating ? \"left\" : \"top\";\n\t\t\tsizeProperty = floating ? \"width\" : \"height\";\n\t\t\taxis = floating ? \"pageX\" : \"pageY\";\n\n\t\t\tfor ( j = this.items.length - 1; j >= 0; j-- ) {\n\t\t\t\tif ( !$.contains(\n\t\t\t\t\t\tthis.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcur = this.items[ j ].item.offset()[ posProperty ];\n\t\t\t\tnearBottom = false;\n\t\t\t\tif ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {\n\t\t\t\t\tnearBottom = true;\n\t\t\t\t}\n\n\t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\n\t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\n\t\t\t\t\titemWithLeastDistance = this.items[ j ];\n\t\t\t\t\tthis.direction = nearBottom ? \"up\" : \"down\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t//Check if dropOnEmpty is enabled\n\t\t\tif ( !itemWithLeastDistance && !this.options.dropOnEmpty ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.currentContainer === this.containers[ innermostIndex ] ) {\n\t\t\t\tif ( !this.currentContainer.containerCache.over ) {\n\t\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash() );\n\t\t\t\t\tthis.currentContainer.containerCache.over = 1;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titemWithLeastDistance ?\n\t\t\t\tthis._rearrange( event, itemWithLeastDistance, null, true ) :\n\t\t\t\tthis._rearrange( event, null, this.containers[ innermostIndex ].element, true );\n\t\t\tthis._trigger( \"change\", event, this._uiHash() );\n\t\t\tthis.containers[ innermostIndex ]._trigger( \"change\", event, this._uiHash( this ) );\n\t\t\tthis.currentContainer = this.containers[ innermostIndex ];\n\n\t\t\t//Update the placeholder\n\t\t\tthis.options.placeholder.update( this.currentContainer, this.placeholder );\n\n\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash( this ) );\n\t\t\tthis.containers[ innermostIndex ].containerCache.over = 1;\n\t\t}\n\n\t},\n\n\t_createHelper: function( event ) {\n\n\t\tvar o = this.options,\n\t\t\thelper = $.isFunction( o.helper ) ?\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) :\n\t\t\t\t( o.helper === \"clone\" ? this.currentItem.clone() : this.currentItem );\n\n\t\t//Add the helper to the DOM if that didn't happen already\n\t\tif ( !helper.parents( \"body\" ).length ) {\n\t\t\t$( o.appendTo !== \"parent\" ?\n\t\t\t\to.appendTo :\n\t\t\t\tthis.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] );\n\t\t}\n\n\t\tif ( helper[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\tthis._storedCSS = {\n\t\t\t\twidth: this.currentItem[ 0 ].style.width,\n\t\t\t\theight: this.currentItem[ 0 ].style.height,\n\t\t\t\tposition: this.currentItem.css( \"position\" ),\n\t\t\t\ttop: this.currentItem.css( \"top\" ),\n\t\t\t\tleft: this.currentItem.css( \"left\" )\n\t\t\t};\n\t\t}\n\n\t\tif ( !helper[ 0 ].style.width || o.forceHelperSize ) {\n\t\t\thelper.width( this.currentItem.width() );\n\t\t}\n\t\tif ( !helper[ 0 ].style.height || o.forceHelperSize ) {\n\t\t\thelper.height( this.currentItem.height() );\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_adjustOffsetFromHelper: function( obj ) {\n\t\tif ( typeof obj === \"string\" ) {\n\t\t\tobj = obj.split( \" \" );\n\t\t}\n\t\tif ( $.isArray( obj ) ) {\n\t\t\tobj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };\n\t\t}\n\t\tif ( \"left\" in obj ) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ( \"right\" in obj ) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ( \"top\" in obj ) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ( \"bottom\" in obj ) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tvar po = this.offsetParent.offset();\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the\n\t\t// following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the\n\t\t// next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't\n\t\t// the document, which means that the scroll is included in the initial calculation of the\n\t\t// offset of the parent, and never recalculated upon drag\n\t\tif ( this.cssPosition === \"absolute\" && this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\t// This needs to be actually done for all browsers, since pageX/pageY includes this\n\t\t// information with an ugly IE fix\n\t\tif ( this.offsetParent[ 0 ] === this.document[ 0 ].body ||\n\t\t\t\t( this.offsetParent[ 0 ].tagName &&\n\t\t\t\tthis.offsetParent[ 0 ].tagName.toLowerCase() === \"html\" && $.ui.ie ) ) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + ( parseInt( this.offsetParent.css( \"borderTopWidth\" ), 10 ) || 0 ),\n\t\t\tleft: po.left + ( parseInt( this.offsetParent.css( \"borderLeftWidth\" ), 10 ) || 0 )\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\n\t\tif ( this.cssPosition === \"relative\" ) {\n\t\t\tvar p = this.currentItem.position();\n\t\t\treturn {\n\t\t\t\ttop: p.top - ( parseInt( this.helper.css( \"top\" ), 10 ) || 0 ) +\n\t\t\t\t\tthis.scrollParent.scrollTop(),\n\t\t\t\tleft: p.left - ( parseInt( this.helper.css( \"left\" ), 10 ) || 0 ) +\n\t\t\t\t\tthis.scrollParent.scrollLeft()\n\t\t\t};\n\t\t} else {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: ( parseInt( this.currentItem.css( \"marginLeft\" ), 10 ) || 0 ),\n\t\t\ttop: ( parseInt( this.currentItem.css( \"marginTop\" ), 10 ) || 0 )\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar ce, co, over,\n\t\t\to = this.options;\n\t\tif ( o.containment === \"parent\" ) {\n\t\t\to.containment = this.helper[ 0 ].parentNode;\n\t\t}\n\t\tif ( o.containment === \"document\" || o.containment === \"window\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t0 - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\to.containment === \"document\" ?\n\t\t\t\t\tthis.document.width() :\n\t\t\t\t\tthis.window.width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t( o.containment === \"document\" ?\n\t\t\t\t\t( this.document.height() || document.body.parentNode.scrollHeight ) :\n\t\t\t\t\tthis.window.height() || this.document[ 0 ].body.parentNode.scrollHeight\n\t\t\t\t) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t\tif ( !( /^(document|window|parent)$/ ).test( o.containment ) ) {\n\t\t\tce = $( o.containment )[ 0 ];\n\t\t\tco = $( o.containment ).offset();\n\t\t\tover = ( $( ce ).css( \"overflow\" ) !== \"hidden\" );\n\n\t\t\tthis.containment = [\n\t\t\t\tco.left + ( parseInt( $( ce ).css( \"borderLeftWidth\" ), 10 ) || 0 ) +\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingLeft\" ), 10 ) || 0 ) - this.margins.left,\n\t\t\t\tco.top + ( parseInt( $( ce ).css( \"borderTopWidth\" ), 10 ) || 0 ) +\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingTop\" ), 10 ) || 0 ) - this.margins.top,\n\t\t\t\tco.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"borderLeftWidth\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingRight\" ), 10 ) || 0 ) -\n\t\t\t\t\tthis.helperProportions.width - this.margins.left,\n\t\t\t\tco.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"borderTopWidth\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingBottom\" ), 10 ) || 0 ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t},\n\n\t_convertPositionTo: function( d, pos ) {\n\n\t\tif ( !pos ) {\n\t\t\tpos = this.position;\n\t\t}\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscroll = this.cssPosition === \"absolute\" &&\n\t\t\t\t!( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ?\n\t\t\t\t\tthis.offsetParent :\n\t\t\t\t\tthis.scrollParent,\n\t\t\tscrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.top\t+\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top * mod -\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollTop() :\n\t\t\t\t\t( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.left +\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left * mod\t-\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 :\n\t\t\t\t\tscroll.scrollLeft() ) * mod )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function( event ) {\n\n\t\tvar top, left,\n\t\t\to = this.options,\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY,\n\t\t\tscroll = this.cssPosition === \"absolute\" &&\n\t\t\t\t!( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ?\n\t\t\t\t\tthis.offsetParent :\n\t\t\t\t\tthis.scrollParent,\n\t\t\t\tscrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );\n\n\t\t// This is another very weird special case that only happens for relative elements:\n\t\t// 1. If the css position is relative\n\t\t// 2. and the scroll parent is the document or similar to the offset parent\n\t\t// we have to refresh the relative offset during the scroll so there are no jumps\n\t\tif ( this.cssPosition === \"relative\" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\tthis.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) {\n\t\t\tthis.offset.relative = this._getRelativeOffset();\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\tif ( this.originalPosition ) { //If we are not dragging yet, we won't check for options\n\n\t\t\tif ( this.containment ) {\n\t\t\t\tif ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) {\n\t\t\t\t\tpageX = this.containment[ 0 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) {\n\t\t\t\t\tpageY = this.containment[ 1 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) {\n\t\t\t\t\tpageX = this.containment[ 2 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) {\n\t\t\t\t\tpageY = this.containment[ 3 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( o.grid ) {\n\t\t\t\ttop = this.originalPageY + Math.round( ( pageY - this.originalPageY ) /\n\t\t\t\t\to.grid[ 1 ] ) * o.grid[ 1 ];\n\t\t\t\tpageY = this.containment ?\n\t\t\t\t\t( ( top - this.offset.click.top >= this.containment[ 1 ] &&\n\t\t\t\t\t\ttop - this.offset.click.top <= this.containment[ 3 ] ) ?\n\t\t\t\t\t\t\ttop :\n\t\t\t\t\t\t\t( ( top - this.offset.click.top >= this.containment[ 1 ] ) ?\n\t\t\t\t\t\t\t\ttop - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) :\n\t\t\t\t\t\t\t\ttop;\n\n\t\t\t\tleft = this.originalPageX + Math.round( ( pageX - this.originalPageX ) /\n\t\t\t\t\to.grid[ 0 ] ) * o.grid[ 0 ];\n\t\t\t\tpageX = this.containment ?\n\t\t\t\t\t( ( left - this.offset.click.left >= this.containment[ 0 ] &&\n\t\t\t\t\t\tleft - this.offset.click.left <= this.containment[ 2 ] ) ?\n\t\t\t\t\t\t\tleft :\n\t\t\t\t\t\t\t( ( left - this.offset.click.left >= this.containment[ 0 ] ) ?\n\t\t\t\t\t\t\t\tleft - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) :\n\t\t\t\t\t\t\t\tleft;\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageY -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.top -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top +\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollTop() :\n\t\t\t\t\t( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageX -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.left -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left +\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollLeft() :\n\t\t\t\t\tscrollIsRootNode ? 0 : scroll.scrollLeft() ) )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_rearrange: function( event, i, a, hardRefresh ) {\n\n\t\ta ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) :\n\t\t\ti.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ],\n\t\t\t\t( this.direction === \"down\" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) );\n\n\t\t//Various things done here to improve the performance:\n\t\t// 1. we create a setTimeout, that calls refreshPositions\n\t\t// 2. on the instance, we have a counter variable, that get's higher after every append\n\t\t// 3. on the local scope, we copy the counter variable, and check in the timeout,\n\t\t// if it's still the same\n\t\t// 4. this lets only the last addition to the timeout stack through\n\t\tthis.counter = this.counter ? ++this.counter : 1;\n\t\tvar counter = this.counter;\n\n\t\tthis._delay( function() {\n\t\t\tif ( counter === this.counter ) {\n\n\t\t\t\t//Precompute after each DOM insertion, NOT on mousemove\n\t\t\t\tthis.refreshPositions( !hardRefresh );\n\t\t\t}\n\t\t} );\n\n\t},\n\n\t_clear: function( event, noPropagation ) {\n\n\t\tthis.reverting = false;\n\n\t\t// We delay all events that have to be triggered to after the point where the placeholder\n\t\t// has been removed and everything else normalized again\n\t\tvar i,\n\t\t\tdelayedTriggers = [];\n\n\t\t// We first have to update the dom position of the actual currentItem\n\t\t// Note: don't do it if the current item is already removed (by a user), or it gets\n\t\t// reappended (see #4088)\n\t\tif ( !this._noFinalSort && this.currentItem.parent().length ) {\n\t\t\tthis.placeholder.before( this.currentItem );\n\t\t}\n\t\tthis._noFinalSort = null;\n\n\t\tif ( this.helper[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\tfor ( i in this._storedCSS ) {\n\t\t\t\tif ( this._storedCSS[ i ] === \"auto\" || this._storedCSS[ i ] === \"static\" ) {\n\t\t\t\t\tthis._storedCSS[ i ] = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.currentItem.css( this._storedCSS );\n\t\t\tthis._removeClass( this.currentItem, \"ui-sortable-helper\" );\n\t\t} else {\n\t\t\tthis.currentItem.show();\n\t\t}\n\n\t\tif ( this.fromOutside && !noPropagation ) {\n\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\tthis._trigger( \"receive\", event, this._uiHash( this.fromOutside ) );\n\t\t\t} );\n\t\t}\n\t\tif ( ( this.fromOutside ||\n\t\t\t\tthis.domPosition.prev !==\n\t\t\t\tthis.currentItem.prev().not( \".ui-sortable-helper\" )[ 0 ] ||\n\t\t\t\tthis.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) {\n\n\t\t\t// Trigger update callback if the DOM position has changed\n\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\tthis._trigger( \"update\", event, this._uiHash() );\n\t\t\t} );\n\t\t}\n\n\t\t// Check if the items Container has Changed and trigger appropriate\n\t\t// events.\n\t\tif ( this !== this.currentContainer ) {\n\t\t\tif ( !noPropagation ) {\n\t\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\t\tthis._trigger( \"remove\", event, this._uiHash() );\n\t\t\t\t} );\n\t\t\t\tdelayedTriggers.push( ( function( c ) {\n\t\t\t\t\treturn function( event ) {\n\t\t\t\t\t\tc._trigger( \"receive\", event, this._uiHash( this ) );\n\t\t\t\t\t};\n\t\t\t\t} ).call( this, this.currentContainer ) );\n\t\t\t\tdelayedTriggers.push( ( function( c ) {\n\t\t\t\t\treturn function( event ) {\n\t\t\t\t\t\tc._trigger( \"update\", event, this._uiHash( this ) );\n\t\t\t\t\t};\n\t\t\t\t} ).call( this, this.currentContainer ) );\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tfunction delayEvent( type, instance, container ) {\n\t\t\treturn function( event ) {\n\t\t\t\tcontainer._trigger( type, event, instance._uiHash( instance ) );\n\t\t\t};\n\t\t}\n\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\tif ( !noPropagation ) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"deactivate\", this, this.containers[ i ] ) );\n\t\t\t}\n\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"out\", this, this.containers[ i ] ) );\n\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t}\n\t\t}\n\n\t\t//Do what was originally in plugins\n\t\tif ( this.storedCursor ) {\n\t\t\tthis.document.find( \"body\" ).css( \"cursor\", this.storedCursor );\n\t\t\tthis.storedStylesheet.remove();\n\t\t}\n\t\tif ( this._storedOpacity ) {\n\t\t\tthis.helper.css( \"opacity\", this._storedOpacity );\n\t\t}\n\t\tif ( this._storedZIndex ) {\n\t\t\tthis.helper.css( \"zIndex\", this._storedZIndex === \"auto\" ? \"\" : this._storedZIndex );\n\t\t}\n\n\t\tthis.dragging = false;\n\n\t\tif ( !noPropagation ) {\n\t\t\tthis._trigger( \"beforeStop\", event, this._uiHash() );\n\t\t}\n\n\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n\t\t// it unbinds ALL events from the original node!\n\t\tthis.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );\n\n\t\tif ( !this.cancelHelperRemoval ) {\n\t\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\t\t\tthis.helper = null;\n\t\t}\n\n\t\tif ( !noPropagation ) {\n\t\t\tfor ( i = 0; i < delayedTriggers.length; i++ ) {\n\n\t\t\t\t// Trigger all delayed events\n\t\t\t\tdelayedTriggers[ i ].call( this, event );\n\t\t\t}\n\t\t\tthis._trigger( \"stop\", event, this._uiHash() );\n\t\t}\n\n\t\tthis.fromOutside = false;\n\t\treturn !this.cancelHelperRemoval;\n\n\t},\n\n\t_trigger: function() {\n\t\tif ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) {\n\t\t\tthis.cancel();\n\t\t}\n\t},\n\n\t_uiHash: function( _inst ) {\n\t\tvar inst = _inst || this;\n\t\treturn {\n\t\t\thelper: inst.helper,\n\t\t\tplaceholder: inst.placeholder || $( [] ),\n\t\t\tposition: inst.position,\n\t\t\toriginalPosition: inst.originalPosition,\n\t\t\toffset: inst.positionAbs,\n\t\t\titem: inst.currentItem,\n\t\t\tsender: _inst ? _inst.element : null\n\t\t};\n\t}\n\n} );\n\n\n\nvar safeActiveElement = $.ui.safeActiveElement = function( document ) {\n\tvar activeElement;\n\n\t// Support: IE 9 only\n\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an ');\r\n else\r\n lyr1 = $('
      ');\r\n\r\n if (opts.theme)\r\n lyr2 = $('
      ');\r\n else\r\n lyr2 = $('
      ');\r\n\r\n if (opts.theme && full) {\r\n s = '';\r\n }\r\n else if (opts.theme) {\r\n s = '';\r\n }\r\n else if (full) {\r\n s = '';\r\n }\r\n else {\r\n s = '';\r\n }\r\n lyr3 = $(s);\r\n\r\n // if we have a message, style it\r\n if (msg) {\r\n if (opts.theme) {\r\n lyr3.css(themedCSS);\r\n lyr3.addClass('ui-widget-content');\r\n }\r\n else\r\n lyr3.css(css);\r\n }\r\n\r\n // style the overlay\r\n if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)\r\n lyr2.css(opts.overlayCSS);\r\n lyr2.css('position', full ? 'fixed' : 'absolute');\r\n\r\n // make iframe layer transparent in IE\r\n if (msie || opts.forceIframe)\r\n lyr1.css('opacity',0.0);\r\n\r\n //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);\r\n var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);\r\n $.each(layers, function() {\r\n this.appendTo($par);\r\n });\r\n\r\n if (opts.theme && opts.draggable && $.fn.draggable) {\r\n lyr3.draggable({\r\n handle: '.ui-dialog-titlebar',\r\n cancel: 'li'\r\n });\r\n }\r\n\r\n // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)\r\n var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);\r\n if (ie6 || expr) {\r\n // give body 100% height\r\n if (full && opts.allowBodyStretch && $.support.boxModel)\r\n $('html,body').css('height','100%');\r\n\r\n // fix ie6 issue when blocked element has a border width\r\n if ((ie6 || !$.support.boxModel) && !full) {\r\n var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');\r\n var fixT = t ? '(0 - '+t+')' : 0;\r\n var fixL = l ? '(0 - '+l+')' : 0;\r\n }\r\n\r\n // simulate fixed position\r\n $.each(layers, function(i,o) {\r\n var s = o[0].style;\r\n s.position = 'absolute';\r\n if (i < 2) {\r\n if (full)\r\n s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + \"px\"');\r\n else\r\n s.setExpression('height','this.parentNode.offsetHeight + \"px\"');\r\n if (full)\r\n s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + \"px\"');\r\n else\r\n s.setExpression('width','this.parentNode.offsetWidth + \"px\"');\r\n if (fixL) s.setExpression('left', fixL);\r\n if (fixT) s.setExpression('top', fixT);\r\n }\r\n else if (opts.centerY) {\r\n if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"');\r\n s.marginTop = 0;\r\n }\r\n else if (!opts.centerY && full) {\r\n var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;\r\n var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + \"px\"';\r\n s.setExpression('top',expression);\r\n }\r\n });\r\n }\r\n\r\n // show the message\r\n if (msg) {\r\n if (opts.theme)\r\n lyr3.find('.ui-widget-content').append(msg);\r\n else\r\n lyr3.append(msg);\r\n if (msg.jquery || msg.nodeType)\r\n $(msg).show();\r\n }\r\n\r\n if ((msie || opts.forceIframe) && opts.showOverlay)\r\n lyr1.show(); // opacity is zero\r\n if (opts.fadeIn) {\r\n var cb = opts.onBlock ? opts.onBlock : noOp;\r\n var cb1 = (opts.showOverlay && !msg) ? cb : noOp;\r\n var cb2 = msg ? cb : noOp;\r\n if (opts.showOverlay)\r\n lyr2._fadeIn(opts.fadeIn, cb1);\r\n if (msg)\r\n lyr3._fadeIn(opts.fadeIn, cb2);\r\n }\r\n else {\r\n if (opts.showOverlay)\r\n lyr2.show();\r\n if (msg)\r\n lyr3.show();\r\n if (opts.onBlock)\r\n opts.onBlock.bind(lyr3)();\r\n }\r\n\r\n // bind key and mouse events\r\n bind(1, el, opts);\r\n\r\n if (full) {\r\n pageBlock = lyr3[0];\r\n pageBlockEls = $(opts.focusableElements,pageBlock);\r\n if (opts.focusInput)\r\n setTimeout(focus, 20);\r\n }\r\n else\r\n center(lyr3[0], opts.centerX, opts.centerY);\r\n\r\n if (opts.timeout) {\r\n // auto-unblock\r\n var to = setTimeout(function() {\r\n if (full)\r\n $.unblockUI(opts);\r\n else\r\n $(el).unblock(opts);\r\n }, opts.timeout);\r\n $(el).data('blockUI.timeout', to);\r\n }\r\n }\r\n\r\n // remove the block\r\n function remove(el, opts) {\r\n var count;\r\n var full = (el == window);\r\n var $el = $(el);\r\n var data = $el.data('blockUI.history');\r\n var to = $el.data('blockUI.timeout');\r\n if (to) {\r\n clearTimeout(to);\r\n $el.removeData('blockUI.timeout');\r\n }\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n bind(0, el, opts); // unbind events\r\n\r\n if (opts.onUnblock === null) {\r\n opts.onUnblock = $el.data('blockUI.onUnblock');\r\n $el.removeData('blockUI.onUnblock');\r\n }\r\n\r\n var els;\r\n if (full) // crazy selector to handle odd field errors in ie6/7\r\n els = $('body').children().filter('.blockUI').add('body > .blockUI');\r\n else\r\n els = $el.find('>.blockUI');\r\n\r\n // fix cursor issue\r\n if ( opts.cursorReset ) {\r\n if ( els.length > 1 )\r\n els[1].style.cursor = opts.cursorReset;\r\n if ( els.length > 2 )\r\n els[2].style.cursor = opts.cursorReset;\r\n }\r\n\r\n if (full)\r\n pageBlock = pageBlockEls = null;\r\n\r\n if (opts.fadeOut) {\r\n count = els.length;\r\n els.stop().fadeOut(opts.fadeOut, function() {\r\n if ( --count === 0)\r\n reset(els,data,opts,el);\r\n });\r\n }\r\n else\r\n reset(els, data, opts, el);\r\n }\r\n\r\n // move blocking element back into the DOM where it started\r\n function reset(els,data,opts,el) {\r\n var $el = $(el);\r\n if ( $el.data('blockUI.isBlocked') )\r\n return;\r\n\r\n els.each(function(i,o) {\r\n // remove via DOM calls so we don't lose event handlers\r\n if (this.parentNode)\r\n this.parentNode.removeChild(this);\r\n });\r\n\r\n if (data && data.el) {\r\n data.el.style.display = data.display;\r\n data.el.style.position = data.position;\r\n data.el.style.cursor = 'default'; // #59\r\n if (data.parent)\r\n data.parent.appendChild(data.el);\r\n $el.removeData('blockUI.history');\r\n }\r\n\r\n if ($el.data('blockUI.static')) {\r\n $el.css('position', 'static'); // #22\r\n }\r\n\r\n if (typeof opts.onUnblock == 'function')\r\n opts.onUnblock(el,opts);\r\n\r\n // fix issue in Safari 6 where block artifacts remain until reflow\r\n var body = $(document.body), w = body.width(), cssW = body[0].style.width;\r\n body.width(w-1).width(w);\r\n body[0].style.width = cssW;\r\n }\r\n\r\n // bind/unbind the handler\r\n function bind(b, el, opts) {\r\n var full = el == window, $el = $(el);\r\n\r\n // don't bother unbinding if there is nothing to unbind\r\n if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))\r\n return;\r\n\r\n $el.data('blockUI.isBlocked', b);\r\n\r\n // don't bind events when overlay is not in use or if bindEvents is false\r\n if (!full || !opts.bindEvents || (b && !opts.showOverlay))\r\n return;\r\n\r\n // bind anchors and inputs for mouse and key events\r\n var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';\r\n if (b)\r\n $(document).bind(events, opts, handler);\r\n else\r\n $(document).unbind(events, handler);\r\n\r\n // former impl...\r\n //\t\tvar $e = $('a,:input');\r\n //\t\tb ? $e.bind(events, opts, handler) : $e.unbind(events, handler);\r\n }\r\n\r\n // event handler to suppress keyboard/mouse events when blocking\r\n function handler(e) {\r\n // allow tab navigation (conditionally)\r\n if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {\r\n if (pageBlock && e.data.constrainTabKey) {\r\n var els = pageBlockEls;\r\n var fwd = !e.shiftKey && e.target === els[els.length-1];\r\n var back = e.shiftKey && e.target === els[0];\r\n if (fwd || back) {\r\n setTimeout(function(){focus(back);},10);\r\n return false;\r\n }\r\n }\r\n }\r\n var opts = e.data;\r\n var target = $(e.target);\r\n if (target.hasClass('blockOverlay') && opts.onOverlayClick)\r\n opts.onOverlayClick(e);\r\n\r\n // allow events within the message content\r\n if (target.parents('div.' + opts.blockMsgClass).length > 0)\r\n return true;\r\n\r\n // allow events for content that is not being blocked\r\n return target.parents().children().filter('div.blockUI').length === 0;\r\n }\r\n\r\n function focus(back) {\r\n if (!pageBlockEls)\r\n return;\r\n var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];\r\n if (e)\r\n e.focus();\r\n }\r\n\r\n function center(el, x, y) {\r\n var p = el.parentNode, s = el.style;\r\n var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');\r\n var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');\r\n if (x) s.left = l > 0 ? (l+'px') : '0';\r\n if (y) s.top = t > 0 ? (t+'px') : '0';\r\n }\r\n\r\n function sz(el, p) {\r\n return parseInt($.css(el,p),10)||0;\r\n }\r\n\r\n }\r\n\r\n\r\n /*global define:true */\r\n if (typeof define === 'function' && define.amd && define.amd.jQuery) {\r\n define(['jquery'], setup);\r\n } else {\r\n setup(jQuery);\r\n }\r\n\r\n})();","/*!\r\n * v0.1.5\r\n * Copyright (c) 2014 First Opinion\r\n * formatter.js is open sourced under the MIT license.\r\n *\r\n * thanks to digitalBush/jquery.maskedinput for some of the trickier\r\n * keycode handling\r\n */ \r\n\r\n//\r\n// Uses CommonJS, AMD or browser globals to create a jQuery plugin.\r\n//\r\n// Similar to jqueryPlugin.js but also tries to\r\n// work in a CommonJS environment.\r\n// It is unlikely jQuery will run in a CommonJS\r\n// environment. See jqueryPlugin.js if you do\r\n// not want to add the extra CommonJS detection.\r\n//\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['jQuery'], factory);\r\n } else if (typeof exports === 'object') {\r\n factory(require('jQuery'));\r\n } else {\r\n // Browser globals\r\n factory(root.jQuery);\r\n }\r\n}(this, function (jQuery) {\r\n\r\n\r\n/*\r\n * pattern.js\r\n *\r\n * Utilities to parse str pattern and return info\r\n *\r\n */\r\nvar pattern = function () {\r\n // Define module\r\n var pattern = {};\r\n // Match information\r\n var DELIM_SIZE = 4;\r\n // Our regex used to parse\r\n var regexp = new RegExp('{{([^}]+)}}', 'g');\r\n //\r\n // Helper method to parse pattern str\r\n //\r\n var getMatches = function (pattern) {\r\n // Populate array of matches\r\n var matches = [], match;\r\n while (match = regexp.exec(pattern)) {\r\n matches.push(match);\r\n }\r\n return matches;\r\n };\r\n //\r\n // Create an object holding all formatted characters\r\n // with corresponding positions\r\n //\r\n pattern.parse = function (pattern) {\r\n // Our obj to populate\r\n var info = {\r\n inpts: {},\r\n chars: {}\r\n };\r\n // Pattern information\r\n var matches = getMatches(pattern), pLength = pattern.length;\r\n // Counters\r\n var mCount = 0, iCount = 0, i = 0;\r\n // Add inpts, move to end of match, and process\r\n var processMatch = function (val) {\r\n var valLength = val.length;\r\n for (var j = 0; j < valLength; j++) {\r\n info.inpts[iCount] = val.charAt(j);\r\n iCount++;\r\n }\r\n mCount++;\r\n i += val.length + DELIM_SIZE - 1;\r\n };\r\n // Process match or add chars\r\n for (i; i < pLength; i++) {\r\n if (mCount < matches.length && i === matches[mCount].index) {\r\n processMatch(matches[mCount][1]);\r\n } else {\r\n info.chars[i - mCount * DELIM_SIZE] = pattern.charAt(i);\r\n }\r\n }\r\n // Set mLength and return\r\n info.mLength = i - mCount * DELIM_SIZE;\r\n return info;\r\n };\r\n // Expose\r\n return pattern;\r\n }();\r\n/*\r\n * utils.js\r\n *\r\n * Independent helper methods (cross browser, etc..)\r\n *\r\n */\r\nvar utils = function () {\r\n // Define module\r\n var utils = {};\r\n // Useragent info for keycode handling\r\n var uAgent = typeof navigator !== 'undefined' ? navigator.userAgent : null;\r\n //\r\n // Shallow copy properties from n objects to destObj\r\n //\r\n utils.extend = function (destObj) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n for (var key in arguments[i]) {\r\n destObj[key] = arguments[i][key];\r\n }\r\n }\r\n return destObj;\r\n };\r\n //\r\n // Add a given character to a string at a defined pos\r\n //\r\n utils.addChars = function (str, chars, pos) {\r\n return str.substr(0, pos) + chars + str.substr(pos, str.length);\r\n };\r\n //\r\n // Remove a span of characters\r\n //\r\n utils.removeChars = function (str, start, end) {\r\n return str.substr(0, start) + str.substr(end, str.length);\r\n };\r\n //\r\n // Return true/false is num false between bounds\r\n //\r\n utils.isBetween = function (num, bounds) {\r\n bounds.sort(function (a, b) {\r\n return a - b;\r\n });\r\n return num > bounds[0] && num < bounds[1];\r\n };\r\n //\r\n // Helper method for cross browser event listeners\r\n //\r\n utils.addListener = function (el, evt, handler) {\r\n return typeof el.addEventListener !== 'undefined' ? el.addEventListener(evt, handler, false) : el.attachEvent('on' + evt, handler);\r\n };\r\n //\r\n // Helper method for cross browser implementation of preventDefault\r\n //\r\n utils.preventDefault = function (evt) {\r\n return evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;\r\n };\r\n //\r\n // Helper method for cross browser implementation for grabbing\r\n // clipboard data\r\n //\r\n utils.getClip = function (evt) {\r\n if (evt.clipboardData) {\r\n return evt.clipboardData.getData('Text');\r\n }\r\n if (window.clipboardData) {\r\n return window.clipboardData.getData('Text');\r\n }\r\n };\r\n //\r\n // Loop over object and checking for matching properties\r\n //\r\n utils.getMatchingKey = function (which, keyCode, keys) {\r\n // Loop over and return if matched.\r\n for (var k in keys) {\r\n var key = keys[k];\r\n if (which === key.which && keyCode === key.keyCode) {\r\n return k;\r\n }\r\n }\r\n };\r\n //\r\n // Returns true/false if k is a del keyDown\r\n //\r\n utils.isDelKeyDown = function (which, keyCode) {\r\n var keys = {\r\n 'backspace': {\r\n 'which': 8,\r\n 'keyCode': 8\r\n },\r\n 'delete': {\r\n 'which': 46,\r\n 'keyCode': 46\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n //\r\n // Returns true/false if k is a del keyPress\r\n //\r\n utils.isDelKeyPress = function (which, keyCode) {\r\n var keys = {\r\n 'backspace': {\r\n 'which': 8,\r\n 'keyCode': 8,\r\n 'shiftKey': false\r\n },\r\n 'delete': {\r\n 'which': 0,\r\n 'keyCode': 46\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n // //\r\n // // Determine if keydown relates to specialKey\r\n // //\r\n // utils.isSpecialKeyDown = function (which, keyCode) {\r\n // var keys = {\r\n // 'tab': { 'which': 9, 'keyCode': 9 },\r\n // 'enter': { 'which': 13, 'keyCode': 13 },\r\n // 'end': { 'which': 35, 'keyCode': 35 },\r\n // 'home': { 'which': 36, 'keyCode': 36 },\r\n // 'leftarrow': { 'which': 37, 'keyCode': 37 },\r\n // 'uparrow': { 'which': 38, 'keyCode': 38 },\r\n // 'rightarrow': { 'which': 39, 'keyCode': 39 },\r\n // 'downarrow': { 'which': 40, 'keyCode': 40 },\r\n // 'F5': { 'which': 116, 'keyCode': 116 }\r\n // };\r\n // return utils.getMatchingKey(which, keyCode, keys);\r\n // };\r\n //\r\n // Determine if keypress relates to specialKey\r\n //\r\n utils.isSpecialKeyPress = function (which, keyCode) {\r\n var keys = {\r\n 'tab': {\r\n 'which': 0,\r\n 'keyCode': 9\r\n },\r\n 'enter': {\r\n 'which': 13,\r\n 'keyCode': 13\r\n },\r\n 'end': {\r\n 'which': 0,\r\n 'keyCode': 35\r\n },\r\n 'home': {\r\n 'which': 0,\r\n 'keyCode': 36\r\n },\r\n 'leftarrow': {\r\n 'which': 0,\r\n 'keyCode': 37\r\n },\r\n 'uparrow': {\r\n 'which': 0,\r\n 'keyCode': 38\r\n },\r\n 'rightarrow': {\r\n 'which': 0,\r\n 'keyCode': 39\r\n },\r\n 'downarrow': {\r\n 'which': 0,\r\n 'keyCode': 40\r\n },\r\n 'F5': {\r\n 'which': 116,\r\n 'keyCode': 116\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n //\r\n // Returns true/false if modifier key is held down\r\n //\r\n utils.isModifier = function (evt) {\r\n return evt.ctrlKey || evt.altKey || evt.metaKey;\r\n };\r\n //\r\n // Iterates over each property of object or array.\r\n //\r\n utils.forEach = function (collection, callback, thisArg) {\r\n if (collection.hasOwnProperty('length')) {\r\n for (var index = 0, len = collection.length; index < len; index++) {\r\n if (callback.call(thisArg, collection[index], index, collection) === false) {\r\n break;\r\n }\r\n }\r\n } else {\r\n for (var key in collection) {\r\n if (collection.hasOwnProperty(key)) {\r\n if (callback.call(thisArg, collection[key], key, collection) === false) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n // Expose\r\n return utils;\r\n }();\r\n/*\r\n* pattern-matcher.js\r\n*\r\n* Parses a pattern specification and determines appropriate pattern for an\r\n* input string\r\n*\r\n*/\r\nvar patternMatcher = function (pattern, utils) {\r\n //\r\n // Parse a matcher string into a RegExp. Accepts valid regular\r\n // expressions and the catchall '*'.\r\n // @private\r\n //\r\n var parseMatcher = function (matcher) {\r\n if (matcher === '*') {\r\n return /.*/;\r\n }\r\n return new RegExp(matcher);\r\n };\r\n //\r\n // Parse a pattern spec and return a function that returns a pattern\r\n // based on user input. The first matching pattern will be chosen.\r\n // Pattern spec format:\r\n // Array [\r\n // Object: { Matcher(RegExp String) : Pattern(Pattern String) },\r\n // ...\r\n // ]\r\n function patternMatcher(patternSpec) {\r\n var matchers = [], patterns = [];\r\n // Iterate over each pattern in order.\r\n utils.forEach(patternSpec, function (patternMatcher) {\r\n // Process single property object to obtain pattern and matcher.\r\n utils.forEach(patternMatcher, function (patternStr, matcherStr) {\r\n var parsedPattern = pattern.parse(patternStr), regExpMatcher = parseMatcher(matcherStr);\r\n matchers.push(regExpMatcher);\r\n patterns.push(parsedPattern);\r\n // Stop after one iteration.\r\n return false;\r\n });\r\n });\r\n var getPattern = function (input) {\r\n var matchedIndex;\r\n utils.forEach(matchers, function (matcher, index) {\r\n if (matcher.test(input)) {\r\n matchedIndex = index;\r\n return false;\r\n }\r\n });\r\n return matchedIndex === undefined ? null : patterns[matchedIndex];\r\n };\r\n return {\r\n getPattern: getPattern,\r\n patterns: patterns,\r\n matchers: matchers\r\n };\r\n }\r\n // Expose\r\n return patternMatcher;\r\n }(pattern, utils);\r\n/*\r\n * inpt-sel.js\r\n *\r\n * Cross browser implementation to get and set input selections\r\n *\r\n */\r\nvar inptSel = function () {\r\n // Define module\r\n var inptSel = {};\r\n //\r\n // Get begin and end positions of selected input. Return 0's\r\n // if there is no selectiion data\r\n //\r\n inptSel.get = function (el) {\r\n // If normal browser return with result\r\n if (typeof el.selectionStart === 'number') {\r\n return {\r\n begin: el.selectionStart,\r\n end: el.selectionEnd\r\n };\r\n }\r\n // Uh-Oh. We must be IE. Fun with TextRange!!\r\n var range = document.selection.createRange();\r\n // Determine if there is a selection\r\n if (range && range.parentElement() === el) {\r\n var inputRange = el.createTextRange(), endRange = el.createTextRange(), length = el.value.length;\r\n // Create a working TextRange for the input selection\r\n inputRange.moveToBookmark(range.getBookmark());\r\n // Move endRange begin pos to end pos (hence endRange)\r\n endRange.collapse(false);\r\n // If we are at the very end of the input, begin and end\r\n // must both be the length of the el.value\r\n if (inputRange.compareEndPoints('StartToEnd', endRange) > -1) {\r\n return {\r\n begin: length,\r\n end: length\r\n };\r\n }\r\n // Note: moveStart usually returns the units moved, which \r\n // one may think is -length, however, it will stop when it\r\n // gets to the begin of the range, thus giving us the\r\n // negative value of the pos.\r\n return {\r\n begin: -inputRange.moveStart('character', -length),\r\n end: -inputRange.moveEnd('character', -length)\r\n };\r\n }\r\n //Return 0's on no selection data\r\n return {\r\n begin: 0,\r\n end: 0\r\n };\r\n };\r\n //\r\n // Set the caret position at a specified location\r\n //\r\n inptSel.set = function (el, pos) {\r\n // Normalize pos\r\n if (typeof pos !== 'object') {\r\n pos = {\r\n begin: pos,\r\n end: pos\r\n };\r\n }\r\n // If normal browser\r\n if (el.setSelectionRange) {\r\n el.focus();\r\n el.setSelectionRange(pos.begin, pos.end);\r\n } else if (el.createTextRange) {\r\n var range = el.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos.end);\r\n range.moveStart('character', pos.begin);\r\n range.select();\r\n }\r\n };\r\n // Expose\r\n return inptSel;\r\n }();\r\n/*\r\n * formatter.js\r\n *\r\n * Class used to format input based on passed pattern\r\n *\r\n */\r\nvar formatter = function (patternMatcher, inptSel, utils) {\r\n // Defaults\r\n var defaults = {\r\n persistent: false,\r\n repeat: false,\r\n placeholder: ' '\r\n };\r\n // Regexs for input validation\r\n var inptRegs = {\r\n '9': /[0-9]/,\r\n 'a': /[A-Za-z]/,\r\n '*': /[A-Za-z0-9]/\r\n };\r\n //\r\n // Class Constructor - Called with new Formatter(el, opts)\r\n // Responsible for setting up required instance variables, and\r\n // attaching the event listener to the element.\r\n //\r\n function Formatter(el, opts) {\r\n // Cache this\r\n var self = this;\r\n // Make sure we have an element. Make accesible to instance\r\n self.el = el;\r\n if (!self.el) {\r\n throw new TypeError('Must provide an existing element');\r\n }\r\n // Merge opts with defaults\r\n self.opts = utils.extend({}, defaults, opts);\r\n // 1 pattern is special case\r\n if (typeof self.opts.pattern !== 'undefined') {\r\n self.opts.patterns = self._specFromSinglePattern(self.opts.pattern);\r\n delete self.opts.pattern;\r\n }\r\n // Make sure we have valid opts\r\n if (typeof self.opts.patterns === 'undefined') {\r\n throw new TypeError('Must provide a pattern or array of patterns');\r\n }\r\n self.patternMatcher = patternMatcher(self.opts.patterns);\r\n // Upate pattern with initial value\r\n self._updatePattern();\r\n // Init values\r\n self.hldrs = {};\r\n self.focus = 0;\r\n // Add Listeners\r\n utils.addListener(self.el, 'keydown', function (evt) {\r\n self._keyDown(evt);\r\n });\r\n utils.addListener(self.el, 'keypress', function (evt) {\r\n self._keyPress(evt);\r\n });\r\n utils.addListener(self.el, 'paste', function (evt) {\r\n self._paste(evt);\r\n });\r\n // Persistence\r\n if (self.opts.persistent) {\r\n // Format on start\r\n self._processKey('', false);\r\n self.el.blur();\r\n // Add Listeners\r\n utils.addListener(self.el, 'focus', function (evt) {\r\n self._focus(evt);\r\n });\r\n utils.addListener(self.el, 'click', function (evt) {\r\n self._focus(evt);\r\n });\r\n utils.addListener(self.el, 'touchstart', function (evt) {\r\n self._focus(evt);\r\n });\r\n }\r\n }\r\n //\r\n // @public\r\n // Add new char\r\n //\r\n Formatter.addInptType = function (chr, reg) {\r\n inptRegs[chr] = reg;\r\n };\r\n //\r\n // @public\r\n // Apply the given pattern to the current input without moving caret.\r\n //\r\n Formatter.prototype.resetPattern = function (str) {\r\n // Update opts to hold new pattern\r\n this.opts.patterns = str ? this._specFromSinglePattern(str) : this.opts.patterns;\r\n // Get current state\r\n this.sel = inptSel.get(this.el);\r\n this.val = this.el.value;\r\n // Init values\r\n this.delta = 0;\r\n // Remove all formatted chars from val\r\n this._removeChars();\r\n this.patternMatcher = patternMatcher(this.opts.patterns);\r\n // Update pattern\r\n var newPattern = this.patternMatcher.getPattern(this.val);\r\n this.mLength = newPattern.mLength;\r\n this.chars = newPattern.chars;\r\n this.inpts = newPattern.inpts;\r\n // Format on start\r\n this._processKey('', false, true);\r\n };\r\n //\r\n // @private\r\n // Determine correct format pattern based on input val\r\n //\r\n Formatter.prototype._updatePattern = function () {\r\n // Determine appropriate pattern\r\n var newPattern = this.patternMatcher.getPattern(this.val);\r\n // Only update the pattern if there is an appropriate pattern for the value.\r\n // Otherwise, leave the current pattern (and likely delete the latest character.)\r\n if (newPattern) {\r\n // Get info about the given pattern\r\n this.mLength = newPattern.mLength;\r\n this.chars = newPattern.chars;\r\n this.inpts = newPattern.inpts;\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on all keyDown strokes. All keys trigger\r\n // this handler. Only process delete keys.\r\n //\r\n Formatter.prototype._keyDown = function (evt) {\r\n // The first thing we need is the character code\r\n var k = evt.which || evt.keyCode;\r\n // If delete key\r\n if (k && utils.isDelKeyDown(evt.which, evt.keyCode)) {\r\n // Process the keyCode and prevent default\r\n this._processKey(null, k);\r\n return utils.preventDefault(evt);\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on all keyPress strokes. Only processes\r\n // character keys (as long as no modifier key is in use).\r\n //\r\n Formatter.prototype._keyPress = function (evt) {\r\n // The first thing we need is the character code\r\n var k, isSpecial;\r\n // Mozilla will trigger on special keys and assign the the value 0\r\n // We want to use that 0 rather than the keyCode it assigns.\r\n k = evt.which || evt.keyCode;\r\n isSpecial = utils.isSpecialKeyPress(evt.which, evt.keyCode);\r\n // Process the keyCode and prevent default\r\n if (!utils.isDelKeyPress(evt.which, evt.keyCode) && !isSpecial && !utils.isModifier(evt)) {\r\n this._processKey(String.fromCharCode(k), false);\r\n return utils.preventDefault(evt);\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on paste event.\r\n //\r\n Formatter.prototype._paste = function (evt) {\r\n // Process the clipboard paste and prevent default\r\n this._processKey(utils.getClip(evt), false);\r\n return utils.preventDefault(evt);\r\n };\r\n //\r\n // @private\r\n // Handle called on focus event.\r\n //\r\n Formatter.prototype._focus = function () {\r\n // Wrapped in timeout so that we can grab input selection\r\n var self = this;\r\n setTimeout(function () {\r\n // Grab selection\r\n var selection = inptSel.get(self.el);\r\n // Char check\r\n var isAfterStart = selection.end > self.focus, isFirstChar = selection.end === 0;\r\n // If clicked in front of start, refocus to start\r\n if (isAfterStart || isFirstChar) {\r\n inptSel.set(self.el, self.focus);\r\n }\r\n }, 0);\r\n };\r\n //\r\n // @private\r\n // Using the provided key information, alter el value.\r\n //\r\n Formatter.prototype._processKey = function (chars, delKey, ignoreCaret) {\r\n // Get current state\r\n this.sel = inptSel.get(this.el);\r\n this.val = this.el.value;\r\n // Init values\r\n this.delta = 0;\r\n // If chars were highlighted, we need to remove them\r\n if (this.sel.begin !== this.sel.end) {\r\n this.delta = -1 * Math.abs(this.sel.begin - this.sel.end);\r\n this.val = utils.removeChars(this.val, this.sel.begin, this.sel.end);\r\n } else if (delKey && delKey === 46) {\r\n this._delete();\r\n } else if (delKey && this.sel.begin - 1 >= 0) {\r\n // Always have a delta of at least -1 for the character being deleted.\r\n this.val = utils.removeChars(this.val, this.sel.end - 1, this.sel.end);\r\n this.delta -= 1;\r\n } else if (delKey) {\r\n return true;\r\n }\r\n // If the key is not a del key, it should convert to a str\r\n if (!delKey) {\r\n // Add char at position and increment delta\r\n this.val = utils.addChars(this.val, chars, this.sel.begin);\r\n this.delta += chars.length;\r\n }\r\n // Format el.value (also handles updating caret position)\r\n this._formatValue(ignoreCaret);\r\n };\r\n //\r\n // @private\r\n // Deletes the character in front of it\r\n //\r\n Formatter.prototype._delete = function () {\r\n // Adjust focus to make sure its not on a formatted char\r\n while (this.chars[this.sel.begin]) {\r\n this._nextPos();\r\n }\r\n // As long as we are not at the end\r\n if (this.sel.begin < this.val.length) {\r\n // We will simulate a delete by moving the caret to the next char\r\n // and then deleting\r\n this._nextPos();\r\n this.val = utils.removeChars(this.val, this.sel.end - 1, this.sel.end);\r\n this.delta = -1;\r\n }\r\n };\r\n //\r\n // @private\r\n // Quick helper method to move the caret to the next pos\r\n //\r\n Formatter.prototype._nextPos = function () {\r\n this.sel.end++;\r\n this.sel.begin++;\r\n };\r\n //\r\n // @private\r\n // Alter element value to display characters matching the provided\r\n // instance pattern. Also responsible for updating\r\n //\r\n Formatter.prototype._formatValue = function (ignoreCaret) {\r\n // Set caret pos\r\n this.newPos = this.sel.end + this.delta;\r\n // Remove all formatted chars from val\r\n this._removeChars();\r\n // Switch to first matching pattern based on val\r\n this._updatePattern();\r\n // Validate inputs\r\n this._validateInpts();\r\n // Add formatted characters\r\n this._addChars();\r\n // Set value and adhere to maxLength\r\n this.el.value = this.val.substr(0, this.mLength);\r\n // Set new caret position\r\n if (typeof ignoreCaret === 'undefined' || ignoreCaret === false) {\r\n inptSel.set(this.el, this.newPos);\r\n }\r\n };\r\n //\r\n // @private\r\n // Remove all formatted before and after a specified pos\r\n //\r\n Formatter.prototype._removeChars = function () {\r\n // Delta shouldn't include placeholders\r\n if (this.sel.end > this.focus) {\r\n this.delta += this.sel.end - this.focus;\r\n }\r\n // Account for shifts during removal\r\n var shift = 0;\r\n // Loop through all possible char positions\r\n for (var i = 0; i <= this.mLength; i++) {\r\n // Get transformed position\r\n var curChar = this.chars[i], curHldr = this.hldrs[i], pos = i + shift, val;\r\n // If after selection we need to account for delta\r\n pos = i >= this.sel.begin ? pos + this.delta : pos;\r\n val = this.val.charAt(pos);\r\n // Remove char and account for shift\r\n if (curChar && curChar === val || curHldr && curHldr === val) {\r\n this.val = utils.removeChars(this.val, pos, pos + 1);\r\n shift--;\r\n }\r\n }\r\n // All hldrs should be removed now\r\n this.hldrs = {};\r\n // Set focus to last character\r\n this.focus = this.val.length;\r\n };\r\n //\r\n // @private\r\n // Make sure all inpts are valid, else remove and update delta\r\n //\r\n Formatter.prototype._validateInpts = function () {\r\n // Loop over each char and validate\r\n for (var i = 0; i < this.val.length; i++) {\r\n // Get char inpt type\r\n var inptType = this.inpts[i];\r\n // Checks\r\n var isBadType = !inptRegs[inptType], isInvalid = !isBadType && !inptRegs[inptType].test(this.val.charAt(i)), inBounds = this.inpts[i];\r\n // Remove if incorrect and inbounds\r\n if ((isBadType || isInvalid) && inBounds) {\r\n this.val = utils.removeChars(this.val, i, i + 1);\r\n this.focusStart--;\r\n this.newPos--;\r\n this.delta--;\r\n i--;\r\n }\r\n }\r\n };\r\n //\r\n // @private\r\n // Loop over val and add formatted chars as necessary\r\n //\r\n Formatter.prototype._addChars = function () {\r\n if (this.opts.persistent) {\r\n // Loop over all possible characters\r\n for (var i = 0; i <= this.mLength; i++) {\r\n if (!this.val.charAt(i)) {\r\n // Add placeholder at pos\r\n this.val = utils.addChars(this.val, this.opts.placeholder, i);\r\n this.hldrs[i] = this.opts.placeholder;\r\n }\r\n this._addChar(i);\r\n }\r\n // Adjust focus to make sure its not on a formatted char\r\n while (this.chars[this.focus]) {\r\n this.focus++;\r\n }\r\n } else {\r\n // Avoid caching val.length, as they may change in _addChar.\r\n for (var j = 0; j <= this.val.length; j++) {\r\n // When moving backwards there are some race conditions where we\r\n // dont want to add the character\r\n if (this.delta <= 0 && j === this.focus) {\r\n return true;\r\n }\r\n // Place character in current position of the formatted string.\r\n this._addChar(j);\r\n }\r\n }\r\n };\r\n //\r\n // @private\r\n // Add formattted char at position\r\n //\r\n Formatter.prototype._addChar = function (i) {\r\n // If char exists at position\r\n var chr = this.chars[i];\r\n if (!chr) {\r\n return true;\r\n }\r\n // If chars are added in between the old pos and new pos\r\n // we need to increment pos and delta\r\n if (utils.isBetween(i, [\r\n this.sel.begin - 1,\r\n this.newPos + 1\r\n ])) {\r\n this.newPos++;\r\n this.delta++;\r\n }\r\n // If character added before focus, incr\r\n if (i <= this.focus) {\r\n this.focus++;\r\n }\r\n // Updateholder\r\n if (this.hldrs[i]) {\r\n delete this.hldrs[i];\r\n this.hldrs[i + 1] = this.opts.placeholder;\r\n }\r\n // Update value\r\n this.val = utils.addChars(this.val, chr, i);\r\n };\r\n //\r\n // @private\r\n // Create a patternSpec for passing into patternMatcher that\r\n // has exactly one catch all pattern.\r\n //\r\n Formatter.prototype._specFromSinglePattern = function (patternStr) {\r\n return [{ '*': patternStr }];\r\n };\r\n // Expose\r\n return Formatter;\r\n }(patternMatcher, inptSel, utils);\r\n\r\n\r\n\r\n// A really lightweight plugin wrapper around the constructor,\r\n// preventing against multiple instantiations\r\nvar pluginName = 'formatter';\r\n\r\n$.fn[pluginName] = function (options) {\r\n\r\n // Initiate plugin if options passed\r\n if (typeof options == 'object') {\r\n this.each(function () {\r\n if (!$.data(this, 'plugin_' + pluginName)) {\r\n $.data(this, 'plugin_' + pluginName,\r\n new formatter(this, options));\r\n }\r\n });\r\n }\r\n\r\n // Add resetPattern method to plugin\r\n this.resetPattern = function (str) {\r\n this.each(function () {\r\n var formatted = $.data(this, 'plugin_' + pluginName);\r\n // resetPattern for instance\r\n if (formatted) { formatted.resetPattern(str); }\r\n });\r\n // Chainable please\r\n return this;\r\n };\r\n\r\n // Chainable please\r\n return this;\r\n};\r\n\r\n$.fn[pluginName].addInptType = function (chr, regexp) {\r\n formatter.addInptType(chr, regexp);\r\n};\r\n\r\n\r\n}));","/*!\r\n * jQuery Templates Plugin 1.0.0pre\r\n * http://github.com/jquery/jquery-tmpl\r\n * Requires jQuery 1.4.2\r\n *\r\n * Copyright 2011, Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n */\r\n(function( jQuery, undefined ){\r\n\tvar oldManip = jQuery.fn.domManip, tmplItmAtt = \"_tmplitem\", htmlExpr = /^[^<]*(<[\\w\\W]+>)[^>]*$|\\{\\{\\! /,\r\n\t\tnewTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];\r\n\r\n\tfunction newTmplItem( options, parentItem, fn, data ) {\r\n\t\t// Returns a template item data structure for a new rendered instance of a template (a 'template item').\r\n\t\t// The content field is a hierarchical array of strings and nested items (to be\r\n\t\t// removed and replaced by nodes field of dom elements, once inserted in DOM).\r\n\t\tvar newItem = {\r\n\t\t\tdata: data || (data === 0 || data === false) ? data : (parentItem ? parentItem.data : {}),\r\n\t\t\t_wrap: parentItem ? parentItem._wrap : null,\r\n\t\t\ttmpl: null,\r\n\t\t\tparent: parentItem || null,\r\n\t\t\tnodes: [],\r\n\t\t\tcalls: tiCalls,\r\n\t\t\tnest: tiNest,\r\n\t\t\twrap: tiWrap,\r\n\t\t\thtml: tiHtml,\r\n\t\t\tupdate: tiUpdate\r\n\t\t};\r\n\t\tif ( options ) {\r\n\t\t\tjQuery.extend( newItem, options, { nodes: [], parent: parentItem });\r\n\t\t}\r\n\t\tif ( fn ) {\r\n\t\t\t// Build the hierarchical content to be used during insertion into DOM\r\n\t\t\tnewItem.tmpl = fn;\r\n\t\t\tnewItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );\r\n\t\t\tnewItem.key = ++itemKey;\r\n\t\t\t// Keep track of new template item, until it is stored as jQuery Data on DOM element\r\n\t\t\t(stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;\r\n\t\t}\r\n\t\treturn newItem;\r\n\t}\r\n\r\n\t// Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).\r\n\tjQuery.each({\r\n\t\tappendTo: \"append\",\r\n\t\tprependTo: \"prepend\",\r\n\t\tinsertBefore: \"before\",\r\n\t\tinsertAfter: \"after\",\r\n\t\treplaceAll: \"replaceWith\"\r\n\t}, function( name, original ) {\r\n\t\tjQuery.fn[ name ] = function( selector ) {\r\n\t\t\tvar ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,\r\n\t\t\t\tparent = this.length === 1 && this[0].parentNode;\r\n\r\n\t\t\tappendToTmplItems = newTmplItems || {};\r\n\t\t\tif ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {\r\n\t\t\t\tinsert[ original ]( this[0] );\r\n\t\t\t\tret = this;\r\n\t\t\t} else {\r\n\t\t\t\tfor ( i = 0, l = insert.length; i < l; i++ ) {\r\n\t\t\t\t\tcloneIndex = i;\r\n\t\t\t\t\telems = (i > 0 ? this.clone(true) : this).get();\r\n\t\t\t\t\tjQuery( insert[i] )[ original ]( elems );\r\n\t\t\t\t\tret = ret.concat( elems );\r\n\t\t\t\t}\r\n\t\t\t\tcloneIndex = 0;\r\n\t\t\t\tret = this.pushStack( ret, name, insert.selector );\r\n\t\t\t}\r\n\t\t\ttmplItems = appendToTmplItems;\r\n\t\t\tappendToTmplItems = null;\r\n\t\t\tjQuery.tmpl.complete( tmplItems );\r\n\t\t\treturn ret;\r\n\t\t};\r\n\t});\r\n\r\n\tjQuery.fn.extend({\r\n\t\t// Use first wrapped element as template markup.\r\n\t\t// Return wrapped set of template items, obtained by rendering template against data.\r\n\t\ttmpl: function( data, options, parentItem ) {\r\n\t\t\treturn jQuery.tmpl( this[0], data, options, parentItem );\r\n\t\t},\r\n\r\n\t\t// Find which rendered template item the first wrapped DOM element belongs to\r\n\t\ttmplItem: function() {\r\n\t\t\treturn jQuery.tmplItem( this[0] );\r\n\t\t},\r\n\r\n\t\t// Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.\r\n\t\ttemplate: function( name ) {\r\n\t\t\treturn jQuery.template( name, this[0] );\r\n\t\t},\r\n\r\n\t\tdomManip: function( args, table, callback, options ) {\r\n\t\t\tif ( args[0] && jQuery.isArray( args[0] )) {\r\n\t\t\t\tvar dmArgs = jQuery.makeArray( arguments ), elems = args[0], elemsLength = elems.length, i = 0, tmplItem;\r\n\t\t\t\twhile ( i < elemsLength && !(tmplItem = jQuery.data( elems[i++], \"tmplItem\" ))) {}\r\n\t\t\t\tif ( tmplItem && cloneIndex ) {\r\n\t\t\t\t\tdmArgs[2] = function( fragClone ) {\r\n\t\t\t\t\t\t// Handler called by oldManip when rendered template has been inserted into DOM.\r\n\t\t\t\t\t\tjQuery.tmpl.afterManip( this, fragClone, callback );\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\toldManip.apply( this, dmArgs );\r\n\t\t\t} else {\r\n\t\t\t\toldManip.apply( this, arguments );\r\n\t\t\t}\r\n\t\t\tcloneIndex = 0;\r\n\t\t\tif ( !appendToTmplItems ) {\r\n\t\t\t\tjQuery.tmpl.complete( newTmplItems );\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t});\r\n\r\n\tjQuery.extend({\r\n\t\t// Return wrapped set of template items, obtained by rendering template against data.\r\n\t\ttmpl: function( tmpl, data, options, parentItem ) {\r\n\t\t\tvar ret, topLevel = !parentItem;\r\n\t\t\tif ( topLevel ) {\r\n\t\t\t\t// This is a top-level tmpl call (not from a nested template using {{tmpl}})\r\n\t\t\t\tparentItem = topTmplItem;\r\n\t\t\t\ttmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );\r\n\t\t\t\twrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level\r\n\t\t\t} else if ( !tmpl ) {\r\n\t\t\t\t// The template item is already associated with DOM - this is a refresh.\r\n\t\t\t\t// Re-evaluate rendered template for the parentItem\r\n\t\t\t\ttmpl = parentItem.tmpl;\r\n\t\t\t\tnewTmplItems[parentItem.key] = parentItem;\r\n\t\t\t\tparentItem.nodes = [];\r\n\t\t\t\tif ( parentItem.wrapped ) {\r\n\t\t\t\t\tupdateWrapped( parentItem, parentItem.wrapped );\r\n\t\t\t\t}\r\n\t\t\t\t// Rebuild, without creating a new template item\r\n\t\t\t\treturn jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));\r\n\t\t\t}\r\n\t\t\tif ( !tmpl ) {\r\n\t\t\t\treturn []; // Could throw...\r\n\t\t\t}\r\n\t\t\tif ( typeof data === \"function\" ) {\r\n\t\t\t\tdata = data.call( parentItem || {} );\r\n\t\t\t}\r\n\t\t\tif ( options && options.wrapped ) {\r\n\t\t\t\tupdateWrapped( options, options.wrapped );\r\n\t\t\t}\r\n\t\t\tret = jQuery.isArray( data ) ?\r\n\t\t\t\tjQuery.map( data, function( dataItem ) {\r\n\t\t\t\t\treturn dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;\r\n\t\t\t\t}) :\r\n\t\t\t\t[ newTmplItem( options, parentItem, tmpl, data ) ];\r\n\t\t\treturn topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;\r\n\t\t},\r\n\r\n\t\t// Return rendered template item for an element.\r\n\t\ttmplItem: function( elem ) {\r\n\t\t\tvar tmplItem;\r\n\t\t\tif ( elem instanceof jQuery ) {\r\n\t\t\t\telem = elem[0];\r\n\t\t\t}\r\n\t\t\twhile ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, \"tmplItem\" )) && (elem = elem.parentNode) ) {}\r\n\t\t\treturn tmplItem || topTmplItem;\r\n\t\t},\r\n\r\n\t\t// Set:\r\n\t\t// Use $.template( name, tmpl ) to cache a named template,\r\n\t\t// where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.\r\n\t\t// Use $( \"selector\" ).template( name ) to provide access by name to a script block template declaration.\r\n\r\n\t\t// Get:\r\n\t\t// Use $.template( name ) to access a cached template.\r\n\t\t// Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )\r\n\t\t// will return the compiled template, without adding a name reference.\r\n\t\t// If templateString includes at least one HTML tag, $.template( templateString ) is equivalent\r\n\t\t// to $.template( null, templateString )\r\n\t\ttemplate: function( name, tmpl ) {\r\n\t\t\tif (tmpl) {\r\n\t\t\t\t// Compile template and associate with name\r\n\t\t\t\tif ( typeof tmpl === \"string\" ) {\r\n\t\t\t\t\t// This is an HTML string being passed directly in.\r\n\t\t\t\t\ttmpl = buildTmplFn( tmpl );\r\n\t\t\t\t} else if ( tmpl instanceof jQuery ) {\r\n\t\t\t\t\ttmpl = tmpl[0] || {};\r\n\t\t\t\t}\r\n\t\t\t\tif ( tmpl.nodeType ) {\r\n\t\t\t\t\t// If this is a template block, use cached copy, or generate tmpl function and cache.\r\n\t\t\t\t\ttmpl = jQuery.data( tmpl, \"tmpl\" ) || jQuery.data( tmpl, \"tmpl\", buildTmplFn( tmpl.innerHTML ));\r\n\t\t\t\t\t// Issue: In IE, if the container element is not a script block, the innerHTML will remove quotes from attribute values whenever the value does not include white space.\r\n\t\t\t\t\t// This means that foo=\"${x}\" will not work if the value of x includes white space: foo=\"${x}\" -> foo=value of x.\r\n\t\t\t\t\t// To correct this, include space in tag: foo=\"${ x }\" -> foo=\"value of x\"\r\n\t\t\t\t}\r\n\t\t\t\treturn typeof name === \"string\" ? (jQuery.template[name] = tmpl) : tmpl;\r\n\t\t\t}\r\n\t\t\t// Return named compiled template\r\n\t\t\treturn name ? (typeof name !== \"string\" ? jQuery.template( null, name ):\r\n\t\t\t\t(jQuery.template[name] ||\r\n\t\t\t\t\t// If not in map, and not containing at least on HTML tag, treat as a selector.\r\n\t\t\t\t\t// (If integrated with core, use quickExpr.exec)\r\n\t\t\t\t\tjQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;\r\n\t\t},\r\n\r\n\t\tencode: function( text ) {\r\n\t\t\t// Do HTML encoding replacing < > & and ' and \" by corresponding entities.\r\n\t\t\treturn (\"\" + text).split(\"<\").join(\"<\").split(\">\").join(\">\").split('\"').join(\""\").split(\"'\").join(\"'\");\r\n\t\t}\r\n\t});\r\n\r\n\tjQuery.extend( jQuery.tmpl, {\r\n\t\ttag: {\r\n\t\t\t\"tmpl\": {\r\n\t\t\t\t_default: { $2: \"null\" },\r\n\t\t\t\topen: \"if($notnull_1){__=__.concat($item.nest($1,$2));}\"\r\n\t\t\t\t// tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)\r\n\t\t\t\t// This means that {{tmpl foo}} treats foo as a template (which IS a function).\r\n\t\t\t\t// Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.\r\n\t\t\t},\r\n\t\t\t\"wrap\": {\r\n\t\t\t\t_default: { $2: \"null\" },\r\n\t\t\t\topen: \"$item.calls(__,$1,$2);__=[];\",\r\n\t\t\t\tclose: \"call=$item.calls();__=call._.concat($item.wrap(call,__));\"\r\n\t\t\t},\r\n\t\t\t\"each\": {\r\n\t\t\t\t_default: { $2: \"$index, $value\" },\r\n\t\t\t\topen: \"if($notnull_1){$.each($1a,function($2){with(this){\",\r\n\t\t\t\tclose: \"}});}\"\r\n\t\t\t},\r\n\t\t\t\"if\": {\r\n\t\t\t\topen: \"if(($notnull_1) && $1a){\",\r\n\t\t\t\tclose: \"}\"\r\n\t\t\t},\r\n\t\t\t\"else\": {\r\n\t\t\t\t_default: { $1: \"true\" },\r\n\t\t\t\topen: \"}else if(($notnull_1) && $1a){\"\r\n\t\t\t},\r\n\t\t\t\"html\": {\r\n\t\t\t\t// Unecoded expression evaluation.\r\n\t\t\t\topen: \"if($notnull_1){__.push($1a);}\"\r\n\t\t\t},\r\n\t\t\t\"=\": {\r\n\t\t\t\t// Encoded expression evaluation. Abbreviated form is ${}.\r\n\t\t\t\t_default: { $1: \"$data\" },\r\n\t\t\t\topen: \"if($notnull_1){__.push($.encode($1a));}\"\r\n\t\t\t},\r\n\t\t\t\"!\": {\r\n\t\t\t\t// Comment tag. Skipped by parser\r\n\t\t\t\topen: \"\"\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events\r\n\t\tcomplete: function( items ) {\r\n\t\t\tnewTmplItems = {};\r\n\t\t},\r\n\r\n\t\t// Call this from code which overrides domManip, or equivalent\r\n\t\t// Manage cloning/storing template items etc.\r\n\t\tafterManip: function afterManip( elem, fragClone, callback ) {\r\n\t\t\t// Provides cloned fragment ready for fixup prior to and after insertion into DOM\r\n\t\t\tvar content = fragClone.nodeType === 11 ?\r\n\t\t\t\tjQuery.makeArray(fragClone.childNodes) :\r\n\t\t\t\tfragClone.nodeType === 1 ? [fragClone] : [];\r\n\r\n\t\t\t// Return fragment to original caller (e.g. append) for DOM insertion\r\n\t\t\tcallback.call( elem, fragClone );\r\n\r\n\t\t\t// Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.\r\n\t\t\tstoreTmplItems( content );\r\n\t\t\tcloneIndex++;\r\n\t\t}\r\n\t});\r\n\r\n\t//========================== Private helper functions, used by code above ==========================\r\n\r\n\tfunction build( tmplItem, nested, content ) {\r\n\t\t// Convert hierarchical content into flat string array\r\n\t\t// and finally return array of fragments ready for DOM insertion\r\n\t\tvar frag, ret = content ? jQuery.map( content, function( item ) {\r\n\t\t\treturn (typeof item === \"string\") ?\r\n\t\t\t\t// Insert template item annotations, to be converted to jQuery.data( \"tmplItem\" ) when elems are inserted into DOM.\r\n\t\t\t\t(tmplItem.key ? item.replace( /(<\\w+)(?=[\\s>])(?![^>]*_tmplitem)([^>]*)/g, \"$1 \" + tmplItmAtt + \"=\\\"\" + tmplItem.key + \"\\\" $2\" ) : item) :\r\n\t\t\t\t// This is a child template item. Build nested template.\r\n\t\t\t\tbuild( item, tmplItem, item._ctnt );\r\n\t\t}) :\r\n\t\t// If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.\r\n\t\ttmplItem;\r\n\t\tif ( nested ) {\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\t// top-level template\r\n\t\tret = ret.join(\"\");\r\n\r\n\t\t// Support templates which have initial or final text nodes, or consist only of text\r\n\t\t// Also support HTML entities within the HTML markup.\r\n\t\tret.replace( /^\\s*([^<\\s][^<]*)?(<[\\w\\W]+>)([^>]*[^>\\s])?\\s*$/, function( all, before, middle, after) {\r\n\t\t\tfrag = jQuery( middle ).get();\r\n\r\n\t\t\tstoreTmplItems( frag );\r\n\t\t\tif ( before ) {\r\n\t\t\t\tfrag = unencode( before ).concat(frag);\r\n\t\t\t}\r\n\t\t\tif ( after ) {\r\n\t\t\t\tfrag = frag.concat(unencode( after ));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn frag ? frag : unencode( ret );\r\n\t}\r\n\r\n\tfunction unencode( text ) {\r\n\t\t// Use createElement, since createTextNode will not render HTML entities correctly\r\n\t\tvar el = document.createElement( \"div\" );\r\n\t\tel.innerHTML = text;\r\n\t\treturn jQuery.makeArray(el.childNodes);\r\n\t}\r\n\r\n\t// Generate a reusable function that will serve to render a template against data\r\n\tfunction buildTmplFn( markup ) {\r\n\t\treturn new Function(\"jQuery\",\"$item\",\r\n\t\t\t// Use the variable __ to hold a string array while building the compiled template. (See https://github.com/jquery/jquery-tmpl/issues#issue/10).\r\n\t\t\t\"var $=jQuery,call,__=[],$data=$item.data;\" +\r\n\r\n\t\t\t// Introduce the data as local variables using with(){}\r\n\t\t\t\"with($data){__.push('\" +\r\n\r\n\t\t\t// Convert the template into pure JavaScript\r\n\t\t\tjQuery.trim(markup)\r\n\t\t\t\t.replace( /([\\\\'])/g, \"\\\\$1\" )\r\n\t\t\t\t.replace( /[\\r\\t\\n]/g, \" \" )\r\n\t\t\t\t.replace( /\\$\\{([^\\}]*)\\}/g, \"{{= $1}}\" )\r\n\t\t\t\t.replace( /\\{\\{(\\/?)(\\w+|.)(?:\\(((?:[^\\}]|\\}(?!\\}))*?)?\\))?(?:\\s+(.*?)?)?(\\(((?:[^\\}]|\\}(?!\\}))*?)\\))?\\s*\\}\\}/g,\r\n\t\t\t\tfunction( all, slash, type, fnargs, target, parens, args ) {\r\n\t\t\t\t\tvar tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;\r\n\t\t\t\t\tif ( !tag ) {\r\n\t\t\t\t\t\tthrow \"Unknown template tag: \" + type;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdef = tag._default || [];\r\n\t\t\t\t\tif ( parens && !/\\w$/.test(target)) {\r\n\t\t\t\t\t\ttarget += parens;\r\n\t\t\t\t\t\tparens = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( target ) {\r\n\t\t\t\t\t\ttarget = unescape( target );\r\n\t\t\t\t\t\targs = args ? (\",\" + unescape( args ) + \")\") : (parens ? \")\" : \"\");\r\n\t\t\t\t\t\t// Support for target being things like a.toLowerCase();\r\n\t\t\t\t\t\t// In that case don't call with template item as 'this' pointer. Just evaluate...\r\n\t\t\t\t\t\texpr = parens ? (target.indexOf(\".\") > -1 ? target + unescape( parens ) : (\"(\" + target + \").call($item\" + args)) : target;\r\n\t\t\t\t\t\texprAutoFnDetect = parens ? expr : \"(typeof(\" + target + \")==='function'?(\" + target + \").call($item):(\" + target + \"))\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\texprAutoFnDetect = expr = def.$1 || \"null\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfnargs = unescape( fnargs );\r\n\t\t\t\t\treturn \"');\" +\r\n\t\t\t\t\t\ttag[ slash ? \"close\" : \"open\" ]\r\n\t\t\t\t\t\t\t.split( \"$notnull_1\" ).join( target ? \"typeof(\" + target + \")!=='undefined' && (\" + target + \")!=null\" : \"true\" )\r\n\t\t\t\t\t\t\t.split( \"$1a\" ).join( exprAutoFnDetect )\r\n\t\t\t\t\t\t\t.split( \"$1\" ).join( expr )\r\n\t\t\t\t\t\t\t.split( \"$2\" ).join( fnargs || def.$2 || \"\" ) +\r\n\t\t\t\t\t\t\"__.push('\";\r\n\t\t\t\t}) +\r\n\t\t\t\"');}return __;\"\r\n\t\t);\r\n\t}\r\n\tfunction updateWrapped( options, wrapped ) {\r\n\t\t// Build the wrapped content.\r\n\t\toptions._wrap = build( options, true,\r\n\t\t\t// Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.\r\n\t\t\tjQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]\r\n\t\t).join(\"\");\r\n\t}\r\n\r\n\tfunction unescape( args ) {\r\n\t\treturn args ? args.replace( /\\\\'/g, \"'\").replace(/\\\\\\\\/g, \"\\\\\" ) : null;\r\n\t}\r\n\tfunction outerHtml( elem ) {\r\n\t\tvar div = document.createElement(\"div\");\r\n\t\tdiv.appendChild( elem.cloneNode(true) );\r\n\t\treturn div.innerHTML;\r\n\t}\r\n\r\n\t// Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.\r\n\tfunction storeTmplItems( content ) {\r\n\t\tvar keySuffix = \"_\" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;\r\n\t\tfor ( i = 0, l = content.length; i < l; i++ ) {\r\n\t\t\tif ( (elem = content[i]).nodeType !== 1 ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telems = elem.getElementsByTagName(\"*\");\r\n\t\t\tfor ( m = elems.length - 1; m >= 0; m-- ) {\r\n\t\t\t\tprocessItemKey( elems[m] );\r\n\t\t\t}\r\n\t\t\tprocessItemKey( elem );\r\n\t\t}\r\n\t\tfunction processItemKey( el ) {\r\n\t\t\tvar pntKey, pntNode = el, pntItem, tmplItem, key;\r\n\t\t\t// Ensure that each rendered template inserted into the DOM has its own template item,\r\n\t\t\tif ( (key = el.getAttribute( tmplItmAtt ))) {\r\n\t\t\t\twhile ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }\r\n\t\t\t\tif ( pntKey !== key ) {\r\n\t\t\t\t\t// The next ancestor with a _tmplitem expando is on a different key than this one.\r\n\t\t\t\t\t// So this is a top-level element within this template item\r\n\t\t\t\t\t// Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.\r\n\t\t\t\t\tpntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;\r\n\t\t\t\t\tif ( !(tmplItem = newTmplItems[key]) ) {\r\n\t\t\t\t\t\t// The item is for wrapped content, and was copied from the temporary parent wrappedItem.\r\n\t\t\t\t\t\ttmplItem = wrappedItems[key];\r\n\t\t\t\t\t\ttmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode] );\r\n\t\t\t\t\t\ttmplItem.key = ++itemKey;\r\n\t\t\t\t\t\tnewTmplItems[itemKey] = tmplItem;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( cloneIndex ) {\r\n\t\t\t\t\t\tcloneTmplItem( key );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tel.removeAttribute( tmplItmAtt );\r\n\t\t\t} else if ( cloneIndex && (tmplItem = jQuery.data( el, \"tmplItem\" )) ) {\r\n\t\t\t\t// This was a rendered element, cloned during append or appendTo etc.\r\n\t\t\t\t// TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.\r\n\t\t\t\tcloneTmplItem( tmplItem.key );\r\n\t\t\t\tnewTmplItems[tmplItem.key] = tmplItem;\r\n\t\t\t\tpntNode = jQuery.data( el.parentNode, \"tmplItem\" );\r\n\t\t\t\tpntNode = pntNode ? pntNode.key : 0;\r\n\t\t\t}\r\n\t\t\tif ( tmplItem ) {\r\n\t\t\t\tpntItem = tmplItem;\r\n\t\t\t\t// Find the template item of the parent element.\r\n\t\t\t\t// (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)\r\n\t\t\t\twhile ( pntItem && pntItem.key != pntNode ) {\r\n\t\t\t\t\t// Add this element as a top-level node for this rendered template item, as well as for any\r\n\t\t\t\t\t// ancestor items between this item and the item of its parent element\r\n\t\t\t\t\tpntItem.nodes.push( el );\r\n\t\t\t\t\tpntItem = pntItem.parent;\r\n\t\t\t\t}\r\n\t\t\t\t// Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...\r\n\t\t\t\tdelete tmplItem._ctnt;\r\n\t\t\t\tdelete tmplItem._wrap;\r\n\t\t\t\t// Store template item as jQuery data on the element\r\n\t\t\t\tjQuery.data( el, \"tmplItem\", tmplItem );\r\n\t\t\t}\r\n\t\t\tfunction cloneTmplItem( key ) {\r\n\t\t\t\tkey = key + keySuffix;\r\n\t\t\t\ttmplItem = newClonedItems[key] =\r\n\t\t\t\t\t(newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent ));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//---- Helper functions for template item ----\r\n\r\n\tfunction tiCalls( content, tmpl, data, options ) {\r\n\t\tif ( !content ) {\r\n\t\t\treturn stack.pop();\r\n\t\t}\r\n\t\tstack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });\r\n\t}\r\n\r\n\tfunction tiNest( tmpl, data, options ) {\r\n\t\t// nested template, using {{tmpl}} tag\r\n\t\treturn jQuery.tmpl( jQuery.template( tmpl ), data, options, this );\r\n\t}\r\n\r\n\tfunction tiWrap( call, wrapped ) {\r\n\t\t// nested template, using {{wrap}} tag\r\n\t\tvar options = call.options || {};\r\n\t\toptions.wrapped = wrapped;\r\n\t\t// Apply the template, which may incorporate wrapped content,\r\n\t\treturn jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );\r\n\t}\r\n\r\n\tfunction tiHtml( filter, textOnly ) {\r\n\t\tvar wrapped = this._wrap;\r\n\t\treturn jQuery.map(\r\n\t\t\tjQuery( jQuery.isArray( wrapped ) ? wrapped.join(\"\") : wrapped ).filter( filter || \"*\" ),\r\n\t\t\tfunction(e) {\r\n\t\t\t\treturn textOnly ?\r\n\t\t\t\t\te.innerText || e.textContent :\r\n\t\t\t\t\te.outerHTML || outerHtml(e);\r\n\t\t\t});\r\n\t}\r\n\r\n\tfunction tiUpdate() {\r\n\t\tvar coll = this.nodes;\r\n\t\tjQuery.tmpl( null, null, null, this).insertBefore( coll[0] );\r\n\t\tjQuery( coll ).remove();\r\n\t}\r\n})( jQuery );\r\n","/***********************************************************************************\r\n * 관리자 페이지 초기화\r\n ***********************************************************************************/\r\nAPP.init = function(){\r\n APP.initAjaxDefaultSetting();\r\n APP.initMenu();\r\n APP.initAx5();\r\n APP.initPlugins();\r\n APP.initCheckboxAll();\r\n};\r\n\r\n/***********************************************************************************\r\n * AJAX Error 및 BlockUI 처리\r\n ***********************************************************************************/\r\nAPP.initAjaxDefaultSetting = function() {\r\n $(document).ajaxError(function(event, request, settings){\r\n var message = '알수없는 오류가 발생하였습니다.';\r\n if( typeof request.responseJSON != 'undefined' && typeof request.responseJSON.message != 'undefined' ) {\r\n message = request.responseJSON.message;\r\n }\r\n else {\r\n if( request.status == 500 ) message = '서버 코드 오류가 발생하였습니다.\\n관리자에게 문의하세요';\r\n else if ( request.status == 401 ) message = '해당 명령을 실행할 권한이 없습니다.';\r\n }\r\n toastr.error(message, '오류 발생');\r\n }).ajaxStart(function(){\r\n $.blockUI({\r\n css: {width:'25px',top:'49%',left:'49%',border:'0px none',backgroundColor:'transparent',cursor:'wait'},\r\n message : '\"로딩중\"',\r\n baseZ : 10000,\r\n overlayCSS : {opacity : 0}\r\n });\r\n }).ajaxComplete(function(){\r\n $.unblockUI();\r\n });\r\n};\r\n\r\n/***********************************************************************************\r\n * 메뉴관련 초기화\r\n ***********************************************************************************/\r\nAPP.initMenu = function(){\r\n $('#nav .main-navigation li').each(function(){\r\n var $this = $(this);\r\n var menuCode = $this.data('active');\r\n\r\n if(menuCode == menuActive)\r\n {\r\n $(this).addClass('active');\r\n $(this).parents('li').addClass('active');\r\n }\r\n });\r\n};\r\n\r\nAPP.initPlugins = function() {\r\n $.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\r\n $.datepicker._updateDatepicker = function(inst) {\r\n $.datepicker._updateDatepicker_original(inst);\r\n var afterShow = this._get(inst, 'afterShow');\r\n if (afterShow)\r\n afterShow.apply((inst.input ? inst.input[0] : null));\r\n }\r\n $.datepicker.regional['ko'] = {\r\n closeText: '닫기',\r\n prevText: '이전달',\r\n nextText: '다음달',\r\n currentText: '오늘',\r\n monthNames: ['1월','2월','3월','4월','5월','6월', '7월','8월','9월','10월','11월','12월'],\r\n monthNamesShort: ['1월','2월','3월','4월','5월','6월', '7월','8월','9월','10월','11월','12월'],\r\n dayNames: ['일','월','화','수','목','금','토'],\r\n dayNamesShort: ['일','월','화','수','목','금','토'],\r\n dayNamesMin: ['일','월','화','수','목','금','토'],\r\n weekHeader: 'Wk',\r\n dateFormat: 'yy-mm-dd',\r\n firstDay: 0,\r\n isRTL: false,\r\n showMonthAfterYear: true,\r\n changeMonth: true,\r\n changeYear: true,\r\n yearSuffix: '',\r\n afterShow: function() {\r\n $('.ui-datepicker-prev').empty().append( '' );\r\n $('.ui-datepicker-next').empty().append( '' );\r\n }\r\n };\r\n\r\n $.datepicker.setDefaults($.datepicker.regional['ko']);\r\n\r\n $('[data-toggle=\"datepicker\"]').datepicker();\r\n\r\n $(\"body\").on(\"click\", '[data-toggle=\"datepicker\"]', function(){\r\n if (!$(this).hasClass(\"hasDatepicker\"))\r\n {\r\n $(this).datepicker();\r\n $(this).datepicker(\"show\");\r\n }\r\n });\r\n\r\n /*\r\n $('[data-toggle=\"formatter\"]').each(function(){\r\n if( $(this).data('pattern') )\r\n {\r\n $(this).formatter({\r\n pattern : $(this).data('pattern'),\r\n persistent: true\r\n });\r\n }\r\n });\r\n\r\n $.datetimepicker.setLocale('kr');\r\n $('[data-toggle=\"datetimepicker\"]').datetimepicker({\r\n format:'Y-m-d H:i'\r\n });\r\n */\r\n};\r\n\r\nAPP.initCheckboxAll = function(){\r\n $('[data-checkbox]').click(function(){\r\n var $check = $(this);\r\n var is_all = ($check.data('checkbox-all') && $check.data('checkbox-all').toString() == 'true');\r\n var name = $check.data('checkbox');\r\n var checked = $check.prop('checked');\r\n var $allCheck = is_all ? $check : $('[data-checkbox=\"'+name+'\"][data-checkbox-all=\"true\"]');\r\n\r\n if( is_all ) {\r\n $('[data-checkbox=\"'+name+'\"]').prop('checked', checked );\r\n }\r\n else {\r\n $allCheck.prop('checked', $('[data-checkbox=\"'+name+'\"]').not('[data-checkbox-all=\"true\"]').length == $('[data-checkbox=\"'+name+'\"]:checked').not('[data-checkbox-all=\"true\"]').length);\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * MODAL 관련\r\n *********************************************************************************************************************/\r\nAPP.initAx5 = function(){\r\n APP.MASK = new ax5.ui.mask({\r\n zIndex: 1000}\r\n );\r\n APP.MASK2 = new ax5.ui.mask({\r\n zIndex: 2000\r\n });\r\n APP.modal = new ax5.ui.modal({\r\n absolute: true,\r\n iframeLoadingMsg: ''\r\n });\r\n APP.modal2 = new ax5.ui.modal({\r\n absolute: true,\r\n iframeLoadingMsg: ''\r\n });\r\n APP.toast = new ax5.ui.toast({\r\n containerPosition: \"top-right\",\r\n closeIcon: ''\r\n });\r\n};\r\n\r\n\r\n$(function(){\r\n APP.init();\r\n});","/* ========================================================================\r\n * Bootstrap: dropdown.js v3.3.7\r\n * http://getbootstrap.com/javascript/#dropdowns\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n+function ($) {\r\n 'use strict';\r\n\r\n // DROPDOWN CLASS DEFINITION\r\n // =========================\r\n\r\n var backdrop = '.dropdown-backdrop'\r\n var toggle = '[data-toggle=\"dropdown\"]'\r\n var Dropdown = function (element) {\r\n $(element).on('click.bs.dropdown', this.toggle)\r\n }\r\n\r\n Dropdown.VERSION = '3.3.7'\r\n\r\n function getParent($this) {\r\n var selector = $this.attr('data-target')\r\n\r\n if (!selector) {\r\n selector = $this.attr('href')\r\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\r\n }\r\n\r\n var $parent = selector && $(selector)\r\n\r\n return $parent && $parent.length ? $parent : $this.parent()\r\n }\r\n\r\n function clearMenus(e) {\r\n if (e && e.which === 3) return\r\n $(backdrop).remove()\r\n $(toggle).each(function () {\r\n var $this = $(this)\r\n var $parent = getParent($this)\r\n var relatedTarget = { relatedTarget: this }\r\n\r\n if (!$parent.hasClass('open')) return\r\n\r\n if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\r\n\r\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this.attr('aria-expanded', 'false')\r\n $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\r\n })\r\n }\r\n\r\n Dropdown.prototype.toggle = function (e) {\r\n var $this = $(this)\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n clearMenus()\r\n\r\n if (!isActive) {\r\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\r\n // if mobile we use a backdrop because click events don't delegate\r\n $(document.createElement('div'))\r\n .addClass('dropdown-backdrop')\r\n .insertAfter($(this))\r\n .on('click', clearMenus)\r\n }\r\n\r\n var relatedTarget = { relatedTarget: this }\r\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this\r\n .trigger('focus')\r\n .attr('aria-expanded', 'true')\r\n\r\n $parent\r\n .toggleClass('open')\r\n .trigger($.Event('shown.bs.dropdown', relatedTarget))\r\n }\r\n\r\n return false\r\n }\r\n\r\n Dropdown.prototype.keydown = function (e) {\r\n if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\r\n\r\n var $this = $(this)\r\n\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n if (!isActive && e.which != 27 || isActive && e.which == 27) {\r\n if (e.which == 27) $parent.find(toggle).trigger('focus')\r\n return $this.trigger('click')\r\n }\r\n\r\n var desc = ' li:not(.disabled):visible a'\r\n var $items = $parent.find('.dropdown-menu' + desc)\r\n\r\n if (!$items.length) return\r\n\r\n var index = $items.index(e.target)\r\n\r\n if (e.which == 38 && index > 0) index-- // up\r\n if (e.which == 40 && index < $items.length - 1) index++ // down\r\n if (!~index) index = 0\r\n\r\n $items.eq(index).trigger('focus')\r\n }\r\n\r\n\r\n // DROPDOWN PLUGIN DEFINITION\r\n // ==========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.dropdown')\r\n\r\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\r\n if (typeof option == 'string') data[option].call($this)\r\n })\r\n }\r\n\r\n var old = $.fn.dropdown\r\n\r\n $.fn.dropdown = Plugin\r\n $.fn.dropdown.Constructor = Dropdown\r\n\r\n\r\n // DROPDOWN NO CONFLICT\r\n // ====================\r\n\r\n $.fn.dropdown.noConflict = function () {\r\n $.fn.dropdown = old\r\n return this\r\n }\r\n\r\n\r\n // APPLY TO STANDARD DROPDOWN ELEMENTS\r\n // ===================================\r\n\r\n $(document)\r\n .on('click.bs.dropdown.data-api', clearMenus)\r\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\r\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\r\n .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\r\n .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\r\n\r\n}(jQuery);","APP.MODAL = function() {\r\n var modalCallback = {};\r\n\r\n var defaultCss = {\r\n width: 400,\r\n height: 400,\r\n position: {\r\n left: \"center\",\r\n top: \"middle\"\r\n }\r\n };\r\n\r\n var defaultOption = $.extend(true, {}, defaultCss, {\r\n iframeLoadingMsg: \"\",\r\n iframe: {\r\n method: \"get\",\r\n url: \"#\"\r\n },\r\n closeToEsc: true,\r\n onStateChanged: function onStateChanged() {\r\n // mask\r\n if (this.state === \"open\") {\r\n APP.MASK.open();\r\n } else if (this.state === \"close\") {\r\n APP.MASK.close();\r\n }\r\n },\r\n animateTime: 100,\r\n zIndex: 1001,\r\n absolute: true,\r\n fullScreen: false,\r\n header: {\r\n title: \"새로운 윈도우\",\r\n btns: {\r\n close: {\r\n label: '', onClick: function onClick() {\r\n APP.MODAL.callback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n var open = function(modalConfig) {\r\n\r\n modalConfig = $.extend(true, {}, defaultOption, modalConfig);\r\n $(document.body).addClass(\"modalOpened\");\r\n\r\n this.modalCallback = modalConfig.callback;\r\n this.modalSendData = modalConfig.sendData;\r\n\r\n APP.modal.open(modalConfig);\r\n };\r\n\r\n var css = function css(modalCss) {\r\n modalCss = $.extend(true, {}, defaultCss, modalCss);\r\n APP.modal.css(modalCss);\r\n };\r\n var align = function align(modalAlign) {\r\n APP.modal.align(modalAlign);\r\n };\r\n var close = function close(data) {\r\n APP.modal.close();\r\n setTimeout(function () {\r\n $(document.body).removeClass(\"modalOpened\");\r\n }, 500);\r\n };\r\n var minimize = function minimize() {\r\n APP.modal.minimize();\r\n };\r\n var maximize = function maximize() {\r\n APP.modal.maximize();\r\n };\r\n var callback = function callback(data) {\r\n if (this.modalCallback) {\r\n this.modalCallback(data);\r\n }\r\n this.close(data);\r\n };\r\n var getData = function getData() {\r\n if (this.modalSendData) {\r\n return this.modalSendData();\r\n }\r\n };\r\n\r\n return {\r\n \"open\": open,\r\n \"css\": css,\r\n \"align\": align,\r\n \"close\": close,\r\n \"minimize\": minimize,\r\n \"maximize\": maximize,\r\n \"callback\": callback,\r\n \"modalCallback\": modalCallback,\r\n \"getData\": getData\r\n };\r\n}();\r\nAPP.MODAL2 = function() {\r\n var modalCallback = {};\r\n\r\n var defaultCss = {\r\n width: 400,\r\n height: 400,\r\n position: {\r\n left: \"center\",\r\n top: \"middle\"\r\n }\r\n };\r\n\r\n var defaultOption = $.extend(true, {}, defaultCss, {\r\n iframeLoadingMsg: \"\",\r\n iframe: {\r\n method: \"get\",\r\n url: \"#\"\r\n },\r\n closeToEsc: true,\r\n onStateChanged: function onStateChanged() {\r\n // mask\r\n if (this.state === \"open\") {\r\n APP.MASK2.open();\r\n } else if (this.state === \"close\") {\r\n APP.MASK2.close();\r\n }\r\n },\r\n animateTime: 100,\r\n zIndex: 2001,\r\n absolute: true,\r\n fullScreen: false,\r\n header: {\r\n title: \"새로운 윈도우\",\r\n btns: {\r\n close: {\r\n label: '', onClick: function onClick() {\r\n APP.MODAL2.callback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n var open = function(modalConfig) {\r\n\r\n modalConfig = $.extend(true, {}, defaultOption, modalConfig);\r\n $(document.body).addClass(\"modalOpened\");\r\n\r\n this.modalCallback = modalConfig.callback;\r\n this.modalSendData = modalConfig.sendData;\r\n\r\n APP.modal2.open(modalConfig);\r\n };\r\n\r\n var css = function css(modalCss) {\r\n modalCss = $.extend(true, {}, defaultCss, modalCss);\r\n APP.modal2.css(modalCss);\r\n };\r\n var align = function align(modalAlign) {\r\n APP.modal2.align(modalAlign);\r\n };\r\n var close = function close(data) {\r\n APP.modal2.close();\r\n setTimeout(function () {\r\n $(document.body).removeClass(\"modalOpened\");\r\n }, 500);\r\n };\r\n var minimize = function minimize() {\r\n APP.modal2.minimize();\r\n };\r\n var maximize = function maximize() {\r\n APP.modal2.maximize();\r\n };\r\n var callback = function callback(data) {\r\n if (this.modalCallback) {\r\n this.modalCallback(data);\r\n }\r\n this.close(data);\r\n };\r\n var getData = function getData() {\r\n if (this.modalSendData) {\r\n return this.modalSendData();\r\n }\r\n };\r\n\r\n return {\r\n \"open\": open,\r\n \"css\": css,\r\n \"align\": align,\r\n \"close\": close,\r\n \"minimize\": minimize,\r\n \"maximize\": maximize,\r\n \"callback\": callback,\r\n \"modalCallback\": modalCallback,\r\n \"getData\": getData\r\n };\r\n}();","APP.TOAST = {\r\n confirm : function(msg) {\r\n APP.toast.push({\r\n theme : 'default',\r\n icon : '',\r\n msg : msg\r\n });\r\n },\r\n error : function(msg) {\r\n APP.toast.push({\r\n theme : 'danger',\r\n icon : '',\r\n msg : msg\r\n });\r\n },\r\n success: function(msg) {\r\n APP.toast.push({\r\n theme : 'success',\r\n icon : '',\r\n msg : msg\r\n })\r\n }\r\n};","var faq = {};\r\nfaq.form = function(fac_idx, faq_idx)\r\n{\r\n var faq_idx = (typeof faq_idx == 'string' || typeof faq_idx == 'number' ) ? faq_idx : null;\r\n var fac_idx = (typeof fac_idx == 'string' || typeof fac_idx == 'number' ) ? fac_idx : null;\r\n if(! fac_idx) {\r\n alert('FAQ 분류 정보가 없습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :650,\r\n header : {\r\n title : faq_idx ? 'FAQ 정보 수정' : 'FAQ 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/management/faq_form',\r\n param : {\r\n fac_idx : fac_idx,\r\n faq_idx : faq_idx\r\n }\r\n }\r\n });\r\n};\r\nfaq.remove = function(faq_idx) {\r\n if(typeof faq_idx == 'undefined' || ! faq_idx || faq_idx.trim() == '') {\r\n alert('잘못된 접근입니다.');\r\n }\r\n\r\n if(! confirm('해당 FAQ를 삭제하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : '/ajax/faq/info',\r\n type : 'delete',\r\n async:false,\r\n cache:false,\r\n data:{faq_idx:faq_idx},\r\n success:function(res){\r\n alert('FAQ가 삭제되었습니다.');\r\n location.reload();\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * FAQ 분류\r\n * @type {{}}\r\n */\r\nfaq.category = {};\r\nfaq.category.form = function(fac_idx)\r\n{\r\n var fac_idx = (typeof fac_idx == 'string' || typeof fac_idx == 'number' ) ? fac_idx : null;\r\n APP.MODAL.open({\r\n width: $(window).width() > 600 ? 600 : $(window).width(),\r\n height :250,\r\n header : {\r\n title : fac_idx ? 'FAQ 분류 정보 수정' : 'FAQ 분류 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/management/faq_category_form',\r\n param : {\r\n fac_idx : fac_idx\r\n }\r\n }\r\n });\r\n};\r\nfaq.category.exist = function(fac_idx) {\r\n if(typeof fac_idx == 'undefined' || ! fac_idx || fac_idx.trim() == '') return false;\r\n var result = false;\r\n $.ajax({\r\n url : '/ajax/faq/category',\r\n type:'get',\r\n async:false,\r\n cache:false,\r\n data:{fac_idx:fac_idx},\r\n success:function (res) {\r\n result = !(res && typeof res.fac_idx != 'undefined' && res.fac_idx);\r\n }\r\n });\r\n return result;\r\n};\r\nfaq.category.remove = function(fac_idx) {\r\n if(typeof fac_idx == 'undefined' || ! fac_idx || fac_idx.trim() == '') {\r\n alert('잘못된 접근입니다.');\r\n }\r\n var count = 0;\r\n $.ajax({\r\n url : '/ajax/faq/lists',\r\n type : 'get',\r\n async:false,\r\n cache: false,\r\n data : {fac_idx:fac_idx},\r\n success:function(res){\r\n count = res.total_count;\r\n }\r\n });\r\n\r\n var msg = ( count > 0 ) ? '해당 FAQ 분류에 ' + count + '개의 FAQ 목록이 등록되어 있습니다.\\nFAQ 분류을 삭제할시 등록된 FAQ 목록도 같이 삭제됩니다.\\n\\n계속 하시겠습니까?' : 'FAQ 분류을 삭제하시겠습니까?';\r\n if(! confirm(msg)) return false;\r\n\r\n $.ajax({\r\n url : '/ajax/faq/category',\r\n type : 'delete',\r\n async:false,\r\n cache:false,\r\n data:{fac_idx:fac_idx},\r\n success:function(res){\r\n alert('FAQ 분류가 삭제되었습니다.');\r\n location.href= base_url + \"/admin/management/faq\";\r\n }\r\n });\r\n};\r\n\r\n\r\n"],"file":"admin.min.js"} \ No newline at end of file +{"version":3,"sources":["clipboard.js","jquery.cookie.js","global.js","member.js","board.js","ax5core.js","ax5mask.js","ax5modal.js","ax5toast.js","jquery-ui.js","jquery.datetimepicker.full.js","jquery.blockUI.js","jquery.formatter.js","jquery.tmpl.js","admin.js","components.js","modal.js","toast.js","faq.js"],"names":["root","factory","exports","module","define","amd","this","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_select","obj","_select2","default","_typeof","Symbol","iterator","constructor","_createClass","defineProperties","target","props","length","descriptor","writable","key","Constructor","protoProps","staticProps","ClipboardAction","options","instance","TypeError","_classCallCheck","resolveOptions","initSelection","arguments","undefined","action","container","emitter","text","trigger","selectedText","selectFake","selectTarget","_this","isRTL","document","documentElement","getAttribute","removeFake","fakeHandlerCallback","fakeHandler","addEventListener","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","window","pageYOffset","scrollTop","top","setAttribute","appendChild","copyText","removeEventListener","removeChild","succeeded","execCommand","err","handleResult","emit","clearSelection","bind","focus","getSelection","removeAllRanges","set","_action","Error","nodeType","hasAttribute","_target","apply","is","delegate","type","callback","string","fn","node","destroy","listenNode","nodeList","Array","forEach","listenNodeList","selector","body","listenSelector","E","on","ctx","e","push","once","self","listener","off","_","data","slice","evtArr","len","evts","liveEvents","_clipboardAction","_tinyEmitter","_goodListener","_clipboardAction2","_interopRequireDefault","_tinyEmitter2","_goodListener2","Clipboard","_Emitter","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","listenClick","subClass","superClass","create","setPrototypeOf","_inherits","defaultAction","defaultTarget","defaultText","_this2","onClick","delegateTarget","currentTarget","clipboardAction","getAttributeValue","querySelector","actions","support","queryCommandSupported","suffix","element","attribute","DOCUMENT_NODE_TYPE","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentNode","closest","_delegate","useCapture","listenerFn","elements","querySelectorAll","map","HTMLElement","toString","String","nodeName","isReadOnly","select","setSelectionRange","removeAttribute","selection","range","createRange","selectNodeContents","addRange","require","jQuery","$","pluses","encode","config","raw","encodeURIComponent","read","converter","indexOf","replace","decodeURIComponent","json","JSON","parse","parseCookieValue","isFunction","cookie","extend","defaults","expires","days","t","Date","setMilliseconds","getMilliseconds","stringify","stringifyCookieValue","toUTCString","path","domain","secure","join","result","cookies","split","parts","shift","removeCookie","console","log","APP","POPUP","REGEX","uniqueID","option","title","width","height","url","cw","screen","availWidth","ch","availHeight","sw","sh","ml","mt","win","open","outerWidth","outerHeight","alert","SET_LANG","lang","location","reload","click","idx","close","remove","not","preventDefault","sns_type","href","loc","img","attr","ClipboardJS","MEMBER","init","InitLoginForm","initCheckExist","InitRegisterForm","InitMemberModifyForm","submit","$form","ajax","serialize","base_url","success","res","LANG","member_join_success","message","elementLoginID","find","elementLoginPass","val","trim","member_login_userid_required","member_login_password_required","reurl","error","each","$btn","$target","member_join_user_id_required","wordCheck","denyWordCheck","member_join_no_valid_email_address","getInfo","member_join_user_id_already_exists","member_join_user_id_available","member_join_user_id_contains_deny_word","info","async","cache","POP_CHANGE_PHOTO","ready","BOARD","CATEGORY","EXTRA","COMMENT","count","bca_idx","postCount","modify","cmt_idx","reply","cmt_num","$form_post","blockUI","css","left","backgroundColor","cursor","baseZ","overlayCSS","opacity","DateFormatter","doc","reIsJson","reMs","reSnakeCase","reCamelCase","reDot","reInt","reNotNum","reMoneySplit","RegExp","reAmp","reEq","reClassNameSplit","ax5","U","guid","getGuid","_arguments","browser","ua","mobile","browserName","match","browserVersion","navigator","userAgent","toLowerCase","search","version","exec","isBrowser","wheelEnm","test","errorMsg","baseUrl","onerror","toArray","eventKeys","BACKSPACE","TAB","RETURN","ESC","LEFT","UP","RIGHT","DOWN","DELETE","HOME","END","PAGEUP","PAGEDOWN","INSERT","SPACE","weekNames","label","supportTouch","maxTouchPoints","msMaxTouchPoints","supportFileApi","FileReader","File","FileList","Blob","urlUtil","urls","param","referrer","pathname","hostname","port","hashdata","last","getError","className","errorCode","methodName","msg","_toString","O","_fn","isNothing","toJson","jsonString","util","isArray","isObject","jsonObjectBody","isString","isNumber","isUndefined","str","pos","substr","right","lastIndexOf","camelCase","all","letter","toUpperCase","snakeCase","number","cond","isMinus","returnValue","pair","Number","k","nUnit","myByte","Math","round","abs","floor","ceil","txtNumber","isNaN","arrNumber","localDate","yy","mm","dd","hh","mi","ss","utcD","UTC","getUTCHours","getTimezoneOffset","setUTCHours","date","nY","nH","nMM","nS","nDW","regY","regM","regD","regH","regMI","regS","regDW","fStr","nM","nD","aDateTime","aTimes","aTime","aDate","va","parseFloat","substring","_d","opts","mxdd","setTime","getTime","getFullYear","getMonth","getDate","daysOfMonth","parseInt","processor","firstDayOfMonth","lastDayOfMonth","getUTCFullYear","setDigit","getHours","getMinutes","getSeconds","getDay","$1","y","num","padder","radix","times","selectRange","textRange","selectAll","el","offset","arr","moveStart","collapse","moveEnd","start","end","setStart","setEnd","firstChild","rangeType","createTextRange","moveToElementText","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","now","trailingEdge","setTimeout","timeSinceLastInvoke","min","remainingWait","debounced","isInvoking","_len","_key","leadingEdge","max","cancel","clearTimeout","flush","escapeHtml","unescapeHtml","results","fnResult","reduce","tokenItem","reduceRight","filter","sum","defaultValue","tokenValue","avg","parseJson","force","Function","first","keys","item","deepCopy","r","getType","typeName","isWindow","isElement","isNodelist","setCookie","cn","cv","exdays","expire","setDate","escape","getCookie","cname","ca","charAt","unescape","merge","second","j","v","dday","diffnum","memoryDay","DyMilli","today","getDayTime","weeksOfMonth","myDate","year","month","findParentNode","tagName","toLocaleLowerCase","klasss","hasClass","a","cssNumber","found","unit","returns","vSplited","isDate","valueOf","isDateFormat","stopEvent","event","cancelBubble","stopPropagation","throttle","_string","format","concat","decode","_pos","color","_hexColor","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","rgb","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","convertToPercentage","convertTo255","convertToHex","bound01","isOnePointZero","processPercent","isPercentage","rgbToHsl","g","b","h","hslToRgb","hue2rgb","q","_color","_originalValue","convertObject","_format","_hex","getHexValue","lighten","amount","darken","getBrightness","isDark","isLight","getHsl","def","501","401","402","460","461","hwp","hdeb","de","del","_f","re_trim","propertyIsEnumerable","prop","fun","thisp","bound","nop","createStyleSheet","maxCount","resultSet","addRule","currentStyle","foo","removeRule","Infinity","sJSON","vContent","splice","documentMode","_splice","_slice","begin","size","cloned","upTo","con","method","empty","dummy","properties","methods","pop","webkitMatchMedia","mozMatchMedia","oMatchMedia","msMatchMedia","matchMedia","getElementsByTagName","styleMedia","media","script","id","insertBefore","getComputedStyle","matchMedium","styleSheet","cssText","textContent","addListener","localMatchMedia","hasMediaQueries","isListening","timeoutID","queries","handleChange","evt","il","mql","listeners","jl","index","removeListener","ui","setConfig","cfg","callInit","bindWindowResize","callBack","resize","bindWindowResize__","main","addClass","cls","classStore","wrapper","arg","instanceId","initInstance","global","mustache","objectToString","escapeRegExp","hasProperty","propName","regExpTest","nonSpaceRe","isWhitespace","re","testRegExp","entityMap","&","<",">","\"","'","/","whiteRe","spaceRe","equalsRe","curlyRe","tagRe","Scanner","tail","Context","view","parentContext",".","@each","@key","@value","parent","Writer","eos","scan","scanUntil","lookup","names","context","lookupHit","clearCache","template","tags","tokens","openingTagRe","closingTagRe","closingCurlyRe","sections","spaces","hasTag","nonSpace","stripSpace","compileTags","tagsToCompile","chr","token","openSection","scanner","valueLength","nestedTokens","collector","numTokens","nestTokens","lastToken","squashedTokens","squashTokens","parseTemplate","render","partials","renderTokens","originalTemplate","symbol","buffer","renderSection","renderInverted","renderPartial","unescapedValue","escapedValue","rawValue","defaultWriter","to_html","send","UI","MASK","theme","animateTime","maskContent","status","onStateChanged","that","setBody","content","templateName","maskConfig","_cfg","maskId","$mask","tmpl","getBodyTmpl","append","_$target","align","zIndex","state","_delay","_close","removeClass","fadeOut","pullRequest","mask_instance","mask","defaultMask","columnKeys","tmplName","MODAL","ENM","mousedown","mousemove","mouseup","getMousePosition","mouseObj","changedTouches","clientX","clientY","minimizePosition","clickEventName","closeToEsc","disableDrag","disableResize","iframe","activeModal","watingModal","eventProcessor","onResize","move","modalId","header","fullScreen","styles","iframeLoadingMsg","absolute","hide","show","onkeyup","isButton","isFullScreen","mousePosition","moveModal","btnOnClick","originalEvent","resizeModal","srcElement","btns","dialogId","btnTarget","keyCode","alignProcessor","top-left","top-right","bottom-left","bottom-right","center-middle","modalZIndex","modalOffset","modalBox","scrollLeft","__dx","__dy","resizerBg","resizer","getResizerPosition","box","modalConfig","removeAttr","resizerType","resizerProcessor","minHeight","shiftKey","altKey","bottom","minWidth","cursorType","headerHeight","unbind","tryCount","_option","$iframe","iframeObject","idoc","contentDocument","contentWindow","children","innerHTML","CollectGarbage","minimized","minimize","originalHeight","restore","setModalConfig","_config","_fullScreen","modal_instance","modal","TOAST","toastSeq","toastSeqClear","icon","closeIcon","ok","displayTime","containerPosition","toastContainer","queue","getContent","toastId","toastBox","containerId","prepend","toastType","btn_target","dialogConfig","confirm","toast_instance","toast","toastDisplay","orig","widgetUuid","widgetSlice","cleanData","elems","events","elem","_data","triggerHandler","widget","base","existingConstructor","basePrototype","proxiedPrototype","namespace","fullName","Widget","expr","_createWidget","_proto","_childConstructors","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","input","inputIndex","inputLength","isPlainObject","isMethodCall","methodValue","jquery","pushStack","_init","defaultElement","classes","disabled","uuid","eventNamespace","bindings","hoverable","focusable","classesElementLookup","_on","ownerDocument","defaultView","parentWindow","_getCreateOptions","_create","_setOptionDisabled","_trigger","_getCreateEventData","noop","_destroy","_removeClass","removeData","curOption","_setOptions","_setOption","_setOptionClasses","classKey","currentElements","_classes","add","_toggleClass","enable","disable","full","processClassString","checkOption","current","unique","extra","_untrackClassesElement","inArray","_addClass","toggleClass","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","eventName","_off","delay","_hoverable","mouseenter","mouseleave","_focusable","focusin","focusout","Event","isDefaultPrevented","defaultEffect","hasOptions","effect","effectName","duration","isEmptyObject","complete","effects","easing","next","cachedScrollbarWidth","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","offsets","parseCss","scrollbarWidth","w1","w2","div","innerDiv","offsetWidth","clientWidth","getScrollInfo","within","overflowX","isDocument","overflowY","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","of","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","scrollInfo","collision","pageY","pageX","at","horizontalOffset","verticalOffset","collisionPosition","using","elemWidth","elemHeight","marginLeft","marginTop","collisionWidth","collisionHeight","myOffset","my","dir","feedback","horizontal","vertical","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit","createPseudo","dataName","COMMA","ENTER","ESCAPE","PAGE_DOWN","PAGE_UP","PERIOD","scrollParent","includeHidden","excludeStaticParent","overflowRegex","parents","eq","uniqueId","removeUniqueId","ie","mouseHandled","distance","_mouseInit","_mouseDown","stopImmediatePropagation","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","which","elIsCancel","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","button","ctrlKey","metaKey","ignoreMissingWhich","_mouseDrag","_mouseStop","mouse","appendTo","axis","connectWith","containment","cursorAt","dropOnEmpty","forcePlaceholderSize","forceHelperSize","grid","handle","helper","items","placeholder","revert","scroll","scrollSensitivity","scrollSpeed","scope","tolerance","activate","beforeStop","change","deactivate","out","over","receive","sort","stop","update","_isOverAxis","x","reference","_isFloating","containerCache","refresh","_setHandleClassName","overrideHandle","currentItem","validHandle","reverting","_refreshItems","addBack","_removeCurrentsFromItems","noActivation","currentContainer","refreshPositions","_createHelper","_cacheHelperProportions","_cacheMargins","margins","_getParentOffset","relative","_getRelativeOffset","cssPosition","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","domPosition","prev","_createPlaceholder","_setContainment","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","overflowOffset","_uiHash","_preserveHelperProportions","containers","ddmanager","dropBehaviour","prepareOffsets","dragging","itemElement","intersection","scrolled","positionAbs","_convertPositionTo","lastPositionAbs","offsetHeight","_intersectsWithPointer","contains","direction","_intersectsWithSides","_rearrange","_contactContainers","drag","noPropagation","drop","cur","animation","offsetParent","animate","_clear","_storedCSS","_noFinalSort","after","_getItemsAsjQuery","connected","expression","ret","_intersectsWith","x1","x2","helperProportions","y1","y2","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","horizontalDirection","_getDragVerticalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","delta","_connectWith","inst","addItems","list","grep","targetData","_queries","queriesLength","fast","toleranceElement","custom","refreshContainers","_createTrPlaceholder","innerHeight","innerWidth","sourceTr","targetTr","dist","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","clone","po","ce","co","mod","scrollIsRootNode","hardRefresh","nextSibling","counter","delayedTriggers","before","delayEvent","fromOutside","cancelHelperRemoval","_inst","sender","safeActiveElement","activeElement","icons","submenu","menus","role","blur","activeMenu","tabIndex","mousedown .ui-menu-item","click .ui-menu-item","active","isPropagationStopped","has","expand","timer","mouseenter .ui-menu-item","previousFilter","actualTarget","siblings","mouseleave .ui-menu","keepActiveItem","collapseAll","keydown","_closeOnDocumentClick","submenus","_keydown","character","skip","previousPage","nextPage","_move","previous","_activate","fromCharCode","filterTimer","_filterMenuItems","nextAll","newSubmenus","newItems","newWrappers","aria-hidden","aria-expanded","menu","submenuCaret","_isDivider","_itemRole","listbox","nested","focused","activeParent","_scrollIntoView","_startOpening","borderTop","paddingTop","elementHeight","itemHeight","_hasScroll","fromFocus","_open","currentMenu","startMenu","newItem","isFirstItem","prevAll","isLastItem","escapedCharacter","regex","autoFocus","minLength","source","response","requestIndex","pending","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isInput","isMultiLine","_isContentEditable","valueMethod","isNewMenu","_keyEvent","_value","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_change","_initSource","_appendTo","menufocus","one","liveRegion","menuselect","aria-live","aria-relevant","beforeunload","xhr","abort","_isEventTargetInWidget","menuElement","_closeOnClickOutside","array","request","autocomplete","dataType","equalValues","menuVisible","modifierKey","_search","cancelSearch","_response","proxy","__response","_normalize","_suggest","ul","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","editable","escapeRegex","matcher","messages","noResults","datepicker_instActive","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","appendText","buttonText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onSelect","onChangeMonthYear","onClose","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","autoSize","en","dpDiv","datepicker_bindHover","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","markerClassName","maxRows","_widgetDatepicker","setDefaults","settings","_attachDatepicker","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_get","_showDatepicker","src","alt","html","_lastInput","_hideDatepicker","findMax","maxI","setMonth","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","scrollX","scrollY","_dialogInst","_dialogInput","clientHeight","_destroyDatepicker","_enableDatepicker","_getInst","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","sel","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","chars","_possibleChars","charCode","lastVal","parseDate","_getFormatConfig","beforeShowSettings","isFixed","_findPos","display","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","cols","activeCell","yearshtml","replaceWith","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","filters","hidden","postProcess","_tidyDialog","unblockUI","_checkExternalClick","period","_adjustInstDate","currentDay","currentMonth","currentYear","_notifyChange","_selectMonthYear","selectedIndex","td","_selectDate","formatDate","noWeekends","day","checkDate","iFormat","dim","iValue","shortYearCutoffTemp","doy","literal","lookAhead","getNumber","isDoubled","digits","getName","shortNames","longNames","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","formatName","output","dates","_restrictMinMax","_determineDate","newDate","pattern","offsetString","offsetNumeric","setHours","setMinutes","setSeconds","noChange","clear","origMonth","origYear","selectDay","selectMonth","selectYear","maxDraw","gotoDate","controls","buttonPanel","dow","row","group","col","selectedDate","cornerClass","calender","thead","daysInMonth","leadDays","curRows","numRows","printDate","dRow","tbody","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","secondary","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","onChange","minMax","curYear","curMonth","yearSplit","minYear","maxYear","initialized","otherArgs","u","dateSettings","daysShort","months","monthsShort","meridiem","ordinal","1","2","3","separators","validParts","intParts","tzParts","tzClip","f","hour","sec","guessDate","setFullYear","parseFormat","D","w","N","z","Y","W","F","M","L","A","G","B","getUTCMinutes","getUTCSeconds","H","I","P","T","Z","datetimepickerFactory","default_options","i18n","ar","dayOfWeekShort","dayOfWeek","ro","bg","fa","ru","uk","nl","tr","fr","es","th","pl","pt","se","km","kr","it","da","no","ja","vi","sl","cs","hu","az","bs","en-GB","et","eu","fi","gl","hr","ko","lt","lv","mk","mn","pt-BR","sk","sq","sr-YU","sr","sv","zh-TW","zh","ug","he","hy","kg","rm","ka","rtl","formatTime","startDate","step","monthChangeSpinner","closeOnDateSelect","closeOnTimeSelect","closeOnWithoutClick","closeOnInputClick","openOnFocus","timepicker","weeks","defaultTime","minTime","maxTime","minDateTime","maxDateTime","allowTimes","opened","initTime","touchMovedThreshold","onSelectDate","onSelectTime","onChangeMonth","onGetWeekOfYear","onChangeYear","onChangeDateTime","onShow","onGenerate","withoutCopyright","inverseButton","hours12","dayOfWeekStart","parentID","timeHeightInTimePicker","timepickerScrollbar","todayButton","prevButton","nextButton","defaultSelect","scrollMonth","scrollTime","scrollInput","lazyInit","validateOnBlur","allowBlank","yearStart","yearEnd","monthStart","monthEnd","fixed","roundTime","weekends","highlightedDates","highlightedPeriods","allowDates","allowDateRe","disabledDates","disabledWeekDays","yearOffset","enterLikeTab","showApplyButton","dateHelper","defaultDateHelper","globalLocale","dateFormatterOptionsDefault","initDateFormatter","locale","dateFormatters","moment","formatter","isFormatStandard","isValid","toDate","formatMask","datetimepicker","setLocale","newLocale","setDateFormatter","dateFormatter","df","standardFormats","values","HighlightedDate","desc","getPropertyValue","countDaysInMonth","xdsoftScroller","percent","timebox","parentHeight","scrollbar","scroller","timeboxparent","pointerEventToXY","touch","touches","maximumOffset","startY","startTop","h1","touchStart","startTopScroll","calcOffset","arguments_callee","percentage","noTriggerScroll","deltaY","coord","opt","opt2","createDateTimePicker","destroyDateTimePicker","KEY0","KEY9","_KEY0","_KEY9","CTRLKEY","DEL","ARROWLEFT","ARROWUP","ARROWRIGHT","ARROWDOWN","F5","AKEY","CKEY","VKEY","ZKEY","YKEY","ctrlDown","lazyInitTimer","xchangeTimer","timerclick","current_time_index","setPos","_xdsoft_datetime","forEachAncestorOf","xdsoft_copyright","month_picker","calendar","applyButton","monthselect","yearselect","triggerAfterOpen","visible","currentTime","handleTouchMoved","touchPosition","touchStartPosition","xMovement","yMovement","sqrt","touchMoved","getCurrentValue","ct","strToDate","strToDateTime","strtotime","isValidDate","setMask","isValidValue","reg","setCaretPos","getElementById","pastedData","clipboardData","getData","selectionStart","valueBeforeCursor","valueAfterPaste","digit","selEnd","selectionEnd","hasSel","maskValueAtCurPos","posShorterThanMaskLength","posGreaterThanZero","selLength","defaultBlank","selReplacementRemainder","valueBeforeSel","insertChars","charsAfterSelection","insertChar","valueAfterNextChar","getValue","getCurrentTime","setOptions","_options","exDesc","splitData","hDate","keyDate","dateTest","dateEnd","setCurrentTime","toggle","splittedHours","splittedMinutes","dayOfWeekStartPrev","norecursion","dTime","requireValidDate","nextMonth","prevMonth","getWeekOfYear","datetime","week","onejan","sDateTime","timeOffset","tmpDate","sDate","sTime","$this","arguments_callee1","arguments_callee2","arguments_callee4","pheight","arguments_callee5","customDateSettings","line_time","description","maxDateTimeDay","table","newRow","minTimeMinutesOfDay","maxTimeMinutesOfDay","current_time","isALlowTimesInit","currentMinutesOfDay","classType","xdevent","deltaX","$input","dateInputOffset","dateInputElem","verticalPosition","datetimepickerElem","dateInputHasFixedAncestor","$dateInput","windowWidth","verticalAnchorEdge","datetimepickerCss","windowHeight","windowScrollTop","diff","ancestorNode","arguments_callee6","elementSelector","unmousewheel","initOnActionCallback","nullLowestDeltaTimeout","lowestDelta","toFix","toBind","fixHooks","mouseHooks","special","mousewheel","setup","onmousewheel","getLineHeight","getPageHeight","teardown","$elem","$parent","adjustOldDeltas","normalizeOffset","absDelta","orgEvent","offsetX","offsetY","fix","detail","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaMode","lineHeight","pageHeight","shouldAdjustOldDeltas","getBoundingClientRect","boundingRect","deltaFactor","unshift","nullLowestDelta","dispatch","_fadeIn","fadeIn","noOp","msie","ie6","setExpr","setExpression","install","growlUI","timeout","$m","callBlock","centerY","showOverlay","onUnblock","growlCSS","mouseover","displayBlock","fadeTo","mouseout","block","fullOpts","$el","ignoreIfBlocked","unblock","zoom","draggable","textAlign","themedCSS","cursorReset","-webkit-border-radius","-moz-border-radius","border-radius","iframeSrc","forceIframe","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","lyr1","lyr2","lyr3","layers","$par","boxModel","sz","fixT","fixL","cb","cb1","cb2","center","to","els","reset","cssW","fwd","back","regexp","inpts","getMatches","pLength","mCount","iCount","processMatch","valLength","mLength","utils","destObj","addChars","removeChars","isBetween","bounds","attachEvent","getClip","getMatchingKey","isDelKeyDown","backspace","delete","isDelKeyPress","isSpecialKeyPress","tab","enter","home","leftarrow","uparrow","rightarrow","downarrow","isModifier","collection","patternMatcher","inptSel","persistent","repeat","inptRegs","9","*","Formatter","patterns","_specFromSinglePattern","_updatePattern","hldrs","_keyDown","_keyPress","_paste","_processKey","_focus","addInptType","resetPattern","_removeChars","newPattern","getPattern","isSpecial","isAfterStart","isFirstChar","delKey","ignoreCaret","_delete","_formatValue","_nextPos","newPos","_validateInpts","_addChars","curChar","curHldr","inptType","isBadType","isInvalid","inBounds","focusStart","_addChar","patternStr","parseMatcher","patternSpec","matcherStr","parsedPattern","regExpMatcher","matchedIndex","parentElement","inputRange","endRange","moveToBookmark","getBookmark","compareEndPoints","formatted","appendToTmplItems","oldManip","domManip","tmplItmAtt","htmlExpr","newTmplItems","wrappedItems","topTmplItem","itemKey","cloneIndex","stack","newTmplItem","parentItem","_wrap","nodes","calls","tiCalls","nest","tiNest","wrap","tiWrap","tiHtml","tiUpdate","_ctnt","build","tmplItem","frag","middle","storeTmplItems","unencode","makeArray","childNodes","buildTmplFn","markup","slash","fnargs","parens","exprAutoFnDetect","tag","_default","$2","updateWrapped","wrapped","keySuffix","newClonedItems","processItemKey","pntKey","pntItem","pntNode","cloneTmplItem","textOnly","innerText","outerHTML","cloneNode","coll","prependTo","insertAfter","replaceAll","original","tmplItems","insert","dmArgs","elemsLength","fragClone","afterManip","topLevel","dataItem","if","else","=","!","initAjaxDefaultSetting","initMenu","initAx5","initPlugins","initCheckboxAll","ajaxError","responseJSON","toastr","ajaxStart","ajaxComplete","menuActive","_updateDatepicker_original","afterShow","$check","is_all","checked","$allCheck","MASK2","modal2","backdrop","Dropdown","getParent","clearMenus","relatedTarget","VERSION","isActive","$items","old","dropdown","noConflict","defaultCss","defaultOption","modalCallback","modalSendData","sendData","modalCss","modalAlign","maximize","MODAL2","keyCheck","existCheck","brd_key","is_raw","form","bca_parent","post_count","bmt_idx","faq","fac_idx","faq_idx","category","exist","total_count","POP_INFO_ADMIN","mem_idx","POP_PASSWORD_ADMIN","POP_MODIFY_ADMIN","POP_POINT_ADMIN","POP_POINT_FORM_ADMIN","STATUS_CHANGE","current_status","change_status","common_msg_invalid_access","change_status_msg","member_status_y","member_status_n","member_status_d","member_status_h"],"mappings":"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","sourcesContent":["/*!\n * clipboard.js v2.0.1\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});","/*!\r\n * jQuery Cookie Plugin v1.4.1\r\n * https://github.com/carhartl/jquery-cookie\r\n *\r\n * Copyright 2006, 2014 Klaus Hartl\r\n * Released under the MIT license\r\n */\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD (Register as an anonymous module)\r\n define(['jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node/CommonJS\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n // Browser globals\r\n factory(jQuery);\r\n }\r\n}(function ($) {\r\n\r\n var pluses = /\\+/g;\r\n\r\n function encode(s) {\r\n return config.raw ? s : encodeURIComponent(s);\r\n }\r\n\r\n function decode(s) {\r\n return config.raw ? s : decodeURIComponent(s);\r\n }\r\n\r\n function stringifyCookieValue(value) {\r\n return encode(config.json ? JSON.stringify(value) : String(value));\r\n }\r\n\r\n function parseCookieValue(s) {\r\n if (s.indexOf('\"') === 0) {\r\n // This is a quoted cookie as according to RFC2068, unescape...\r\n s = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\r\n }\r\n\r\n try {\r\n // Replace server-side written pluses with spaces.\r\n // If we can't decode the cookie, ignore it, it's unusable.\r\n // If we can't parse the cookie, ignore it, it's unusable.\r\n s = decodeURIComponent(s.replace(pluses, ' '));\r\n return config.json ? JSON.parse(s) : s;\r\n } catch(e) {}\r\n }\r\n\r\n function read(s, converter) {\r\n var value = config.raw ? s : parseCookieValue(s);\r\n return $.isFunction(converter) ? converter(value) : value;\r\n }\r\n\r\n var config = $.cookie = function (key, value, options) {\r\n\r\n // Write\r\n\r\n if (arguments.length > 1 && !$.isFunction(value)) {\r\n options = $.extend({}, config.defaults, options);\r\n\r\n if (typeof options.expires === 'number') {\r\n var days = options.expires, t = options.expires = new Date();\r\n t.setMilliseconds(t.getMilliseconds() + days * 864e+5);\r\n }\r\n\r\n return (document.cookie = [\r\n encode(key), '=', stringifyCookieValue(value),\r\n options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\r\n options.path ? '; path=' + options.path : '',\r\n options.domain ? '; domain=' + options.domain : '',\r\n options.secure ? '; secure' : ''\r\n ].join(''));\r\n }\r\n\r\n // Read\r\n\r\n var result = key ? undefined : {},\r\n // To prevent the for loop in the first place assign an empty array\r\n // in case there are no cookies at all. Also prevents odd result when\r\n // calling $.cookie().\r\n cookies = document.cookie ? document.cookie.split('; ') : [],\r\n i = 0,\r\n l = cookies.length;\r\n\r\n for (; i < l; i++) {\r\n var parts = cookies[i].split('='),\r\n name = decode(parts.shift()),\r\n cookie = parts.join('=');\r\n\r\n if (key === name) {\r\n // If second argument (value) is a function it's a converter...\r\n result = read(cookie, value);\r\n break;\r\n }\r\n\r\n // Prevent storing a cookie that we couldn't decode.\r\n if (!key && (cookie = read(cookie)) !== undefined) {\r\n result[name] = cookie;\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n config.defaults = {};\r\n\r\n $.removeCookie = function (key, options) {\r\n // Must not alter options, thus extending a fresh object...\r\n $.cookie(key, '', $.extend({}, options, { expires: -1 }));\r\n return !$.cookie(key);\r\n };\r\n\r\n}));","/***********************************************************************************\r\n * IE 8 이하 브라우져 console.log 에러처리\r\n ***********************************************************************************/\r\nif(!window.console || !window.console.log) {window.console = {log : function(){}};}\r\n\r\nvar APP = {};\r\nAPP.POPUP = null;\r\nAPP.REGEX = {};\r\nAPP.REGEX.uniqueID = /^[a-z][a-z0-9_]{2,19}$/g;\r\n(function($) {\r\n APP.POPUP = function(option) {\r\n var defaults={\r\n title : '_blank',\r\n width : 800,\r\n height : 600,\r\n url : ''\r\n };\r\n\r\n var options = $.extend({}, defaults, option);\r\n\r\n cw = screen.availWidth;\r\n ch = screen.availHeight;\r\n sw = options.width;\r\n sh = options.height;\r\n\r\n ml = (cw - sw) / 2;\r\n mt = (ch - sh) / 2;\r\n var option = 'width='+sw+',height='+sh+',top='+mt+',left='+ml+',scrollbars=yes,resizable=no';\r\n var win = window.open(options.url, options.title, option);\r\n if (win == null || typeof(win) == \"undefined\" || (win == null && win.outerWidth == 0) || (win != null && win.outerHeight == 0))\r\n {\r\n alert(\"팝업 차단 기능이 설정되어있습니다\\n\\n차단 기능을 해제(팝업허용) 한 후 다시 이용해 주십시오.\");\r\n return;\r\n }\r\n };\r\n})(jQuery);\r\n\r\n/**\r\n * 언어셋 변경\r\n * @param lang\r\n * @constructor\r\n */\r\nAPP.SET_LANG = function(lang)\r\n{\r\n $.cookie('site_lang', lang, {expires:30, path:'/'});\r\n location.reload();\r\n};\r\n\r\n/**\r\n * 팝업창 닫기버튼 init\r\n */\r\n$('[data-toggle=\"btn-popup-close\"]').click(function(e){\r\n var type = $(this).data('type');\r\n var idx = $(this).data('idx');\r\n var cookie = $(this).data('cookie');\r\n\r\n if( type == 'Y')\r\n {\r\n window.close();\r\n }\r\n else if( type == 'N' )\r\n {\r\n $(\"#popup-\" + idx ).remove();\r\n }\r\n\r\n if( cookie == 1 )\r\n {\r\n $.cookie('popup_'+idx, 1, {expires:1, path:'/'});\r\n }\r\n});\r\n\r\n/**\r\n * SNS 공유\r\n */\r\n$(\"a[data-toggle='sns-share']\").not('[data-service=\"link\"]').click(function(e){\r\n e.preventDefault();\r\n\r\n var _this = $(this);\r\n var sns_type = _this.data('service');\r\n var href = _this.data('url');\r\n var title = _this.data('title');\r\n var loc = \"\";\r\n var img = $(\"meta[name='og:image']\").attr('content');\r\n\r\n if( ! sns_type || !href || !title) return;\r\n\r\n if( sns_type == 'facebook' ) {\r\n loc = '//www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'twitter' ) {\r\n loc = '//twitter.com/home?status='+encodeURIComponent(title)+' '+href;\r\n }\r\n else if ( sns_type == 'google' ) {\r\n loc = '//plus.google.com/share?url='+href;\r\n }\r\n else if ( sns_type == 'pinterest' ) {\r\n\r\n loc = '//www.pinterest.com/pin/create/button/?url='+href+'&media='+img+'&description='+encodeURIComponent(title);\r\n }\r\n else if ( sns_type == 'kakaostory') {\r\n loc = 'https://story.kakao.com/share?url='+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'band' ) {\r\n loc = 'http://www.band.us/plugin/share?body='+encodeURIComponent(title)+'%0A'+encodeURIComponent(href);\r\n }\r\n else if ( sns_type == 'naver' ) {\r\n loc = \"http://share.naver.com/web/shareView.nhn?url=\"+encodeURIComponent(href)+\"&title=\"+encodeURIComponent(title);\r\n }\r\n else if ( sns_type == 'line') {\r\n loc = \"http://line.me/R/msg/text/?\" + encodeURIComponent(title + \"\\n\" + href);\r\n }\r\n else {\r\n return false;\r\n }\r\n APP.POPUP({ url : loc});\r\n return false;\r\n});\r\n\r\n$(function(){\r\n var clipboard = new ClipboardJS('a[data-toggle=\"sns-share\"][data-service=\"link\"]', {\r\n text: function(trigger) {\r\n return trigger.getAttribute('data-url');\r\n }\r\n });\r\n clipboard.on('success', function(){\r\n alert('현재 URL이 복사되었습니다.');\r\n });\r\n});","/**********************************************************************************************************************\r\n * 회원정보 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_INFO_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 정보'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/info/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 비밀번호 변경 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_PASSWORD_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '비밀번호 변경'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/password/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 정보수정 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_MODIFY_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 정보 수정'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/modify/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 포인트 정보 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_POINT_ADMIN = function(mem_idx) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx ) {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :600,\r\n header : {\r\n title : '회원 포인트 관리'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/point/' + mem_idx,\r\n param : {}\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 포인트 추가 팝업\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.POP_POINT_FORM_ADMIN = function(mem_idx) {\r\n var mem_idx = typeof mem_idx != 'undefined' && mem_idx ? mem_idx : null;\r\n if(! mem_idx) {\r\n alert('잘못된 접근입니다.');\r\n return;\r\n }\r\n\r\n APP.MODAL2.callback = function(){\r\n location.reload();\r\n };\r\n APP.MODAL2.open({\r\n width: 410,\r\n height :200,\r\n header : {\r\n title : '회원 포인트 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/members/point_form/' + mem_idx\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * 회원 STATUS 변경\r\n *********************************************************************************************************************/\r\nAPP.MEMBER.STATUS_CHANGE = function(mem_idx, current_status, change_status) {\r\n if( typeof mem_idx == 'undefined' || ! mem_idx || typeof current_status == 'undefined' || ! current_status || typeof change_status == 'undefined' || ! change_status ) {\r\n alert(LANG.common_msg_invalid_access);\r\n return false;\r\n }\r\n var change_status_msg = '';\r\n if( change_status == 'Y' ) change_status_msg = LANG.member_status_y;\r\n else if (change_status == 'N') change_status_msg = LANG.member_status_n;\r\n else if (change_status == 'D') change_status_msg = LANG.member_status_d;\r\n else if (change_status == 'H') change_status_msg = LANG.member_status_h;\r\n else {\r\n alert(LANG.common_msg_invalid_access);\r\n return false;\r\n }\r\n\r\n if( ! confirm('해당 회원의 상태를 [' + change_status_msg + '] 상태로 변경합니까?') ) return;\r\n $.ajax({\r\n url : '/ajax/members/status',\r\n type : 'POST',\r\n async : false,\r\n cache : false,\r\n data : {\r\n mem_idx : mem_idx,\r\n current_status : current_status,\r\n change_status : change_status\r\n },\r\n success:function(){\r\n alert('지정한 회원의 상태를 [' + change_status_msg + '] 상태로 변경하였습니다.');\r\n location.reload();\r\n }\r\n })\r\n};\r\n\r\n$(function(){\r\n\r\n});\r\n","APP.BOARD.keyCheck = function(value) {\r\n if (value == '') return \"게시판 고유키를 입력하세요\";\r\n if (!APP.REGEX.uniqueID.test(value)) return \"게시판 고유키는 영어 소문자로 시작하는 3~20 글자로 영어와 숫자만 사용가능합니다.\";\r\n if (APP.BOARD.existCheck(value)) return \"이미 존재하는 키 입니다.\";\r\n\r\n return true;\r\n};\r\n\r\nAPP.BOARD.existCheck = function(brd_key) {\r\n var info = null;\r\n $.ajax({\r\n url : base_url + '/ajax/board/info',\r\n type : 'get',\r\n async : false,\r\n cache : false,\r\n data : {\r\n brd_key : brd_key,\r\n is_raw : true\r\n },\r\n success:function(res){\r\n info = res;\r\n }\r\n });\r\n return info;\r\n};\r\n\r\nAPP.BOARD.CATEGORY.form = function(brd_key, bca_parent, bca_idx) {\r\n var brd_key = typeof brd_key != 'undefined' && brd_key ? brd_key : null;\r\n var bca_parent = typeof bca_parent != 'undefined' && bca_parent >= 0 ? bca_parent : null;\r\n var bca_idx = typeof bca_idx != 'undefined' && bca_idx ? bca_idx : null;\r\n\r\n if(! brd_key )\r\n {\r\n alert('게시판이 지정되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n if(parseInt(bca_parent) < 0)\r\n {\r\n alert('부모 카테고리가 선택되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 400,\r\n height :200,\r\n header : {\r\n title : bca_idx ? '카테고리 정보 수정' : '카테고리 추가'\r\n },\r\n callback : function(){\r\n parent.location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/board/category_form',\r\n param : {\r\n brd_key : brd_key,\r\n bca_parent : bca_parent,\r\n bca_idx : bca_idx\r\n }\r\n }\r\n });\r\n};\r\n\r\nAPP.BOARD.CATEGORY.remove = function(bca_idx) {\r\n \r\n if( APP.BOARD.CATEGORY.count(bca_idx) > 0 )\r\n {\r\n alert('해당 카테고리의 하위 카테고리가 존재합니다. 하위 카테고리를 먼저 삭제해주세요');\r\n return false;\r\n }\r\n\r\n var post_count = APP.BOARD.CATEGORY.postCount(bca_idx);\r\n if( post_count > 0 )\r\n {\r\n if(! confirm('해당 카테고리에 등록된 글이 '+post_count+'건이 있습니다. 삭제를 진행하시겠습니까?' )) {\r\n return false;\r\n }\r\n }\r\n\r\n if(! confirm('해당 카테고리를 삭제하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : base_url + \"/ajax/board/category\",\r\n type : 'DELETE',\r\n cache : false,\r\n async: false,\r\n data : {\r\n bca_idx : bca_idx\r\n },\r\n success:function(res){\r\n if( res.result )\r\n {\r\n alert('카테고리 삭제에 성공하였습니다.');\r\n location.reload();\r\n }\r\n else {\r\n alert('카테고리 삭제에 실패하였습니다.');\r\n location.reload();\r\n }\r\n }\r\n })\r\n};\r\n\r\nAPP.BOARD.EXTRA.form = function(brd_key, bmt_idx)\r\n{\r\n brd_key = typeof brd_key !='undefined' && brd_key ? brd_key : null;\r\n bmt_idx = typeof bmt_idx !='undefined' && bmt_idx ? bmt_idx : null;\r\n\r\n if(! brd_key )\r\n {\r\n alert('게시판이 지정되지 않았습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 400,\r\n height :200,\r\n header : {\r\n title : bmt_idx ? '입력필드 수정' : '입력필드 추가'\r\n },\r\n callback : function(){\r\n parent.location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/board/extra_form',\r\n param : {\r\n brd_key : brd_key,\r\n bmt_idx : bmt_idx\r\n }\r\n }\r\n });\r\n};\r\n\r\nAPP.BOARD.EXTRA.remove = function(brd_key,bmt_idx)\r\n{\r\n brd_key = typeof brd_key !='undefined' && brd_key ? brd_key : null;\r\n bmt_idx = typeof bmt_idx !='undefined' && bmt_idx ? bmt_idx : null;\r\n\r\n if(! bmt_idx )\r\n {\r\n alert('잘못된 접근입니다.');\r\n return false;\r\n }\r\n\r\n if(! confirm('해당 필드로 등록된 글이 있을경우, 해당 필드값도 같이 사라집니다. 계속 진행 하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : base_url + \"/ajax/board/extra\",\r\n type : 'DELETE',\r\n cache : false,\r\n async: false,\r\n data : {\r\n brd_key : brd_key,\r\n bmt_idx : bmt_idx\r\n },\r\n success:function(res){\r\n if( res.result )\r\n {\r\n alert('입력필드 삭제에 성공하였습니다.');\r\n location.reload();\r\n }\r\n else {\r\n alert('입력필드 삭제에 실패하였습니다.');\r\n location.reload();\r\n }\r\n }\r\n })\r\n};\r\n\r\n\r\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function () {\n 'use strict';\n\n // root of function\n\n var root = this,\n win = this,\n doc = win ? win.document : null,\n docElem = win ? win.document.documentElement : null,\n reIsJson = /^([\"'](\\\\.|[^\"\\\\\\n\\r])*?[\"']|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$/,\n reMs = /^-ms-/,\n reSnakeCase = /[\\-_]([\\da-z])/gi,\n reCamelCase = /([A-Z])/g,\n reDot = /\\./,\n reInt = /[-|+]?[\\D]/gi,\n reNotNum = /\\D/gi,\n reMoneySplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])'),\n reAmp = /&/g,\n reEq = /=/,\n reClassNameSplit = /[ ]+/g,\n\n\n /** @namespace {Object} ax5 */\n ax5 = {},\n info = void 0,\n U = void 0,\n dom = void 0;\n\n /**\n * guid\n * @member {Number} ax5.guid\n */\n ax5.guid = 1;\n /**\n * ax5.guid를 구하고 증가시킵니다.\n * @method ax5.getGuid\n * @returns {Number} guid\n */\n ax5.getGuid = function () {\n return ax5.guid++;\n };\n\n /**\n * 상수모음\n * @namespace ax5.info\n */\n ax5.info = info = function () {\n var _arguments = arguments;\n\n /**\n * ax5 version\n * @member {String} ax5.info.version\n */\n var version = \"1.4.126\";\n\n /**\n * ax5 library path\n * @member {String} ax5.info.baseUrl\n */\n var baseUrl = \"\";\n\n /**\n * ax5 에러 출력메세지 사용자 재 정의\n * @member {Object} ax5.info.onerror\n * @examples\n * ```\n * ax5.info.onerror = function(){\n * console.log(arguments);\n * }\n * ```\n */\n var onerror = function onerror() {\n console.error(U.toArray(_arguments).join(\":\"));\n };\n\n /**\n * event keyCodes\n * @member {Object} ax5.info.eventKeys\n * @example\n * ```\n * {\n * \tBACKSPACE: 8, TAB: 9,\n * \tRETURN: 13, ESC: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46,\n * \tHOME: 36, END: 35, PAGEUP: 33, PAGEDOWN: 34, INSERT: 45, SPACE: 32\n * }\n * ```\n */\n var eventKeys = {\n BACKSPACE: 8, TAB: 9,\n RETURN: 13, ESC: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46,\n HOME: 36, END: 35, PAGEUP: 33, PAGEDOWN: 34, INSERT: 45, SPACE: 32\n };\n\n /**\n * week names\n * @member {Object[]} weekNames\n * @member {string} weekNames[].label\n *\n * @example\n * ```\n * [\n * {label: \"SUN\"},{label: \"MON\"},{label: \"TUE\"},{label: \"WED\"},{label: \"THU\"},{label: \"FRI\"},{label: \"SAT\"}\n * ]\n * console.log( weekNames[0] );\n * console.log( ax5.info.weekNames[(new Date()).getDay()].label )\n * ```\n */\n var weekNames = [{ label: \"SUN\" }, { label: \"MON\" }, { label: \"TUE\" }, { label: \"WED\" }, { label: \"THU\" }, { label: \"FRI\" }, { label: \"SAT\" }];\n\n /**\n * 사용자 브라우저 식별용 오브젝트\n * @member {Object} ax5.info.browser\n * @example\n * ```\n * console.log( ax5.info.browser );\n * //Object {name: \"chrome\", version: \"39.0.2171.71\", mobile: false}\n * ```\n */\n var browser = function (ua, mobile, browserName, match, browser, browserVersion) {\n if (!win || !win.navigator) return {};\n\n ua = navigator.userAgent.toLowerCase(), mobile = ua.search(/mobile/g) != -1, browserName, match, browser, browserVersion;\n\n if (ua.search(/iphone/g) != -1) {\n return { name: \"iphone\", version: 0, mobile: true };\n } else if (ua.search(/ipad/g) != -1) {\n return { name: \"ipad\", version: 0, mobile: true };\n } else if (ua.search(/android/g) != -1) {\n match = /(android)[ \\/]([\\w.]+)/.exec(ua) || [];\n browserVersion = match[2] || \"0\";\n return { name: \"android\", version: browserVersion, mobile: mobile };\n } else {\n browserName = \"\";\n match = /(opr)[ \\/]([\\w.]+)/.exec(ua) || /(chrome)[ \\/]([\\w.]+)/.exec(ua) || /(webkit)[ \\/]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) || [];\n browser = match[1] || \"\";\n browserVersion = match[2] || \"0\";\n\n if (browser == \"msie\") browser = \"ie\";\n return {\n name: browser,\n version: browserVersion,\n mobile: mobile\n };\n }\n ua = null, mobile = null, browserName = null, match = null, browser = null, browserVersion = null;\n }();\n\n /**\n * 브라우저 여부\n * @member {Boolean} ax5.info.isBrowser\n */\n var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && win.document);\n\n /**\n * 브라우저에 따른 마우스 휠 이벤트이름\n * @member {Object} ax5.info.wheelEnm\n */\n var wheelEnm = win && /Firefox/i.test(navigator.userAgent) ? \"DOMMouseScroll\" : \"mousewheel\";\n\n /**\n * 첫번째 자리수 동사 - (필요한것이 없을때 : 4, 실행오류 : 5)\n * 두번째 자리수 목적어 - 문자열 0, 숫자 1, 배열 2, 오브젝트 3, 함수 4, DOM 5, 파일 6, 기타 7\n * 세번째 자리수 옵션\n * @member {Object} ax5.info.errorMsg\n */\n var errorMsg = {};\n\n /**\n * 현재 페이지의 Url 정보를 리턴합니다.\n * @method ax5.info.urlUtil\n * @returns {Object}\n * @example\n * ```\n * console.log( ax5.util.toJson( ax5.info.urlUtil() ) );\n * {\n *\t\"baseUrl\": \"http://ax5:2018\",\n *\t\"href\": \"http://ax5:2018/samples/index.html?a=1&b=1#abc\",\n *\t\"param\": \"a=1&b=1\",\n *\t\"referrer\": \"\",\n *\t\"pathname\": \"/samples/index.html\",\n *\t\"hostname\": \"ax5\",\n *\t\"port\": \"2018\",\n *\t\"url\": \"http://ax5:2018/samples/index.html\",\n *\t\"hashdata\": \"abc\"\n * }\n * ```\n */\n function urlUtil(url, urls) {\n url = {\n href: win.location.href,\n param: win.location.search,\n referrer: doc.referrer,\n pathname: win.location.pathname,\n hostname: win.location.hostname,\n port: win.location.port\n }, urls = url.href.split(/[\\?#]/);\n url.param = url.param.replace(\"?\", \"\");\n url.url = urls[0];\n if (url.href.search(\"#\") > -1) {\n url.hashdata = U.last(urls);\n }\n urls = null;\n url.baseUrl = U.left(url.href, \"?\").replace(url.pathname, \"\");\n return url;\n }\n\n /**\n * ax5-error-msg.js 에 정의된 ax5 error를 반환합니다.\n * @method ax5.info.getError\n * @returns {Object}\n * @example\n * ```\n * console.log( ax5.info.getError(\"single-uploader\", \"460\", \"upload\") );\n *\n * if(!this.selectedFile){\n * if (cfg.onEvent) {\n * \tvar that = {\n * \t\taction: \"error\",\n * \t\terror: ax5.info.getError(\"single-uploader\", \"460\", \"upload\")\n * \t};\n * \tcfg.onEvent.call(that, that);\n * }\n * return this;\n * }\n * ```\n */\n function getError(className, errorCode, methodName) {\n if (info.errorMsg && info.errorMsg[className]) {\n return {\n className: className,\n errorCode: errorCode,\n methodName: methodName,\n msg: info.errorMsg[className][errorCode]\n };\n } else {\n return { className: className, errorCode: errorCode, methodName: methodName };\n }\n }\n\n /**\n * 브라우져의 터치 기능 유무를 확인합니다.\n * @method ax5.info.supportTouch\n * @returns {boolean}\n * @example\n * ```\n * var chkFlag = ax5.info.supportTouch;\n */\n var supportTouch = win ? 'ontouchstart' in win || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 : false;\n\n var supportFileApi = win ? win.FileReader && win.File && win.FileList && win.Blob : false;\n\n return {\n errorMsg: errorMsg,\n version: version,\n baseUrl: baseUrl,\n onerror: onerror,\n eventKeys: eventKeys,\n weekNames: weekNames,\n browser: browser,\n isBrowser: isBrowser,\n supportTouch: supportTouch,\n supportFileApi: supportFileApi,\n wheelEnm: wheelEnm,\n urlUtil: urlUtil,\n getError: getError\n };\n }();\n\n /**\n * Refer to this by {@link ax5}.\n * @namespace ax5.util\n */\n ax5['util'] = U = function () {\n var _toString = Object.prototype.toString;\n\n /**\n * Object나 Array의 아이템으로 사용자 함수를 호출합니다.\n * @method ax5.util.each\n * @param {Object|Array} O\n * @param {Function} _fn\n * @example\n * ```js\n * var axf = ax5.util;\n * axf.each([0,1,2], function(){\n * \t// with this\n * });\n * axf.each({a:1, b:2}, function(){\n * \t// with this\n * });\n * ```\n */\n function each(O, _fn) {\n if (isNothing(O)) return [];\n var key = void 0,\n i = 0,\n l = O.length,\n isObj = l === undefined || typeof O === \"function\";\n if (isObj) {\n for (key in O) {\n if (typeof O[key] != \"undefined\") if (_fn.call(O[key], key, O[key]) === false) break;\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") if (_fn.call(O[i], i, O[i++]) === false) break;\n }\n }\n return O;\n }\n\n // In addition to using the http://underscorejs.org : map, reduce, reduceRight, find\n /**\n * 원본 아이템들을 이용하여 사용자 함수의 리턴값으로 이루어진 새로운 배열을 만듭니다.\n * @method ax5.util.map\n * @param {Object|Array} O\n * @param {Function} _fn\n * @returns {Array}\n * @example\n * ```js\n * var myArray = [0,1,2,3,4];\n * var myObject = {a:1, b:\"2\", c:{axj:\"what\", arrs:[0,2,\"3\"]},\n * fn: function(abcdd){\n * return abcdd;\n * }\n * };\n *\n * var _arr = ax5.util.map( myArray, function(index, I){\n * return index+1;\n * });\n * console.log(_arr);\n * // [1, 2, 3, 4, 5]\n *\n * var _arr = ax5.util.map( myObject, function(k, v){\n * return v * 2;\n * });\n * console.log(_arr);\n * // [2, 4, NaN, NaN]\n * ```\n */\n function map(O, _fn) {\n if (isNothing(O)) return [];\n var key = void 0,\n i = 0,\n l = O.length,\n results = [],\n fnResult = void 0;\n if (isObject(O)) {\n for (key in O) {\n if (typeof O[key] != \"undefined\") {\n fnResult = undefined;\n if ((fnResult = _fn.call(O[key], key, O[key])) === false) break;else results.push(fnResult);\n }\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") {\n fnResult = undefined;\n if ((fnResult = _fn.call(O[i], i, O[i++])) === false) break;else results.push(fnResult);\n }\n }\n }\n return results;\n }\n\n /**\n * 원본 아이템들을 이용하여 사용자 함수의 리턴값이 참인 아이템의 위치나 키값을 반환합니다.\n * @method ax5.util.search\n * @param {Object|Array} O\n * @param {Function|String|Number} _fn - 함수 또는 값\n * @returns {Number|String}\n * @example\n * ```js\n * var myArray = [0,1,2,3,4,5,6];\n * var myObject = {a:\"123\",\"b\":\"123\",c:123};\n *\n * ax5.util.search(myArray, function(){\n * return this > 3;\n * });\n * // 4\n * ax5.util.search(myObject, function(k, v){\n * return v === 123;\n * });\n * // \"c\"\n * ax5.util.search([1,2,3,4], 3);\n * // 2\n * ax5.util.search([1,2], 4);\n * // -1\n * ax5.util.search([\"name\",\"value\"], \"value\");\n * // 1\n * ax5.util.search([\"name\",\"value\"], \"values\");\n * // -1\n * ax5.util.search({k1:\"name\",k2:\"value\"}, \"value2\");\n * // -1\n * ax5.util.search({k1:\"name\",k2:\"value\"}, \"value\");\n * // \"k2\"\n * ```\n */\n function search(O, _fn) {\n if (isNothing(O)) return -1;\n if (isObject(O)) {\n for (var key in O) {\n if (typeof O[key] != \"undefined\" && isFunction(_fn) && _fn.call(O[key], key, O[key])) {\n return key;\n break;\n } else if (O[key] == _fn) {\n return key;\n break;\n }\n }\n } else {\n for (var i = 0, l = O.length; i < l; i++) {\n if (typeof O[i] != \"undefined\" && isFunction(_fn) && _fn.call(O[i], i, O[i])) {\n return i;\n break;\n } else if (O[i] == _fn) {\n return i;\n break;\n }\n }\n }\n return -1;\n }\n\n /**\n * @method ax5.util.sum\n * @param {Array|Object} O\n * @param {Number} [defaultValue]\n * @param {Function} _fn\n * @returns {Number}\n * @example\n * ```js\n * var arr = [\n * {name: \"122\", value: 9},\n * {name: \"122\", value: 10},\n * {name: \"123\", value: 11}\n * ];\n *\n * var rs = ax5.util.sum(arr, function () {\n * if(this.name == \"122\") {\n * return this.value;\n * }\n * });\n * console.log(rs); // 19\n *\n * console.log(ax5.util.sum(arr, 10, function () {\n * return this.value;\n * }));\n * // 40\n * ```\n */\n function sum(O, defaultValue, _fn) {\n var i = void 0,\n l = void 0,\n tokenValue = void 0;\n if (isFunction(defaultValue) && typeof _fn === \"undefined\") {\n _fn = defaultValue;\n defaultValue = 0;\n }\n if (typeof defaultValue === \"undefined\") defaultValue = 0;\n\n if (isArray(O)) {\n i = 0;\n l = O.length;\n for (; i < l; i++) {\n if (typeof O[i] !== \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue;\n } else if (isObject(O)) {\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue;\n } else {\n console.error(\"argument error : ax5.util.sum - use Array or Object\");\n return defaultValue;\n }\n }\n\n /**\n * @method ax5.util.avg\n * @param {Array|Object} O\n * @param {Number} [defaultValue]\n * @param {Function} _fn\n * @returns {Number}\n * @example\n * ```js\n * var arr = [\n * {name: \"122\", value: 9},\n * {name: \"122\", value: 10},\n * {name: \"123\", value: 11}\n * ];\n *\n * var rs = ax5.util.avg(arr, function () {\n * return this.value;\n * });\n *\n * console.log(rs); // 10\n * ```\n */\n function avg(O, defaultValue, _fn) {\n var i = void 0,\n l = void 0,\n tokenValue = void 0;\n if (isFunction(defaultValue) && typeof _fn === \"undefined\") {\n _fn = defaultValue;\n defaultValue = 0;\n }\n if (typeof defaultValue === \"undefined\") defaultValue = 0;\n\n if (isArray(O)) {\n i = 0;\n l = O.length;\n for (; i < l; i++) {\n if (typeof O[i] !== \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;\n }\n }\n return defaultValue / l;\n } else if (isObject(O)) {\n l = 0;\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenValue = _fn.call(O[i], O[i])) === false) break;else if (typeof tokenValue !== \"undefined\") defaultValue += tokenValue;++l;\n }\n }\n return defaultValue / l;\n } else {\n console.error(\"argument error : ax5.util.sum - use Array or Object\");\n return defaultValue;\n }\n }\n\n /**\n * 배열의 왼쪽에서 오른쪽으로 연산을 진행하는데 수행한 결과가 왼쪽 값으로 반영되어 최종 왼쪽 값을 반환합니다.\n * @method ax5.util.reduce\n * @param {Array|Object} O\n * @param {Function} _fn\n * @returns {Alltypes}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.reduce( aarray, function(p, n){\n * return p * n;\n * });\n * console.log(result, aarray);\n * // 120 [5, 4, 3, 2, 1]\n *\n * ax5.util.reduce({a:1, b:2}, function(p, n){\n * return parseInt(p|0) + parseInt(n);\n * });\n * // 3\n * ```\n */\n function reduce(O, _fn) {\n var i, l, tokenItem;\n if (isArray(O)) {\n i = 0, l = O.length, tokenItem = O[i];\n for (; i < l - 1;) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[++i])) === false) break;\n }\n }\n return tokenItem;\n } else if (isObject(O)) {\n for (i in O) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[i])) === false) break;\n }\n }\n return tokenItem;\n } else {\n console.error(\"argument error : ax5.util.reduce - use Array or Object\");\n return null;\n }\n }\n\n /**\n * 배열의 오른쪽에서 왼쪽으로 연산을 진행하는데 수행한 결과가 오른쪽 값으로 반영되어 최종 오른쪽 값을 반환합니다.\n * @method ax5.util.reduceRight\n * @param {Array} O\n * @param {Function} _fn\n * @returns {Alltypes}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.reduceRight( aarray, function(p, n){\n * console.log( n );\n * return p * n;\n * });\n * console.log(result, aarray);\n * 120 [5, 4, 3, 2, 1]\n * ```\n */\n function reduceRight(O, _fn) {\n var i = O.length - 1,\n tokenItem = O[i];\n for (; i > 0;) {\n if (typeof O[i] != \"undefined\") {\n if ((tokenItem = _fn.call(root, tokenItem, O[--i])) === false) break;\n }\n }\n return tokenItem;\n }\n\n /**\n * 배열또는 오브젝트의 각 아이템을 인자로 하는 사용자 함수의 결과가 참인 아이템들의 배열을 반환합니다.\n * @method ax5.util.filter\n * @param {Object|Array} O\n * @param {Function} _fn\n * @returns {Array}\n * @example\n * ```js\n * var aarray = [5,4,3,2,1];\n * result = ax5.util.filter( aarray, function(){\n * return this % 2;\n * });\n * console.log(result);\n * // [5, 3, 1]\n *\n * var filObject = {a:1, s:\"string\", oa:{pickup:true, name:\"AXISJ\"}, os:{pickup:true, name:\"AX5\"}};\n * result = ax5.util.filter( filObject, function(){\n * \treturn this.pickup;\n * });\n * console.log( ax5.util.toJson(result) );\n * // [{\"pickup\": , \"name\": \"AXISJ\"}, {\"pickup\": , \"name\": \"AX5\"}]\n * ```\n */\n function filter(O, _fn) {\n if (isNothing(O)) return [];\n var k,\n i = 0,\n l = O.length,\n results = [],\n fnResult;\n if (isObject(O)) {\n for (k in O) {\n if (typeof O[k] != \"undefined\") {\n if (fnResult = _fn.call(O[k], k, O[k])) results.push(O[k]);\n }\n }\n } else {\n for (; i < l;) {\n if (typeof O[i] != \"undefined\") {\n if (fnResult = _fn.call(O[i], i, O[i])) results.push(O[i]);\n i++;\n }\n }\n }\n return results;\n }\n\n /**\n * Object를 JSONString 으로 반환합니다.\n * @method ax5.util.toJson\n * @param {Object|Array} O\n * @returns {String} JSON\n * @example\n * ```js\n * var ax = ax5.util;\n * var myObject = {\n * a:1, b:\"2\", c:{axj:\"what\", arrs:[0,2,\"3\"]},\n * fn: function(abcdd){\n * return abcdd;\n * }\n * };\n * console.log( ax.toJson(myObject) );\n * ```\n */\n function toJson(O) {\n var jsonString = \"\";\n if (ax5.util.isArray(O)) {\n var i = 0,\n l = O.length;\n jsonString += \"[\";\n for (; i < l; i++) {\n if (i > 0) jsonString += \",\";\n jsonString += toJson(O[i]);\n }\n jsonString += \"]\";\n } else if (ax5.util.isObject(O)) {\n jsonString += \"{\";\n var jsonObjectBody = [];\n each(O, function (key, value) {\n jsonObjectBody.push('\"' + key + '\": ' + toJson(value));\n });\n jsonString += jsonObjectBody.join(\", \");\n jsonString += \"}\";\n } else if (ax5.util.isString(O)) {\n jsonString = '\"' + O + '\"';\n } else if (ax5.util.isNumber(O)) {\n jsonString = O;\n } else if (ax5.util.isUndefined(O)) {\n jsonString = \"undefined\";\n } else if (ax5.util.isFunction(O)) {\n jsonString = '\"{Function}\"';\n } else {\n jsonString = O;\n }\n return jsonString;\n }\n\n /**\n * 관용의 JSON Parser\n * @method ax5.util.parseJson\n * @param {String} JSONString\n * @param {Boolean} [force] - 강제 적용 여부 (json 문자열 검사를 무시하고 오브젝트 변환을 시도합니다.)\n * @returns {Object}\n * @example\n * ```\n * console.log(ax5.util.parseJson('{\"a\":1}'));\n * // Object {a: 1}\n * console.log(ax5.util.parseJson(\"{'a':1, 'b':'b'}\"));\n * // Object {a: 1, b: \"b\"}\n * console.log(ax5.util.parseJson(\"{'a':1, 'b':function(){return 1;}}\", true));\n * // Object {a: 1, b: function}\n * console.log(ax5.util.parseJson(\"{a:1}\"));\n * // Object {a: 1}\n * console.log(ax5.util.parseJson(\"[1,2,3]\"));\n * // [1, 2, 3]\n * console.log(ax5.util.parseJson(\"['1','2','3']\"));\n * // [\"1\", \"2\", \"3\"]\n * console.log(ax5.util.parseJson(\"[{'a':'99'},'2','3']\"));\n * // [Object, \"2\", \"3\"]\n * ```\n */\n function parseJson(str, force) {\n if (force || reIsJson.test(str)) {\n try {\n return new Function('', 'return ' + str)();\n } catch (e) {\n return { error: 500, msg: 'syntax error' };\n }\n } else {\n return { error: 500, msg: 'syntax error' };\n }\n }\n\n /**\n * 인자의 타입을 반환합니다.\n * @method ax5.util.getType\n * @param {Object|Array|String|Number|Element|Etc} O\n * @returns {String} window|element|object|array|function|string|number|undefined|nodelist\n * @example\n * ```js\n * var axf = ax5.util;\n * var a = 11;\n * var b = \"11\";\n * console.log( axf.getType(a) );\n * console.log( axf.getType(b) );\n * ```\n */\n function getType(O) {\n var typeName;\n if (O != null && O == O.window) {\n typeName = \"window\";\n } else if (!!(O && O.nodeType == 1)) {\n typeName = \"element\";\n } else if (!!(O && O.nodeType == 11)) {\n typeName = \"fragment\";\n } else if (O === null) {\n typeName = \"null\";\n } else if (typeof O === \"undefined\") {\n typeName = \"undefined\";\n } else if (_toString.call(O) == \"[object Object]\") {\n typeName = \"object\";\n } else if (_toString.call(O) == \"[object Array]\") {\n typeName = \"array\";\n } else if (_toString.call(O) == \"[object String]\") {\n typeName = \"string\";\n } else if (_toString.call(O) == \"[object Number]\") {\n typeName = \"number\";\n } else if (_toString.call(O) == \"[object NodeList]\") {\n typeName = \"nodelist\";\n } else if (typeof O === \"function\") {\n typeName = \"function\";\n }\n return typeName;\n }\n\n /**\n * 오브젝트가 window 인지 판단합니다.\n * @method ax5.util.isWindow\n * @param {Object} O\n * @returns {Boolean}\n */\n function isWindow(O) {\n return O != null && O == O.window;\n }\n\n /**\n * 오브젝트가 HTML 엘리먼트여부인지 판단합니다.\n * @method ax5.util.isElement\n * @param {Object} O\n * @returns {Boolean}\n */\n function isElement(O) {\n return !!(O && (O.nodeType == 1 || O.nodeType == 11));\n }\n\n /**\n * 오브젝트가 Object인지 판단합니다.\n * @method ax5.util.isObject\n * @param {Object} O\n * @returns {Boolean}\n */\n function isObject(O) {\n return _toString.call(O) == \"[object Object]\";\n }\n\n /**\n * 오브젝트가 Array인지 판단합니다.\n * @method ax5.util.isArray\n * @param {Object} O\n * @returns {Boolean}\n */\n function isArray(O) {\n return _toString.call(O) == \"[object Array]\";\n }\n\n /**\n * 오브젝트가 Function인지 판단합니다.\n * @method ax5.util.isFunction\n * @param {Object} O\n * @returns {Boolean}\n */\n function isFunction(O) {\n return typeof O === \"function\";\n }\n\n /**\n * 오브젝트가 String인지 판단합니다.\n * @method ax5.util.isString\n * @param {Object} O\n * @returns {Boolean}\n */\n function isString(O) {\n return _toString.call(O) == \"[object String]\";\n }\n\n /**\n * 오브젝트가 Number인지 판단합니다.\n * @method ax5.util.isNumber\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNumber(O) {\n return _toString.call(O) == \"[object Number]\";\n }\n\n /**\n * 오브젝트가 NodeList인지 판단합니다.\n * @method ax5.util.isNodelist\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNodelist(O) {\n return !!(_toString.call(O) == \"[object NodeList]\" || typeof O !== \"undefined\" && O && O[0] && O[0].nodeType == 1);\n }\n\n /**\n * 오브젝트가 undefined인지 판단합니다.\n * @method ax5.util.isUndefined\n * @param {Object} O\n * @returns {Boolean}\n */\n function isUndefined(O) {\n return typeof O === \"undefined\";\n }\n\n /**\n * 오브젝트가 undefined이거나 null이거나 빈값인지 판단합니다.\n * @method ax5.util.isNothing\n * @param {Object} O\n * @returns {Boolean}\n */\n function isNothing(O) {\n return typeof O === \"undefined\" || O === null || O === \"\";\n }\n\n /**\n * 오브젝트가 날자값인지 판단합니다.\n * @method ax5.util.isDate\n * @param {Date} O\n * @returns {Boolean}\n * @example\n * ```js\n * ax5.util.isDate('2016-09-30');\n * // false\n * ax5.util.isDate( new Date('2016-09-30') );\n * // true\n * ```\n */\n function isDate(O) {\n return O instanceof Date && !isNaN(O.valueOf());\n }\n\n function isDateFormat(O) {\n var result = false;\n if (!O) {} else if (O instanceof Date && !isNaN(O.valueOf())) {\n result = true;\n } else {\n if (O.length > 7) {\n if (date(O) instanceof Date) {\n return true;\n }\n }\n O = O.replace(/\\D/g, '');\n if (O.length > 7) {\n var mm = O.substr(4, 2),\n dd = O.substr(6, 2);\n O = date(O);\n if (O.getMonth() == mm - 1 && O.getDate() == dd) {\n result = true;\n }\n }\n }\n return result;\n }\n\n /**\n * 오브젝트의 첫번째 아이템을 반환합니다.\n * @method ax5.util.first\n * @param {Object|Array} O\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.first({a:1, b:2});\n * // Object {a: 1}\n * ax5.util.first([1,2,3,4]);\n * // 1\n * ```\n */\n function first(O) {\n if (isObject(O)) {\n var keys = Object.keys(O);\n var item = {};\n item[keys[0]] = O[keys[0]];\n return item;\n } else if (isArray(O)) {\n return O[0];\n } else {\n console.error(\"ax5.util.object.first\", \"argument type error\");\n return undefined;\n }\n }\n\n /**\n * 오브젝트의 마지막 아이템을 반환합니다.\n * @method ax5.util.last\n * @param {Object|Array} O\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.last({a:1, b:2});\n * // Object {b: 2}\n * ax5.util.last([1,2,3,4]);\n * // 4\n * ```\n */\n function last(O) {\n if (isObject(O)) {\n var keys = Object.keys(O);\n var item = {};\n item[keys[keys.length - 1]] = O[keys[keys.length - 1]];\n return item;\n } else if (isArray(O)) {\n return O[O.length - 1];\n } else {\n console.error(\"ax5.util.object.last\", \"argument type error\");\n return undefined;\n }\n }\n\n /**\n * 쿠키를 설정합니다.\n * @method ax5.util.setCookie\n * @param {String} cname - 쿠키이름\n * @param {String} cvalue - 쿠키값\n * @param {Number} [exdays] - 쿠키 유지일수\n * @param {Object} [opts] - path, domain 설정 옵션\n * @example\n * ```js\n * ax5.util.setCookie(\"jslib\", \"AX5\");\n * ax5.util.setCookie(\"jslib\", \"AX5\", 3);\n * ax5.util.setCookie(\"jslib\", \"AX5\", 3, {path:\"/\", domain:\".axisj.com\"});\n * ```\n */\n function setCookie(cn, cv, exdays, opts) {\n var expire;\n if (typeof exdays === \"number\") {\n expire = new Date();\n expire.setDate(expire.getDate() + exdays);\n }\n opts = opts || {};\n return doc.cookie = [escape(cn), '=', escape(cv), expire ? \"; expires=\" + expire.toUTCString() : \"\", // use expires attribute, max-age is not supported by IE\n opts.path ? \"; path=\" + opts.path : \"\", opts.domain ? \"; domain=\" + opts.domain : \"\", opts.secure ? \"; secure\" : \"\"].join(\"\");\n }\n\n /**\n * 쿠키를 가져옵니다.\n * @method ax5.util.getCookie\n * @param {String} cname\n * @returns {String} cookie value\n * @example\n * ```js\n * ax5.util.getCookie(\"jslib\");\n * ```\n */\n function getCookie(cname) {\n var name = cname + \"=\";\n var ca = doc.cookie.split(';'),\n i = 0,\n l = ca.length;\n for (; i < l; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }if (c.indexOf(name) != -1) return unescape(c.substring(name.length, c.length));\n }\n return \"\";\n }\n\n /**\n * jsonString 으로 alert 합니다.\n * @method ax5.util.alert\n * @param {Object|Array|String|Number} O\n * @returns {Object|Array|String|Number} O\n * @example ```js\n * ax5.util.alert({a:1,b:2});\n * ax5.util.alert(\"정말?\");\n * ```\n */\n function alert(O) {\n win.alert(toJson(O));\n return O;\n }\n\n /**\n * 문자열의 특정 문자열까지 잘라주거나 원하는 포지션까지 잘라줍니다.\n * @method ax5.util.left\n * @param {String} str - 문자열\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {String}\n * @example\n * ```js\n * ax5.util.left(\"abcd.efd\", 3);\n * // abc\n * ax5.util.left(\"abcd.efd\", \".\");\n * // abcd\n * ```\n */\n function left(str, pos) {\n if (typeof str === \"undefined\" || typeof pos === \"undefined\") return \"\";\n if (isString(pos)) {\n return str.indexOf(pos) > -1 ? str.substr(0, str.indexOf(pos)) : \"\";\n } else if (isNumber(pos)) {\n return str.substr(0, pos);\n } else {\n return \"\";\n }\n }\n\n /**\n * 문자열의 특정 문자열까지 잘라주거나 원하는 포지션까지 잘라줍니다.\n * @method ax5.util.right\n * @param {String} str - 문자열\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {String}\n * @example\n * ```js\n * ax5.util.right(\"abcd.efd\", 3);\n * // efd\n * ax5.util.right(\"abcd.efd\", \".\");\n * // efd\n * ```\n */\n function right(str, pos) {\n if (typeof str === \"undefined\" || typeof pos === \"undefined\") return \"\";\n str = '' + str;\n if (isString(pos)) {\n return str.lastIndexOf(pos) > -1 ? str.substr(str.lastIndexOf(pos) + 1) : \"\";\n } else if (isNumber(pos)) {\n return str.substr(str.length - pos);\n } else {\n return \"\";\n }\n }\n\n /**\n * css형 문자열이나 특수문자가 포함된 문자열을 카멜케이스로 바꾸어 반환합니다.\n * @method ax5.util.camelCase\n * @param {String} str\n * @returns {String}\n * @example\n * ```js\n * ax5.util.camelCase(\"inner-width\");\n * ax5.util.camelCase(\"innerWidth\");\n * // innerWidth\n * ```\n */\n function camelCase(str) {\n return str.replace(reMs, \"ms-\").replace(reSnakeCase, function (all, letter) {\n return letter.toUpperCase();\n });\n }\n\n /**\n * css형 문자열이나 카멜케이스문자열을 스네이크 케이스 문자열로 바꾸어 반환합니다.\n * @method ax5.util.snakeCase\n * @param {String} str\n * @returns {String}\n * @example\n * ```js\n * ax5.util.snakeCase(\"innerWidth\");\n * ax5.util.snakeCase(\"inner-Width\");\n * ax5.util.snakeCase(\"innerWidth\");\n * // inner-width\n * ```\n */\n function snakeCase(str) {\n return camelCase(str).replace(reCamelCase, function (all, letter) {\n return \"-\" + letter.toLowerCase();\n });\n }\n\n /**\n * 문자열에서 -. 을 제외한 모든 문자열을 제거하고 숫자로 반환합니다. 옵션에 따라 원하는 형식의 숫자로 변환 할 수 도 있습니다.\n * @method ax5.util.number\n * @param {String|Number} str\n * @param {Object} cond - 옵션\n * @returns {String|Number}\n * @example\n * ```js\n * var cond = {\n * \tround: {Number|Boolean} - 반올림할 자릿수,\n * \tmoney: {Boolean} - 통화,\n * \tabs: {Boolean} - 절대값,\n * \tbyte: {Boolean} - 바이트\n * }\n *\n * console.log(ax5.util.number(123456789.678, {round:1}));\n * console.log(ax5.util.number(123456789.678, {round:1, money:true}));\n * console.log(ax5.util.number(123456789.678, {round:2, byte:true}));\n * console.log(ax5.util.number(-123456789.8888, {abs:true, round:2, money:true}));\n * console.log(ax5.util.number(\"A-1234~~56789.8~888PX\", {abs:true, round:2, money:true}));\n *\n * //123456789.7\n * //123,456,789.7\n * //117.7MB\n * //123,456,789.89\n * //123,456,789.89\n * ```\n */\n function number(str, cond) {\n var result,\n pair = ('' + str).split(reDot),\n isMinus,\n returnValue;\n\n isMinus = Number(pair[0].replace(/,/g, \"\")) < 0 || pair[0] == \"-0\";\n returnValue = 0.0;\n pair[0] = pair[0].replace(reInt, \"\");\n\n if (pair[1]) {\n pair[1] = pair[1].replace(reNotNum, \"\");\n returnValue = Number(pair[0] + \".\" + pair[1]) || 0;\n } else {\n returnValue = Number(pair[0]) || 0;\n }\n result = isMinus ? -returnValue : returnValue;\n\n each(cond, function (k, c) {\n if (k == \"round\") {\n if (isNumber(c)) {\n if (c < 0) {\n result = +(Math.round(result + \"e-\" + Math.abs(c)) + \"e+\" + Math.abs(c));\n } else {\n result = +(Math.round(result + \"e+\" + c) + \"e-\" + c);\n }\n } else {\n result = Math.round(result);\n }\n }\n if (k == \"floor\") {\n result = Math.floor(result);\n }\n if (k == \"ceil\") {\n result = Math.ceil(result);\n } else if (k == \"money\") {\n result = function (val) {\n var txtNumber = '' + val;\n if (isNaN(txtNumber) || txtNumber == \"\") {\n return \"\";\n } else {\n var arrNumber = txtNumber.split('.');\n arrNumber[0] += '.';\n do {\n arrNumber[0] = arrNumber[0].replace(reMoneySplit, '$1,$2');\n } while (reMoneySplit.test(arrNumber[0]));\n if (arrNumber.length > 1) {\n return arrNumber.join('');\n } else {\n return arrNumber[0].split('.')[0];\n }\n }\n }(result);\n } else if (k == \"abs\") {\n result = Math.abs(Number(result));\n } else if (k == \"byte\") {\n result = function (val) {\n val = Number(result);\n var nUnit = \"KB\";\n var myByte = val / 1024;\n if (myByte / 1024 > 1) {\n nUnit = \"MB\";\n myByte = myByte / 1024;\n }\n if (myByte / 1024 > 1) {\n nUnit = \"GB\";\n myByte = myByte / 1024;\n }\n return number(myByte, { round: 1 }) + nUnit;\n }(result);\n }\n });\n\n return result;\n }\n\n /**\n * 배열 비슷한 오브젝트를 배열로 변환해줍니다.\n * @method ax5.util.toArray\n * @param {Object|Elements|Arguments} O\n * @returns {Array}\n * @example\n * ```js\n * ax5.util.toArray(arguments);\n * //\n * ```\n */\n function toArray(O) {\n if (typeof O.length != \"undefined\") return Array.prototype.slice.call(O);\n return [];\n }\n\n /**\n * 첫번째 인자에 두번째 인자 아이템을 합쳐줍니다. concat과 같은 역할을 하지만. 인자가 Array타입이 아니어도 됩니다.\n * @method ax5.util.merge\n * @param {Array|ArrayLike} first\n * @param {Array|ArrayLike} second\n * @returns {Array} first\n * @example\n * ```\n *\n * ```\n */\n function merge(first, second) {\n var l = second.length,\n i = first.length,\n j = 0;\n\n if (typeof l === \"number\") {\n for (; j < l; j++) {\n first[i++] = second[j];\n }\n } else {\n while (second[j] !== undefined) {\n first[i++] = second[j++];\n }\n }\n\n first.length = i;\n\n return first;\n }\n\n /**\n * 오브젝트를 파라미터형식으로 또는 파라미터를 오브젝트 형식으로 변환합니다.\n * @method ax5.util.param\n * @param {Object|Array|String} O\n * @param {String} [cond] - param|object\n * @returns {Object|String}\n * @example\n * ```\n * ax5.util.param({a:1,b:'1232'}, \"param\");\n * ax5.util.param(\"a=1&b=1232\", \"param\");\n * // \"a=1&b=1232\"\n * ax5.util.param(\"a=1&b=1232\");\n * // {a: \"1\", b: \"1232\"}\n * ```\n */\n function param(O, cond) {\n var p;\n if (isString(O) && typeof cond !== \"undefined\" && cond == \"param\") {\n return O;\n } else if (isString(O) && typeof cond !== \"undefined\" && cond == \"object\" || isString(O) && typeof cond === \"undefined\") {\n p = {};\n each(O.split(reAmp), function () {\n var item = this.split(reEq);\n if (!p[item[0]]) p[item[0]] = item[1];else {\n if (isString(p[item[0]])) p[item[0]] = [p[item[0]]];\n p[item[0]].push(item[1]);\n }\n });\n return p;\n } else {\n p = [];\n each(O, function (k, v) {\n p.push(k + \"=\" + escape(v));\n });\n return p.join('&');\n }\n }\n\n function encode(s) {\n return encodeURIComponent(s);\n }\n\n function decode(s) {\n return decodeURIComponent(s);\n }\n\n function error() {\n ax5.info.onerror.apply(this, arguments);\n }\n\n function localDate(yy, mm, dd, hh, mi, ss) {\n var utcD, localD;\n localD = new Date();\n if (mm < 0) mm = 0;\n if (typeof hh === \"undefined\") hh = 12;\n if (typeof mi === \"undefined\") mi = 0;\n utcD = new Date(Date.UTC(yy, mm, dd || 1, hh, mi, ss || 0));\n\n if (mm == 0 && dd == 1 && utcD.getUTCHours() + utcD.getTimezoneOffset() / 60 < 0) {\n utcD.setUTCHours(0);\n } else {\n utcD.setUTCHours(utcD.getUTCHours() + utcD.getTimezoneOffset() / 60);\n }\n return utcD;\n }\n\n /**\n * 날짜 형식의 문자열이나 Date객체를 조건에 맞게 처리 한 후 원하는 return 값으로 반환합니다.\n * @method ax5.util.date\n * @param {String|Date} d\n * @param {Object} cond\n * @returns {Date|String}\n * @example\n * ```js\n * ax5.util.date('2013-01-01'); // Tue Jan 01 2013 23:59:00 GMT+0900 (KST)\n * ax5.util.date((new Date()), {add:{d:10}, return:'yyyy/MM/dd'}); // \"2015/07/01\"\n * ax5.util.date('1919-03-01', {add:{d:10}, return:'yyyy/MM/dd hh:mm:ss'}); // \"1919/03/11 23:59:00\"\n * ```\n */\n function date(d, cond) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n hh = void 0,\n mi = void 0,\n aDateTime = void 0,\n aTimes = void 0,\n aTime = void 0,\n aDate = void 0,\n va = void 0,\n ISO_8601 = /^\\d{4}(-\\d\\d(-\\d\\d(T\\d\\d:\\d\\d(:\\d\\d)?(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?)?)?)?$/i,\n ISO_8601_FULL = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n\n if (isString(d)) {\n if (d.length == 0) {\n d = new Date();\n } else if (d.length > 15) {\n if (ISO_8601_FULL.test(d) || ISO_8601.test(d)) {\n d = new Date(d);\n } else {\n aDateTime = d.split(/ /g), aTimes, aTime, aDate = aDateTime[0].split(/\\D/g), yy = aDate[0];\n mm = parseFloat(aDate[1]);\n dd = parseFloat(aDate[2]);\n aTime = aDateTime[1] || \"09:00\";\n aTimes = aTime.substring(0, 5).split(\":\");\n hh = parseFloat(aTimes[0]);\n mi = parseFloat(aTimes[1]);\n if (right(aTime, 2) === \"AM\" || right(aTime, 2) === \"PM\") hh += 12;\n d = localDate(yy, mm - 1, dd, hh, mi);\n }\n } else if (d.length == 14) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, number(va.substr(6, 2)), number(va.substr(8, 2)), number(va.substr(10, 2)), number(va.substr(12, 2)));\n } else if (d.length > 7) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, number(va.substr(6, 2)));\n } else if (d.length > 4) {\n va = d.replace(/\\D/g, \"\");\n d = localDate(va.substr(0, 4), va.substr(4, 2) - 1, 1);\n } else if (d.length > 2) {\n va = d.replace(/\\D/g, \"\");\n return localDate(va.substr(0, 4), va.substr(4, 2) - 1, 1);\n } else {\n d = new Date();\n }\n }\n if (typeof cond === \"undefined\" || typeof d === \"undefined\") {\n return d;\n } else {\n if (\"add\" in cond) {\n d = function (_d, opts) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n mxdd = void 0,\n DyMilli = 1000 * 60 * 60 * 24;\n\n if (typeof opts[\"d\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"d\"] * DyMilli);\n } else if (typeof opts[\"m\"] !== \"undefined\") {\n yy = _d.getFullYear();\n mm = _d.getMonth();\n dd = _d.getDate();\n yy = yy + parseInt(opts[\"m\"] / 12);\n mm += opts[\"m\"] % 12;\n mxdd = daysOfMonth(yy, mm);\n if (mxdd < dd) dd = mxdd;\n _d = new Date(yy, mm, dd, 12);\n } else if (typeof opts[\"y\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"y\"] * 365 * DyMilli);\n } else if (typeof opts[\"h\"] !== \"undefined\") {\n _d.setTime(_d.getTime() + opts[\"h\"] * 1000 * 60 * 60);\n }\n\n return _d;\n }(new Date(d), cond[\"add\"]);\n }\n if (\"set\" in cond) {\n d = function (_d, opts) {\n var yy = void 0,\n mm = void 0,\n dd = void 0,\n processor = {\n \"firstDayOfMonth\": function firstDayOfMonth(date) {\n yy = date.getFullYear();\n mm = date.getMonth();\n dd = 1;\n return new Date(yy, mm, dd, 12);\n },\n \"lastDayOfMonth\": function lastDayOfMonth(date) {\n yy = date.getFullYear();\n mm = date.getMonth();\n dd = daysOfMonth(yy, mm);\n return new Date(yy, mm, dd, 12);\n }\n };\n if (opts in processor) {\n return processor[opts](_d);\n } else {\n return _d;\n }\n }(new Date(d), cond[\"set\"]);\n }\n if (\"return\" in cond) {\n return function () {\n\n var fStr = cond[\"return\"],\n nY = void 0,\n nM = void 0,\n nD = void 0,\n nH = void 0,\n nMM = void 0,\n nS = void 0,\n nDW = void 0,\n yre = void 0,\n regY = void 0,\n mre = void 0,\n regM = void 0,\n dre = void 0,\n regD = void 0,\n hre = void 0,\n regH = void 0,\n mire = void 0,\n regMI = void 0,\n sre = void 0,\n regS = void 0,\n dwre = void 0,\n regDW = void 0;\n\n nY = d.getUTCFullYear();\n nM = setDigit(d.getMonth() + 1, 2);\n nD = setDigit(d.getDate(), 2);\n nH = setDigit(d.getHours(), 2);\n nMM = setDigit(d.getMinutes(), 2);\n nS = setDigit(d.getSeconds(), 2);\n nDW = d.getDay();\n\n yre = /[^y]*(yyyy)[^y]*/gi;\n yre.exec(fStr);\n regY = RegExp.$1;\n mre = /[^m]*(MM)[^m]*/g;\n mre.exec(fStr);\n regM = RegExp.$1;\n dre = /[^d]*(dd)[^d]*/gi;\n dre.exec(fStr);\n regD = RegExp.$1;\n hre = /[^h]*(hh)[^h]*/gi;\n hre.exec(fStr);\n regH = RegExp.$1;\n mire = /[^m]*(mm)[^i]*/g;\n mire.exec(fStr);\n regMI = RegExp.$1;\n sre = /[^s]*(ss)[^s]*/gi;\n sre.exec(fStr);\n regS = RegExp.$1;\n dwre = /[^d]*(dw)[^w]*/gi;\n dwre.exec(fStr);\n regDW = RegExp.$1;\n\n if (regY === \"yyyy\") {\n fStr = fStr.replace(regY, right(nY, regY.length));\n }\n if (regM === \"MM\") {\n if (regM.length == 1) nM = d.getMonth() + 1;\n fStr = fStr.replace(regM, nM);\n }\n if (regD === \"dd\") {\n if (regD.length == 1) nD = d.getDate();\n fStr = fStr.replace(regD, nD);\n }\n if (regH === \"hh\") {\n fStr = fStr.replace(regH, nH);\n }\n if (regMI === \"mm\") {\n fStr = fStr.replace(regMI, nMM);\n }\n if (regS === \"ss\") {\n fStr = fStr.replace(regS, nS);\n }\n if (regDW == \"dw\") {\n fStr = fStr.replace(regDW, info.weekNames[nDW].label);\n }\n return fStr;\n }();\n } else {\n return d;\n }\n }\n }\n\n /**\n * 인자인 날짜가 오늘부터 몇일전인지 반환합니다. 또는 인자인 날짜가 가까운 미래에 몇일 후인지 반환합니다.\n * @method ax5.util.dday\n * @param {String|Data} d\n * @param {Object} cond\n * @returns {Number}\n * @example\n * ```js\n * ax5.util.dday('2016-01-29');\n * // 1\n * ax5.util.dday('2016-01-29', {today:'2016-01-28'});\n * // 1\n * ax5.util.dday('1977-03-29', {today:'2016-01-28', age:true});\n * // 39\n * ```\n */\n function dday(d, cond) {\n var memoryDay = date(d),\n DyMilli = 1000 * 60 * 60 * 24,\n today = new Date(),\n diffnum,\n thisYearMemoryDay;\n\n function getDayTime(_d) {\n return Math.floor(_d.getTime() / DyMilli) * DyMilli;\n }\n\n if (typeof cond === \"undefined\") {\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n return diffnum;\n } else {\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n if (cond[\"today\"]) {\n today = date(cond.today);\n diffnum = number((getDayTime(memoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n }\n if (cond[\"thisYear\"]) {\n thisYearMemoryDay = new Date(today.getFullYear(), memoryDay.getMonth(), memoryDay.getDate());\n diffnum = number((getDayTime(thisYearMemoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n if (diffnum < 0) {\n thisYearMemoryDay = new Date(today.getFullYear() + 1, memoryDay.getMonth(), memoryDay.getDate());\n diffnum = number((getDayTime(thisYearMemoryDay) - getDayTime(today)) / DyMilli, { floor: true });\n }\n }\n if (cond[\"age\"]) {\n thisYearMemoryDay = new Date(today.getFullYear(), memoryDay.getMonth(), memoryDay.getDate());\n diffnum = thisYearMemoryDay.getFullYear() - memoryDay.getFullYear();\n }\n\n return diffnum;\n }\n }\n\n /**\n * 인자인 날짜가 몇년 몇월의 몇번째 주차인지 반환합니다.\n * @method ax5.util.weeksOfMonth\n * @param {String|Data} d\n * @returns {Object}\n * @example\n * ```js\n * ax5.util.weeksOfMonth(\"2015-10-01\"); // {year: 2015, month: 10, count: 1}\n * ax5.util.weeksOfMonth(\"2015-09-19\"); // {year: 2015, month: 9, count: 3}\n * ```\n */\n function weeksOfMonth(d) {\n var myDate = date(d);\n return {\n year: myDate.getFullYear(),\n month: myDate.getMonth() + 1,\n count: parseInt(myDate.getDate() / 7 + 1)\n };\n }\n\n /**\n * 년월에 맞는 날자수를 반환합니다.\n * (new Date()).getMonth() 기준으로 월값을 보냅니다. \"2월\" 인경우 \"1\" 을 넘기게 됩니다.\n * @method ax5.util.daysOfMonth\n * @param {Number} y\n * @param {Number} m\n * @returns {Number}\n * @examples\n * ```js\n * ax5.util.daysOfMonth(2015, 11); // 31\n * ax5.util.daysOfMonth(2015, 1); // 28\n * ```\n */\n function daysOfMonth(y, m) {\n if (m == 3 || m == 5 || m == 8 || m == 10) {\n return 30;\n } else if (m == 1) {\n return y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? 29 : 28;\n } else {\n return 31;\n }\n }\n\n /**\n * 원하는 횟수 만큼 자릿수 맞춤 문자열을 포함한 문자열을 반환합니다.\n * 문자열 길이보다 작은값을 보내면 무시됩니다.\n * @method ax5.util.setDigit\n * @param {String|Number} num\n * @param {Number} length\n * @param {String} [padder=0]\n * @param {Number} [radix]\n * @returns {String}\n * @example\n * ```\n * ax5.util.setDigit(2016, 6)\n * // \"002016\"\n * ax5.util.setDigit(2016, 2)\n * // \"2016\"\n * ```\n */\n function setDigit(num, length, padder, radix) {\n var s = num.toString(radix || 10);\n return times(padder || '0', length - s.length) + s;\n }\n\n /**\n * 문자열을 지정된 수만큼 반복 합니다.\n * @param {String} s\n * @param {Number} count\n * @returns {string}\n * @example\n * ```\n * ax5.util.times(2016, 2)\n * //\"20162016\"\n * ```\n */\n function times(s, count) {\n return count < 1 ? '' : new Array(count + 1).join(s);\n }\n\n /**\n * 타겟엘리먼트의 부모 엘리멘트 트리에서 원하는 조건의 엘리먼트를 얻습니다.\n * @method ax5.util.findParentNode\n * @param {Element} _target - target element\n * @param {Object|Function} cond - 원하는 element를 찾을 조건\n * @returns {Element}\n * @example\n * ```\n * // cond 속성정의\n * var cond = {\n * \ttagname: {String} - 태그명 (ex. a, div, span..),\n * \tclazz: {String} - 클래스명\n * \t[, 그 외 찾고 싶은 attribute명들]\n * };\n * console.log(\n * console.log(\n * ax5.util.findParentNode(e.target, {tagname:\"a\", clazz:\"ax-menu-handel\", \"data-custom-attr\":\"attr_value\"})\n * );\n * // cond 함수로 처리하기\n * jQuery('#id').bind(\"click.app_expand\", function(e){\n * \tvar target = ax5.util.findParentNode(e.target, function(target){\n * \t\tif($(target).hasClass(\"aside\")){\n * \t\t\treturn true;\n * \t\t}\n * \t\telse{\n * \t\t\treturn true;\n * \t\t}\n * \t});\n * \t//client-aside\n * \tif(target.id !== \"client-aside\"){\n * \t\t// some action\n * \t}\n * });\n * ```\n */\n\n function findParentNode(_target, cond) {\n if (_target) {\n while (function () {\n var result = true;\n if (typeof cond === \"undefined\") {\n _target = _target.parentNode ? _target.parentNode : false;\n } else if (isFunction(cond)) {\n result = cond(_target);\n } else if (isObject(cond)) {\n for (var k in cond) {\n if (k === \"tagname\") {\n if (_target.tagName.toLocaleLowerCase() != cond[k]) {\n result = false;\n break;\n }\n } else if (k === \"clazz\" || k === \"class_name\") {\n if (\"className\" in _target) {\n var klasss = _target.className.split(reClassNameSplit);\n var hasClass = false;\n for (var a = 0; a < klasss.length; a++) {\n if (klasss[a] == cond[k]) {\n hasClass = true;\n break;\n }\n }\n result = hasClass;\n } else {\n result = false;\n break;\n }\n } else {\n // 그외 속성값들.\n if (_target.getAttribute) {\n if (_target.getAttribute(k) != cond[k]) {\n result = false;\n break;\n }\n } else {\n result = false;\n break;\n }\n }\n }\n }\n return !result;\n }()) {\n if (_target.parentNode && _target.parentNode.parentNode) {\n _target = _target.parentNode;\n } else {\n _target = false;\n break;\n }\n }\n }\n return _target;\n }\n\n /**\n * @method ax5.util.cssNumber\n * @param {String|Number} val\n * @returns {String}\n * @example\n * ```\n * console.log(ax5.util.cssNumber(\"100px\"))\n * console.log(ax5.util.cssNumber(\"100%\"))\n * console.log(ax5.util.cssNumber(\"100\"))\n * console.log(ax5.util.cssNumber(100))\n * console.log(ax5.util.cssNumber(\"!!100@#\"))\n * ```\n */\n function cssNumber(val) {\n var re = /\\D?(\\d+)([a-zA-Z%]*)/i,\n found = ('' + val).match(re),\n unit = found[2] || \"px\";\n\n return found[1] + unit;\n }\n\n /**\n * css string 및 object 를 넘기면 object 및 string 으로 변환되어 리턴됩니다.\n * @method ax5.util.css\n * @param {Object|String} val - CSS String or CSS Object\n * @returns {String|Object}\n * @example\n * ```\n * console.log(ax5.util.css({background: \"#ccc\", padding: \"50px\", width: \"100px\"}));\n * //\"background:#ccc;padding:50px;width:100px;\"\n * console.log(ax5.util.css('width:100px;padding: 50px; background: #ccc'));\n * // object {width: \"100px\", padding: \"50px\", background: \"#ccc\"}\n * ```\n */\n function css(val) {\n var returns;\n if (isObject(val)) {\n returns = '';\n for (var k in val) {\n returns += k + ':' + val[k] + ';';\n }\n return returns;\n } else if (isString(val)) {\n returns = {};\n var valSplited = val.split(/[ ]*;[ ]*/g);\n valSplited.forEach(function (v) {\n if ((v = v.trim()) !== \"\") {\n var vSplited = v.split(/[ ]*:[ ]*/g);\n returns[vSplited[0]] = vSplited[1];\n }\n });\n return returns;\n }\n }\n\n /**\n * @method ax5.util.stopEvent\n * @param {Event} e\n * @example\n * ```\n * ax5.util.stopEvent(e);\n * ```\n */\n function stopEvent(e) {\n // 이벤트 중지 구문\n if (!e) var e = window.event;\n\n //e.cancelBubble is supported by IE -\n // this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) e.stopPropagation();\n if (e.preventDefault) e.preventDefault();\n\n return false;\n // 이벤트 중지 구문 끝\n }\n\n /**\n * @method ax5.util.selectRange\n * @param {Element} el\n * @param {Element} offset\n * @example\n * ```\n * ax5.util.selectRange($(\"#select-test-0\")); // selectAll\n * ax5.util.selectRange($(\"#select-test-0\"), \"selectAll\"); //selectAll\n * ax5.util.selectRange($(\"#select-test-0\"), \"start\"); // focus on start\n * ax5.util.selectRange($(\"#select-test-0\"), \"end\"); // focus on end\n * ax5.util.selectRange($(\"#select-test-0\"), [1, 5]); // select 1~5\n * ```\n */\n var selectRange = function () {\n var processor = {\n 'textRange': {\n 'selectAll': function selectAll(el, range, offset) {},\n 'arr': function arr(el, range, offset) {\n range.moveStart(\"character\", offset[0]); // todo ie node select 체크필요\n range.collapse();\n range.moveEnd(\"character\", offset[1]);\n },\n 'start': function start(el, range, offset) {\n range.moveStart(\"character\", 0);\n range.collapse();\n },\n 'end': function end(el, range, offset) {\n range.moveStart(\"character\", range.text.length);\n range.collapse();\n }\n },\n 'range': {\n 'selectAll': function selectAll(el, range, offset) {\n range.selectNodeContents(el);\n },\n 'arr': function arr(el, range, offset) {\n if (isObject(offset[0])) {\n range.setStart(offset[0].node, offset[0].offset);\n range.setEnd(offset[1].node, offset[1].offset);\n } else {\n range.setStart(el.firstChild, offset[0]);\n range.setEnd(el.firstChild, offset[1]);\n }\n },\n 'start': function start(el, range, offset) {\n range.selectNodeContents(el);\n range.collapse(true);\n },\n 'end': function end(el, range, offset) {\n range.selectNodeContents(el);\n range.collapse(false);\n }\n }\n };\n return function (el, offset) {\n var range, rangeType, selection;\n\n if (el instanceof jQuery) {\n el = el.get(0);\n }\n if (!el) return;\n\n // 레인지 타입 선택\n if (doc.body.createTextRange) {\n range = document.body.createTextRange();\n range.moveToElementText(el);\n rangeType = \"textRange\";\n } else if (window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n rangeType = \"range\";\n }\n\n // range 적용\n if (typeof offset == \"undefined\") {\n processor[rangeType].selectAll.call(this, el, range, offset);\n } else if (isArray(offset)) {\n processor[rangeType].arr.call(this, el, range, offset);\n } else {\n for (var key in processor[rangeType]) {\n if (offset == key) {\n processor[rangeType][key].call(this, el, range, offset);\n break;\n }\n }\n }\n\n // 포커스 및 셀렉트\n if (doc.body.createTextRange) {\n range.select();\n el.focus();\n } else if (window.getSelection) {\n el.focus();\n selection.removeAllRanges();\n selection.addRange(range);\n }\n };\n }();\n\n /**\n * 지정한 시간을 지연시켜 함수를 실행합니다.\n * @method ax5.util.debounce\n * @param {Function} func\n * @param {Number} wait\n * @param {Object} options\n * @returns {debounced}\n * @example\n * ```js\n * var debounceFn = ax5.util.debounce(function( val ) { console.log(val); }, 300);\n * $(document.body).click(function(){\n * debounceFn(new Date());\n * });\n * ```\n */\n // https://github.com/lodash/lodash/blob/master/debounce.js\n function debounce(func, wait, options) {\n var lastArgs = void 0,\n lastThis = void 0,\n maxWait = void 0,\n result = void 0,\n timerId = void 0,\n lastCallTime = void 0;\n\n var lastInvokeTime = 0;\n var leading = false;\n var maxing = false;\n var trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs;\n var thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n var result = wait - timeSinceLastCall;\n\n return maxing ? Math.min(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime;\n var timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Date.now());\n }\n\n function debounced() {\n var time = Date.now();\n var isInvoking = shouldInvoke(time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * @method ax5.util.throttle\n * @param func\n * @param wait\n * @param options\n * @return {debounced}\n */\n //https://github.com/lodash/lodash/blob/master/throttle.js\n function throttle(func, wait, options) {\n var leading = true;\n var trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError('Expected a function');\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * @method ax5.util.deepCopy\n * @param {Object} obj\n * @returns {Object}\n * @example\n * ```js\n * var obj = [\n * {name:\"A\", child:[{name:\"a-1\"}]},\n * {name:\"B\", child:[{name:\"b-1\"}], callBack: function(){ console.log('callBack'); }}\n * ];\n * var copiedObj = ax5.util.deepCopy(obj)\n * ```\n */\n function deepCopy(obj) {\n var r, l;\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) == 'object') {\n if (U.isArray(obj)) {\n l = obj.length;\n r = new Array(l);\n for (var i = 0; i < l; i++) {\n r[i] = deepCopy(obj[i]);\n }\n return r;\n } else {\n return jQuery.extend({}, obj);\n }\n }\n return obj;\n }\n\n /**\n * HTML 문자열을 escape 처리합니다.\n * \"<\" represents the < sign.\n * \">\" represents the > sign.\n * \"&\" represents the & sign.\n * \"" represents the \" mark.\n * [Character entity references](https://www.w3.org/TR/html401/charset.html#h-5.3)\n * @method ax5.util.escapeHtml\n * @param {String} s\n * @returns {string}\n * @example\n * ```\n * ax5.util.escapeHtml('HTML string & \"escape\"')\n * //\"HTML <span>string</span> & "escape"\"\n * ```\n */\n function escapeHtml(s) {\n if (_toString.call(s) != \"[object String]\") return s;\n if (!s) return \"\";\n return s.replace(/[\\<\\>\\&\\\"]/gm, function (match) {\n switch (match) {\n case \"<\":\n return \"<\";\n case \">\":\n return \">\";\n case \"&\":\n return \"&\";\n case \"\\\"\":\n return \""\";\n default:\n return match;\n }\n });\n }\n\n /**\n * HTML 문자열을 unescape 처리합니다.\n * escapeHtml를 참고하세요.\n * @method ax5.util.unescapeHtml\n * @param {String} s\n * @returns {string}\n * @example\n * ```\n * ax5.util.unescapeHtml('HTML <span>string</span> & "escape"')\n * //\"HTML string & \"escape\"\"\n * ```\n */\n function unescapeHtml(s) {\n if (_toString.call(s) != \"[object String]\") return s;\n if (!s) return \"\";\n return s.replace(/(<)|(>)|(&)|(")/gm, function (match) {\n switch (match) {\n case \"<\":\n return \"<\";\n case \">\":\n return \">\";\n case \"&\":\n return \"&\";\n case \""\":\n return \"\\\"\";\n default:\n return match;\n }\n });\n }\n\n /**\n * @method ax5.util.string\n * @param {String} tmpl\n * @param {*} args\n * @return {ax5string}\n * @example\n * ```js\n * ax5.util.string(\"{0} is dead, but {1} is alive! {0} {2}\").format(\"ASP\", \"ASP.NET\");\n * ax5.util.string(\"{0} is dead, but {1} is alive! {0} {2}\").format([\"ASP\", \"ASP.NET\"]);\n * ax5.util.stinrg(\"{0} counts\").format(100);\n * ```\n */\n function string(_string) {\n return new function (_string) {\n this.value = _string;\n this.toString = function () {\n return this.value;\n };\n /**\n * @method ax5.util.string.format\n * @returns {*}\n */\n this.format = function () {\n var args = [];\n for (var i = 0, l = arguments.length; i < l; i++) {\n args = args.concat(arguments[i]);\n }\n return this.value.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != 'undefined' ? args[number] : match;\n });\n };\n /**\n * @method ax5.util.string.escape\n * @returns {*}\n */\n this.escape = function () {\n return escapeHtml(this.value);\n };\n /**\n * @method ax5.util.string.unescape\n * @returns {*}\n */\n this.unescape = function () {\n return unescapeHtml(this.value);\n };\n /**\n * @method ax5.util.string.encode\n * @returns {*}\n */\n this.encode = function () {\n return encode(this.value);\n };\n /**\n * @method ax5.util.string.decode\n * @returns {*}\n */\n this.decode = function () {\n return decode(this.value);\n };\n /**\n * @method ax5.util.string.left\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {*}\n */\n this.left = function (_pos) {\n return left(this.value, _pos);\n };\n /**\n * @method ax5.util.string.right\n * @param {String|Number} pos - 찾을 문자열 또는 포지션\n * @returns {*}\n */\n this.right = function (_pos) {\n return right(this.value, _pos);\n };\n /**\n * @method ax5.util.string.camelCase\n * @returns {*}\n */\n this.camelCase = function () {\n return camelCase(this.value);\n };\n /**\n * @method ax5.util.string.snakeCase\n * @returns {*}\n */\n this.snakeCase = function () {\n return snakeCase(this.value);\n };\n }(_string);\n }\n\n /**\n * @method ax5.util.color\n * @param _hexColor\n * @return {ax5color}\n * @example\n * ```js\n * ax5.util.color(\"#ff3300\").lighten(10).getHexValue()\n * console.log(ax5.util.color(\"#ff3300\").darken(10).getHexValue());\n * ```\n */\n function color(_hexColor) {\n\n var matchers = function () {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n }();\n\n var convertObject = function convertObject(_color) {\n var match = void 0;\n if (match = matchers.rgb.exec(_color)) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if (match = matchers.rgba.exec(_color)) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if (match = matchers.hsl.exec(_color)) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if (match = matchers.hsla.exec(_color)) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if (match = matchers.hsv.exec(_color)) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if (match = matchers.hsva.exec(_color)) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if (match = matchers.hex8.exec(_color)) {\n return {\n r: parseInt(match[1], 16),\n g: parseInt(match[2], 16),\n b: parseInt(match[3], 16),\n a: parseInt(match[4] / 255, 16),\n format: \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(_color)) {\n return {\n r: parseInt(match[1], 16),\n g: parseInt(match[2], 16),\n b: parseInt(match[3], 16),\n format: \"hex\"\n };\n }\n if (match = matchers.hex4.exec(_color)) {\n return {\n r: parseInt(match[1] + '' + match[1], 16),\n g: parseInt(match[2] + '' + match[2], 16),\n b: parseInt(match[3] + '' + match[3], 16),\n a: parseInt(match[4] + '' + match[4], 16),\n format: \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(_color)) {\n return {\n r: parseInt(match[1] + '' + match[1], 16),\n g: parseInt(match[2] + '' + match[2], 16),\n b: parseInt(match[3] + '' + match[3], 16),\n format: \"hex\"\n };\n }\n\n return false;\n };\n\n function isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n }\n\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n }\n\n function convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n\n return n;\n }\n\n function convertTo255(n) {\n return ax5.util.number(Math.min(255, Math.max(n, 0)), { 'round': 2 });\n }\n\n function convertToHex(n) {\n return setDigit(Math.round(n).toString(16), 2);\n }\n\n function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = \"100%\";\n }\n\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n }\n\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n }\n\n function hslToRgb(h, s, l) {\n var r = void 0,\n g = void 0,\n b = void 0;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n }\n\n return new function (_color) {\n this._originalValue = _color;\n _color = convertObject(_color);\n this.r = _color.r;\n this.g = _color.g;\n this.b = _color.b;\n this.a = _color.a || 1;\n this._format = _color.format;\n this._hex = convertToHex(this.r) + convertToHex(this.g) + convertToHex(this.b);\n\n this.getHexValue = function () {\n return this._hex;\n };\n\n this.lighten = function (amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = rgbToHsl(this.r, this.g, this.b),\n rgb = {};\n\n hsl.l += amount / 100;\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n\n rgb = hslToRgb(hsl.h, convertToPercentage(hsl.s), convertToPercentage(hsl.l));\n\n return color('rgba(' + convertTo255(rgb.r) + ', ' + convertTo255(rgb.g) + ', ' + convertTo255(rgb.b) + ', ' + this.a + ')');\n };\n\n this.darken = function (amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = rgbToHsl(this.r, this.g, this.b),\n rgb = {};\n\n hsl.l -= amount / 100;\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n\n rgb = hslToRgb(hsl.h, convertToPercentage(hsl.s), convertToPercentage(hsl.l));\n\n return color('rgba(' + convertTo255(rgb.r) + ', ' + convertTo255(rgb.g) + ', ' + convertTo255(rgb.b) + ', ' + this.a + ')');\n };\n\n this.getBrightness = function () {\n return (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n };\n\n this.isDark = function () {\n return this.getBrightness() < 128;\n };\n\n this.isLight = function () {\n return !this.isDark();\n };\n\n this.getHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n hsl.l = Math.min(1, Math.max(0, hsl.l));\n hsl.h = hsl.h * 360;\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l\n };\n };\n }(_hexColor);\n }\n\n return {\n alert: alert,\n each: each,\n map: map,\n search: search,\n reduce: reduce,\n reduceRight: reduceRight,\n filter: filter,\n sum: sum,\n avg: avg,\n toJson: toJson,\n parseJson: parseJson,\n first: first,\n last: last,\n deepCopy: deepCopy,\n\n left: left,\n right: right,\n getType: getType,\n isWindow: isWindow,\n isElement: isElement,\n isObject: isObject,\n isArray: isArray,\n isFunction: isFunction,\n isString: isString,\n isNumber: isNumber,\n isNodelist: isNodelist,\n isUndefined: isUndefined,\n isNothing: isNothing,\n setCookie: setCookie,\n getCookie: getCookie,\n camelCase: camelCase,\n snakeCase: snakeCase,\n number: number,\n toArray: toArray,\n merge: merge,\n param: param,\n error: error,\n date: date,\n dday: dday,\n daysOfMonth: daysOfMonth,\n weeksOfMonth: weeksOfMonth,\n setDigit: setDigit,\n times: times,\n findParentNode: findParentNode,\n cssNumber: cssNumber,\n css: css,\n isDate: isDate,\n isDateFormat: isDateFormat,\n stopEvent: stopEvent,\n selectRange: selectRange,\n debounce: debounce,\n throttle: throttle,\n escapeHtml: escapeHtml,\n unescapeHtml: unescapeHtml,\n\n string: string,\n color: color\n };\n }();\n\n if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === \"object\" && _typeof(module.exports) === \"object\") {\n module.exports = ax5;\n } else {\n root.ax5 = function () {\n return ax5;\n }(); // ax5.ui에 연결\n }\n}).call(typeof window !== \"undefined\" ? window : undefined);\n\nax5.def = {};\nax5.info.errorMsg[\"ax5dialog\"] = {\n \"501\": \"Duplicate call error\"\n};\n\nax5.info.errorMsg[\"ax5picker\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find content key\"\n};\n\nax5.info.errorMsg[\"single-uploader\"] = {\n \"460\": \"There are no files to be uploaded.\",\n \"461\": \"There is no uploaded files.\"\n};\n\nax5.info.errorMsg[\"ax5calendar\"] = {\n \"401\": \"Can not find target element\"\n};\n\nax5.info.errorMsg[\"ax5formatter\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find pattern\"\n};\n\nax5.info.errorMsg[\"ax5menu\"] = {\n \"501\": \"Can not find menu item\"\n};\n\nax5.info.errorMsg[\"ax5select\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find option\"\n};\n\nax5.info.errorMsg[\"ax5combobox\"] = {\n \"401\": \"Can not find target element\",\n \"402\": \"Can not find boundID\",\n \"501\": \"Can not find option\"\n};\n// 필수 Ployfill 확장 구문\n(function () {\n 'use strict';\n\n var root = this,\n re_trim = /^\\s*|\\s*$/g;\n\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys\n if (!Object.keys) {\n Object.keys = function () {\n var hwp = Object.prototype.hasOwnProperty,\n hdeb = !{ toString: null }.propertyIsEnumerable('toString'),\n de = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'],\n del = de.length;\n\n return function (obj) {\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' && (typeof obj !== 'function' || obj === null)) throw new TypeError('type err');\n var r = [],\n prop,\n i;\n for (prop in obj) {\n if (hwp.call(obj, prop)) r.push(prop);\n }if (hdeb) {\n for (i = 0; i < del; i++) {\n if (hwp.call(obj, de[i])) r.push(de[i]);\n }\n }\n return r;\n };\n }();\n }\n\n // ES5 15.4.4.18 Array.prototype.forEach ( callbackfn [ , thisArg ] )\n // From https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach\n if (!Array.prototype.forEach) {\n Array.prototype.forEach = function (fun /*, thisp */) {\n if (this === void 0 || this === null) {\n throw TypeError();\n }\n var t = Object(this);\n var len = t.length >>> 0;\n if (typeof fun !== \"function\") {\n throw TypeError();\n }\n var thisp = arguments[1],\n i;\n for (i = 0; i < len; i++) {\n if (i in t) {\n fun.call(thisp, t[i], i, t);\n }\n }\n };\n }\n\n // ES5 15.3.4.5 Function.prototype.bind ( thisArg [, arg1 [, arg2, ... ]] )\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\n if (!Function.prototype.bind) {\n Function.prototype.bind = function (o) {\n if (typeof this !== 'function') {\n throw TypeError(\"function\");\n }\n var slice = [].slice,\n args = slice.call(arguments, 1),\n self = this,\n bound = function bound() {\n return self.apply(this instanceof nop ? this : o, args.concat(slice.call(arguments)));\n };\n\n function nop() {}\n\n nop.prototype = self.prototype;\n bound.prototype = new nop();\n return bound;\n };\n }\n\n /*global document */\n /**\n * define document.querySelector & document.querySelectorAll for IE7\n *\n * A not very fast but small hack. The approach is taken from\n * http://weblogs.asp.net/bleroy/archive/2009/08/31/queryselectorall-on-old-ie-versions-something-that-doesn-t-work.aspx\n *\n */\n (function () {\n if (document.querySelectorAll || document.querySelector) {\n return;\n }\n if (!document.createStyleSheet) return;\n var style = document.createStyleSheet(),\n select = function select(selector, maxCount) {\n var all = document.all,\n l = all.length,\n i,\n resultSet = [];\n\n style.addRule(selector, \"foo:bar\");\n for (i = 0; i < l; i += 1) {\n if (all[i].currentStyle.foo === \"bar\") {\n resultSet.push(all[i]);\n if (resultSet.length > maxCount) {\n break;\n }\n }\n }\n style.removeRule(0);\n return resultSet;\n };\n\n document.querySelectorAll = function (selector) {\n return select(selector, Infinity);\n };\n document.querySelector = function (selector) {\n return select(selector, 1)[0] || null;\n };\n })();\n\n if (!String.prototype.trim) {\n (function () {\n String.prototype.trim = function () {\n return this.replace(re_trim, '');\n };\n })();\n }\n\n if (!window.JSON) {\n window.JSON = {\n parse: function parse(sJSON) {\n return new Function('', 'return ' + sJSON)();\n },\n stringify: function () {\n var r = /[\"]/g,\n _f;\n return _f = function f(vContent) {\n var result, i, j;\n switch (result = typeof vContent === 'undefined' ? 'undefined' : _typeof(vContent)) {\n case 'string':\n return '\"' + vContent.replace(r, '\\\\\"') + '\"';\n case 'number':\n case 'boolean':\n return vContent.toString();\n case 'undefined':\n return 'undefined';\n case 'function':\n return '\"\"';\n case 'object':\n if (!vContent) return 'null';\n result = '';\n if (vContent.splice) {\n for (i = 0, j = vContent.length; i < j; i++) {\n result += ',' + _f(vContent[i]);\n }return '[' + result.substr(1) + ']';\n } else {\n for (i in vContent) {\n if (vContent.hasOwnProperty(i) && vContent[i] !== undefined && typeof vContent[i] != 'function') result += ',\"' + i + '\":' + _f(vContent[i]);\n }return '{' + result.substr(1) + '}';\n }\n }\n };\n }()\n };\n }\n\n // splice ie8 <= polyfill\n (function () {\n if (!document.documentMode || document.documentMode >= 9) return false;\n var _splice = Array.prototype.splice;\n Array.prototype.splice = function () {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[1] === \"undefined\") args[1] = this.length - args[0];\n return _splice.apply(this, args);\n };\n })();\n\n /**\n * Shim for \"fixing\" IE's lack of support (IE < 9) for applying slice\n * on host objects like NamedNodeMap, NodeList, and HTMLCollection\n * (technically, since host objects have been implementation-dependent,\n * at least before ES6, IE hasn't needed to work this way).\n * Also works on strings, fixes IE < 9 to allow an explicit undefined\n * for the 2nd argument (as in Firefox), and prevents errors when\n * called on other DOM objects.\n */\n (function () {\n 'use strict';\n\n var _slice = Array.prototype.slice;\n\n try {\n // Can't be used with DOM elements in IE < 9\n _slice.call(document.documentElement);\n } catch (e) {\n // Fails in IE < 9\n // This will work for genuine arrays, array-like objects,\n // NamedNodeMap (attributes, entities, notations),\n // NodeList (e.g., getElementsByTagName), HTMLCollection (e.g., childNodes),\n // and will not fail on other DOM objects (as do DOM elements in IE < 9)\n Array.prototype.slice = function (begin, end) {\n // IE < 9 gets unhappy with an undefined end argument\n end = typeof end !== 'undefined' ? end : this.length;\n\n // For native Array objects, we use the native slice function\n if (Object.prototype.toString.call(this) === '[object Array]') {\n return _slice.call(this, begin, end);\n }\n\n // For array like object we handle it ourselves.\n var i,\n cloned = [],\n size,\n len = this.length;\n\n // Handle negative value for \"begin\"\n var start = begin || 0;\n start = start >= 0 ? start : Math.max(0, len + start);\n\n // Handle negative value for \"end\"\n var upTo = typeof end == 'number' ? Math.min(end, len) : len;\n if (end < 0) {\n upTo = len + end;\n }\n\n // Actual expected size of the slice\n size = upTo - start;\n\n if (size > 0) {\n cloned = new Array(size);\n if (this.charAt) {\n for (i = 0; i < size; i++) {\n cloned[i] = this.charAt(start + i);\n }\n } else {\n for (i = 0; i < size; i++) {\n cloned[i] = this[start + i];\n }\n }\n }\n\n return cloned;\n };\n }\n })();\n\n // Console-polyfill. MIT license. https://github.com/paulmillr/console-polyfill\n // Make it safe to do console.log() always.\n (function (con) {\n var prop, method;\n var empty = {};\n var dummy = function dummy() {};\n var properties = 'memory'.split(',');\n var methods = ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',');\n while (prop = properties.pop()) {\n con[prop] = con[prop] || empty;\n }while (method = methods.pop()) {\n con[method] = con[method] || dummy;\n }\n })(window.console || {}); // Using `this` for web workers.\n\n\n // Modernizr style test\n if (!(window.webkitMatchMedia || window.mozMatchMedia || window.oMatchMedia || window.msMatchMedia || window.matchMedia)) {\n var root = document.getElementsByTagName('html')[0];\n root.className += ' no-matchmedia';\n }\n\n /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */\n window.matchMedia || (window.matchMedia = function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n\n var styleMedia = window.styleMedia || window.media;\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n script.parentNode.insertBefore(style, script);\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n }());\n\n /*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */\n (function () {\n // Bail out for browsers that have addListener support\n if (window.matchMedia && window.matchMedia('all').addListener) {\n return false;\n }\n\n var localMatchMedia = window.matchMedia,\n hasMediaQueries = localMatchMedia('only all').matches,\n isListening = false,\n timeoutID = 0,\n // setTimeout for debouncing 'handleChange'\n queries = [],\n // Contains each 'mql' and associated 'listeners' if 'addListener' is used\n handleChange = function handleChange(evt) {\n // Debounce\n clearTimeout(timeoutID);\n\n timeoutID = setTimeout(function () {\n for (var i = 0, il = queries.length; i < il; i++) {\n var mql = queries[i].mql,\n listeners = queries[i].listeners || [],\n matches = localMatchMedia(mql.media).matches;\n\n // Update mql.matches value and call listeners\n // Fire listeners only if transitioning to or from matched state\n if (matches !== mql.matches) {\n mql.matches = matches;\n\n for (var j = 0, jl = listeners.length; j < jl; j++) {\n listeners[j].call(window, mql);\n }\n }\n }\n }, 30);\n };\n\n window.matchMedia = function (media) {\n var mql = localMatchMedia(media),\n listeners = [],\n index = 0;\n\n mql.addListener = function (listener) {\n // Changes would not occur to css media type so return now (Affects IE <= 8)\n if (!hasMediaQueries) {\n return;\n }\n\n // Set up 'resize' listener for browsers that support CSS3 media queries (Not for IE <= 8)\n // There should only ever be 1 resize listener running for performance\n if (!isListening) {\n isListening = true;\n window.addEventListener('resize', handleChange, true);\n }\n\n // Push object only if it has not been pushed already\n if (index === 0) {\n index = queries.push({\n mql: mql,\n listeners: listeners\n });\n }\n\n listeners.push(listener);\n };\n\n mql.removeListener = function (listener) {\n for (var i = 0, il = listeners.length; i < il; i++) {\n if (listeners[i] === listener) {\n listeners.splice(i, 1);\n }\n }\n };\n\n return mql;\n };\n })();\n\n // extend innerWidth ..\n var html = document.getElementsByTagName('html')[0];\n var body = document.getElementsByTagName('body')[0];\n\n /*\n if (!window.innerWidth) window.innerWidth = html.clientWidth;\n if (!window.innerHeight) window.innerHeight = html.clientHeight;\n if (!window.scrollX) window.scrollX = window.pageXOffset || html.scrollLeft;\n if (!window.scrollY) window.scrollY = window.pageYOffset || html.scrollTop;\n */\n}).call(window);\n/**\n * Refer to this by {@link ax5}.\n * @namespace ax5.ui\n */\n\n/**\n * @class ax5.ui.root\n * @classdesc ax5 ui class\n * @author tom@axisj.com\n * @example\n * ```\n * var myui = new ax5.ui.root();\n * ```\n */\nax5.ui = function () {\n\n function axUi() {\n this.config = {};\n this.name = \"root\";\n\n /**\n * 클래스의 속성 정의 메소드 속성 확장후에 내부에 init 함수를 호출합니다.\n * @method ax5.ui.root.setConfig\n * @param {Object} config - 클래스 속성값\n * @param {Boolean} [callInit=true] - init 함수 호출 여부\n * @returns {ax5.ui.axUi}\n * @example\n * ```\n * var myui = new ax5.ui.root();\n * myui.setConfig({\n * \tid:\"abcd\"\n * });\n * ```\n */\n this.setConfig = function (cfg, callInit) {\n jQuery.extend(true, this.config, cfg);\n if (typeof callInit == \"undefined\" || callInit === true) {\n this.init();\n }\n return this;\n };\n this.init = function () {\n console.log(this.config);\n };\n\n this.bindWindowResize = function (callBack) {\n setTimeout(function () {\n jQuery(window).resize(function () {\n if (this.bindWindowResize__) clearTimeout(this.bindWindowResize__);\n this.bindWindowResize__ = setTimeout(function () {\n callBack.call(this);\n }.bind(this), 10);\n }.bind(this));\n }.bind(this), 100);\n };\n\n this.stopEvent = function (e) {\n if (e.preventDefault) e.preventDefault();\n if (e.stopPropagation) e.stopPropagation();\n e.cancelBubble = true;\n return false;\n };\n\n this.toString = function () {\n return this.name + '@' + this.version;\n };\n\n // instance init\n this.main = function () {}.apply(this, arguments);\n }\n\n /**\n * @method ax5.ui.addClass\n * @param {Object} config\n * @param {String} config.className - name of Class\n * @param {Object} [config.classStore=ax5.ui] - 클래스가 저장될 경로\n * @param {Function} [config.superClass=ax5.ui.root]\n * @param {Function} cls - Class Function\n */\n function addClass(config, cls) {\n if (!config || !config.className) throw 'invalid call';\n var classStore = config.classStore ? config.classStore : ax5.ui;\n if (!classStore) throw 'invalid classStore';\n\n // make ui definition variable\n ax5.def[config.className] = {\n version: ax5.info.version\n };\n\n var factory = function factory(cls, arg) {\n switch (arg.length) {\n case 0:\n return new cls();\n break;\n case 1:\n return new cls(arg[0]);\n break;\n case 2:\n return new cls(arg[0], arg[1]);\n break;\n case 3:\n return new cls(arg[0], arg[1], arg[2]);\n break;\n }\n };\n var initInstance = function initInstance(name, version, instance) {\n instance.name = name;\n instance.version = version;\n instance.instanceId = ax5.getGuid();\n return instance;\n };\n var initPrototype = function initPrototype(cls) {\n var superClass = config.superClass ? config.superClass : ax5.ui.root;\n if (!ax5.util.isFunction(superClass)) throw 'invalid superClass';\n superClass.call(this); // 부모호출\n cls.prototype = new superClass(); // 상속\n };\n var wrapper = function wrapper() {\n if (!this || !(this instanceof wrapper)) throw 'invalid call';\n var instance = factory(cls, arguments);\n return initInstance(config.className, config.version || \"\", instance);\n };\n initPrototype.call(this, cls);\n classStore[config.className] = wrapper;\n }\n\n return {\n root: axUi,\n addClass: addClass\n };\n}();\n\n/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n * https://github.com/thomasJang/mustache.js -- imporove some variables\n */\n\n(function defineMustache(global, factory) {\n\n factory(global.mustache = {});\n})(window.ax5, function mustacheFactory(mustache) {\n\n var objectToString = Object.prototype.toString;\n var isArray = Array.isArray || function isArrayPolyfill(object) {\n return objectToString.call(object) === '[object Array]';\n };\n\n function isFunction(object) {\n return typeof object === 'function';\n }\n\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n function typeStr(obj) {\n return isArray(obj) ? 'array' : typeof obj === 'undefined' ? 'undefined' : _typeof(obj);\n }\n\n function escapeRegExp(string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n function hasProperty(obj, propName) {\n return obj != null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && propName in obj;\n }\n\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n var regExpTest = RegExp.prototype.test;\n\n function testRegExp(re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n\n function isWhitespace(string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''', '/': '/'\n };\n\n function escapeHtml(string) {\n return String(string).replace(/[&<>\"'\\/]/g, function fromEntityMap(s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n */\n function parseTemplate(template, tags) {\n if (!template) return [];\n\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace() {\n if (hasTag && !nonSpace) {\n while (spaces.length) {\n delete tokens[spaces.pop()];\n }\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n\n function compileTags(tagsToCompile) {\n if (typeof tagsToCompile === 'string') tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2) throw new Error('Invalid tags: ' + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n } else {\n nonSpace = true;\n }\n\n tokens.push(['text', chr, start, start + 1]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === '\\n') stripSpace();\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe)) break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe)) throw new Error('Unclosed tag at ' + scanner.pos);\n\n token = [type, value, start, scanner.pos];\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection) throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n return nestTokens(squashTokens(tokens));\n }\n\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n function squashTokens(tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n function nestTokens(tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n function Scanner(string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n Scanner.prototype.eos = function eos() {\n return this.tail === '';\n };\n\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n Scanner.prototype.scan = function scan(re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0) return '';\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n };\n\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n Scanner.prototype.scanUntil = function scanUntil(re) {\n var index = this.tail.search(re),\n match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n case 0:\n match = '';\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n };\n\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n function Context(view, parentContext) {\n this.view = view;\n this.cache = {\n '.': this.view,\n '@each': function each() {\n var returns = [];\n for (var k in this) {\n returns.push({ '@key': k, '@value': this[k] });\n }\n return returns;\n }\n };\n this.parent = parentContext;\n }\n\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n Context.prototype.push = function push(view) {\n return new Context(view, this);\n };\n\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n Context.prototype.lookup = function lookup(name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this,\n names,\n index,\n lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n value = context.view;\n names = name.split('.');\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n **/\n while (value != null && index < names.length) {\n if (index === names.length - 1) lookupHit = hasProperty(value, names[index]);\n\n value = value[names[index++]];\n }\n } else {\n value = context.view[name];\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit) break;\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value)) value = value.call(this.view);\n\n return value;\n };\n\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n function Writer() {\n this.cache = {};\n }\n\n /**\n * Clears all cached templates in this writer.\n */\n Writer.prototype.clearCache = function clearCache() {\n this.cache = {};\n };\n\n /**\n * Parses and caches the given `template` and returns the array of tokens\n * that is generated from the parse.\n */\n Writer.prototype.parse = function parse(template, tags) {\n var cache = this.cache;\n var tokens = cache[template];\n\n if (tokens == null) tokens = cache[template] = parseTemplate(template, tags);\n\n return tokens;\n };\n\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n */\n Writer.prototype.render = function render(template, view, partials) {\n var tokens = this.parse(template);\n var context = view instanceof Context ? view : new Context(view);\n return this.renderTokens(tokens, context, partials, template);\n };\n\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate) {\n var buffer = '';\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);else if (symbol === '&') value = this.unescapedValue(token, context);else if (symbol === 'name') value = this.escapedValue(token, context);else if (symbol === 'text') value = this.rawValue(token);\n\n if (value !== undefined) buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate) {\n var self = this;\n var buffer = '';\n\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender(template) {\n return self.render(template, context, partials);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n if (value[j]) {\n if (_typeof(value[j]) === 'object') {\n value[j]['@i'] = j;\n value[j]['@first'] = j === 0;\n }\n\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\n }\n }\n } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string') throw new Error('Cannot use higher-order sections without the original template');\n\n // Extract the portion of the original template that the section contains.\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n if (value != null) buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate);\n }\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || isArray(value) && value.length === 0) return this.renderTokens(token[4], context, partials, originalTemplate);\n };\n\n Writer.prototype.renderPartial = function renderPartial(token, context, partials) {\n if (!partials) return;\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null) return this.renderTokens(this.parse(value), context, partials, value);\n };\n\n Writer.prototype.unescapedValue = function unescapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return mustache.escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue(token) {\n return token[1];\n };\n\n mustache.name = 'mustache.js';\n mustache.version = '2.1.3';\n mustache.tags = ['{{', '}}'];\n\n // All high-level mustache.* functions use this writer.\n var defaultWriter = new Writer();\n\n /**\n * Clears all cached templates in the default writer.\n */\n mustache.clearCache = function clearCache() {\n return defaultWriter.clearCache();\n };\n\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n mustache.parse = function parse(template, tags) {\n return defaultWriter.parse(template, tags);\n };\n\n /**\n * Renders the `template` with the given `view` and `partials` using the\n * default writer.\n */\n mustache.render = function render(template, view, partials) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' + 'but \"' + typeStr(template) + '\" was given as the first ' + 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials);\n };\n\n // This is here for backwards compatibility with 0.4.x.,\n /*eslint-disable */ // eslint wants camel cased function name\n mustache.to_html = function to_html(template, view, partials, send) {\n /*eslint-enable*/\n\n var result = mustache.render(template, view, partials);\n\n if (isFunction(send)) {\n send(result);\n } else {\n return result;\n }\n };\n\n // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n mustache.escape = escapeHtml;\n\n // Export these mainly for testing, but also for advanced usage.\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n});","'use strict';\n\n// ax5.ui.mask\n(function () {\n\n var UI = ax5.ui;\n var U = ax5.util;\n var MASK = void 0;\n\n UI.addClass({\n className: \"mask\"\n }, function () {\n /**\n * @class ax5mask\n * @classdesc\n * @author tom@axisj.com\n * @example\n * ```js\n * var customMask = function customMask() {\n * var cTmpl = '' +\n * '
      ' +\n * '
      ' +\n * '
      ' +\n * ' {{{body}}}' +\n * '
      ' +\n * '
      ';\n * return cTmpl;\n * };\n * ax5.ui.mask.tmpl.customMask = customMask;\n *\n * var mask = new ax5.ui.mask();\n *\n * mask.open({\n * templateName: 'customMask',\n * content: 'custom MASK on target',\n * target: $(\"#user-content\").get(0),\n * onClick: function(){\n * console.log(this);\n * }\n * });\n * ```\n */\n return function () {\n var self = this,\n cfg = void 0;\n\n this.instanceId = ax5.getGuid();\n this.config = {\n theme: '',\n target: jQuery(document.body).get(0),\n animateTime: 250\n };\n this.maskContent = '';\n this.status = \"off\";\n\n cfg = this.config;\n\n var onStateChanged = function onStateChanged(opts, that) {\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n\n opts = null;\n that = null;\n return true;\n };\n var getBodyTmpl = function getBodyTmpl(data) {\n if (typeof data.templateName === \"undefined\") data.templateName = \"defaultMask\";\n return MASK.tmpl.get.call(this, data.templateName, data);\n };\n var setBody = function setBody(content) {\n this.maskContent = content;\n };\n\n /**\n * Preferences of Mask UI\n * @method ax5mask.setConfig\n * @param {Object} config - 클래스 속성값\n * @returns {ax5mask}\n * @example\n * ```\n * setConfig({\n * target : {Element|AX5 nodelist}, // 마스크 처리할 대상\n * content : {String}, // 마스크안에 들어가는 내용물\n * onStateChanged: function(){} // 마스크 상태변경 시 호출되는 함수 this.type으로 예외처리 가능\n * }\n * ```\n */\n this.init = function () {\n // after setConfig();\n this.onStateChanged = cfg.onStateChanged;\n this.onClick = cfg.onClick;\n if (this.config.content) setBody.call(this, this.config.content);\n };\n\n /**\n * open mask\n * target 을 주지 않으면 기본적으로 body 에 마스크가 적용되고 원하는 타겟을 지정해서 마스크를 씌울 수 있습니다.\n * 기본 정의된 마스크 외에 사용자가 템플릿을 정의해서 마스크를 사용 가능합니다.\n * @method ax5mask.open\n * @param {Object} config\n * @param {String} config\n * @returns {ax5mask}\n * @example\n * ```js\n * my_mask.open({\n * target: document.body,\n * content: \"

      Loading..

      \",\n * onStateChanged: function () {\n *\n * }\n * });\n *\n * my_mask.open({\n * target: $(\"#mask-target\").get(0), // dom Element\n * content: \"

      Loading..

      \",\n * onStateChanged: function () {\n *\n * }\n * });\n *\n *\n * var customMask = function customMask() {\n * var cTmpl = '' +\n * '
      ' +\n * '
      ' +\n * '
      ' +\n * ' {{{body}}}' +\n * '
      ' +\n * '
      ';\n * return cTmpl;\n * };\n * ax5.ui.mask.tmpl.customMask = customMask;\n *\n * my_mask.open({\n * target: $(\"#mask-target\").get(0), // dom Element\n * content: \"

      Loading..

      \",\n * \n * onStateChanged: function () {\n *\n * }\n * });\n * ```\n */\n this.open = function (options) {\n\n if (this.status === \"on\") this.close();\n if (options && options.content) setBody.call(this, options.content);\n if (options && typeof options.templateName === \"undefined\") options.templateName = \"defaultMask\";\n self.maskConfig = jQuery.extend(true, {}, this.config, options);\n\n var _cfg = self.maskConfig,\n target = _cfg.target,\n $target = jQuery(target),\n maskId = 'ax-mask-' + ax5.getGuid(),\n $mask = void 0,\n css = {},\n that = {},\n templateName = _cfg.templateName,\n body = getBodyTmpl({\n theme: _cfg.theme,\n maskId: maskId,\n body: this.maskContent,\n templateName: templateName\n });\n\n jQuery(document.body).append(body);\n\n // 마스크의 타겟이 html body 가 아니라면\n if (target && target !== jQuery(document.body).get(0)) {\n css = {\n position: _cfg.position || \"absolute\",\n left: $target.offset().left,\n top: $target.offset().top,\n width: $target.outerWidth(),\n height: $target.outerHeight()\n };\n\n $target.addClass(\"ax-masking\");\n\n // 마스크의 타겟이 html body가 아닌경우 window resize 이벤트를 추적하여 엘리먼트 마스크의 CSS 속성 변경\n jQuery(window).on(\"resize.ax5mask-\" + this.instanceId, function (_$target) {\n this.align();\n }.bind(this));\n }\n\n if (typeof self.maskConfig.zIndex !== \"undefined\") {\n css[\"z-index\"] = self.maskConfig.zIndex;\n }\n\n this.$mask = $mask = jQuery(\"#\" + maskId);\n this.$target = $target;\n this.status = \"on\";\n $mask.css(css);\n\n if (_cfg.onClick) {\n $mask.on(\"click\", function (e) {\n that = {\n self: self,\n state: \"open\",\n type: \"click\"\n };\n self.maskConfig.onClick.call(that, that);\n });\n }\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"open\"\n });\n\n options = null;\n _cfg = null;\n target = null;\n $target = null;\n maskId = null;\n $mask = null;\n css = null;\n that = null;\n templateName = null;\n body = null;\n\n return this;\n };\n\n /**\n * close mask\n * @method ax5mask.close\n * @param {Number} [_delay=0]\n * @returns {ax5mask}\n * @example\n * ```\n * my_mask.close();\n * ```\n */\n this.close = function (_delay) {\n if (this.$mask) {\n var _close = function _close() {\n this.status = \"off\";\n this.$mask.remove();\n this.$target.removeClass(\"ax-masking\");\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"close\"\n });\n\n jQuery(window).off(\"resize.ax5mask-\" + this.instanceId);\n };\n\n if (_delay) {\n setTimeout(function () {\n _close.call(this);\n }.bind(this), _delay);\n } else {\n _close.call(this);\n }\n }\n return this;\n };\n\n /**\n * @method ax5mask.fadeOut\n * @returns {ax5mask}\n */\n this.fadeOut = function () {\n if (this.$mask) {\n var _close = function _close() {\n this.status = \"off\";\n this.$mask.remove();\n this.$target.removeClass(\"ax-masking\");\n\n onStateChanged.call(this, null, {\n self: this,\n state: \"close\"\n });\n\n jQuery(window).off(\"resize.ax5mask-\" + this.instanceId);\n };\n\n this.$mask.addClass(\"fade-out\");\n setTimeout(function () {\n _close.call(this);\n }.bind(this), cfg.animateTime);\n }\n return this;\n };\n\n /**\n * @method ax5mask.align\n * @returns {ax5mask}\n */\n this.align = function () {\n if (this.maskConfig && this.maskConfig.target && this.maskConfig.target !== jQuery(document.body).get(0)) {\n try {\n var css = {\n position: this.maskConfig.position || \"absolute\",\n left: this.$target.offset().left,\n top: this.$target.offset().top,\n width: this.$target.outerWidth(),\n height: this.$target.outerHeight()\n };\n this.$mask.css(css);\n } catch (e) {}\n }\n return this;\n };\n\n this.pullRequest = function () {\n console.log(\"test pullRequest01\");\n console.log(\"test pullRequest02\");\n };\n\n // 클래스 생성자\n this.main = function () {\n\n UI.mask_instance = UI.mask_instance || [];\n UI.mask_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n }());\n MASK = ax5.ui.mask;\n})();\n// ax5.ui.mask.tmpl\n(function () {\n\n var MASK = ax5.ui.mask;\n\n var defaultMask = function defaultMask(columnKeys) {\n return '\\n
      \\n
      \\n
      \\n
      \\n {{{body}}}\\n
      \\n
      \\n
      \\n ';\n };\n\n MASK.tmpl = {\n \"defaultMask\": defaultMask,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(MASK.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","\"use strict\";\n\n/*\n * Copyright (c) 2016. tom@axisj.com\n * - github.com/thomasjang\n * - www.axisj.com\n */\n\n// ax5.ui.modal\n(function () {\n var UI = ax5.ui;\n var U = ax5.util;\n var MODAL = void 0;\n\n UI.addClass({\n className: \"modal\"\n }, function () {\n /**\n * @class ax5modal\n * @alias ax5.ui.modal\n * @author tom@axisj.com\n */\n return function () {\n var self = this,\n cfg = void 0,\n ENM = {\n mousedown: ax5.info.supportTouch ? \"touchstart\" : \"mousedown\",\n mousemove: ax5.info.supportTouch ? \"touchmove\" : \"mousemove\",\n mouseup: ax5.info.supportTouch ? \"touchend\" : \"mouseup\"\n },\n getMousePosition = function getMousePosition(e) {\n var mouseObj = e;\n if (\"changedTouches\" in e && e.changedTouches) {\n mouseObj = e.changedTouches[0];\n }\n return {\n clientX: mouseObj.clientX,\n clientY: mouseObj.clientY\n };\n };\n\n this.instanceId = ax5.getGuid();\n this.config = {\n id: \"ax5-modal-\" + this.instanceId,\n position: {\n left: \"center\",\n top: \"middle\",\n margin: 10\n },\n minimizePosition: \"bottom-right\",\n clickEventName: \"ontouchstart\" in document.documentElement ? \"touchstart\" : \"click\",\n theme: \"default\",\n width: 300,\n height: 400,\n closeToEsc: true,\n disableDrag: false,\n disableResize: false,\n animateTime: 250,\n iframe: false\n };\n this.activeModal = null;\n this.watingModal = false;\n this.$ = {}; // UI inside of the jQuery object store\n\n cfg = this.config; // extended config copy cfg\n\n var onStateChanged = function onStateChanged(opts, that) {\n var eventProcessor = {\n resize: function resize(that) {\n if (opts && opts.onResize) {\n opts.onResize.call(that, that);\n } else if (this.onResize) {\n this.onResize.call(that, that);\n }\n },\n move: function move() {}\n };\n if (that.state in eventProcessor) {\n eventProcessor[that.state].call(this, that);\n }\n\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n return true;\n },\n getContent = function getContent(modalId, opts) {\n var data = {\n modalId: modalId,\n theme: opts.theme,\n header: opts.header,\n fullScreen: opts.fullScreen ? \"fullscreen\" : \"\",\n styles: \"\",\n iframe: opts.iframe,\n iframeLoadingMsg: opts.iframeLoadingMsg,\n disableResize: opts.disableResize\n };\n\n if (opts.zIndex) {\n data.styles += \"z-index:\" + opts.zIndex + \";\";\n }\n if (opts.absolute) {\n data.styles += \"position:absolute;\";\n }\n\n if (data.iframe && typeof data.iframe.param === \"string\") {\n data.iframe.param = ax5.util.param(data.iframe.param);\n }\n\n return MODAL.tmpl.get.call(this, \"content\", data, {});\n },\n open = function open(opts, callback) {\n var that = void 0;\n jQuery(document.body).append(getContent.call(this, opts.id, opts));\n\n this.activeModal = jQuery(\"#\" + opts.id);\n // 파트수집\n this.$ = {\n root: this.activeModal,\n header: this.activeModal.find('[data-modal-els=\"header\"]'),\n body: this.activeModal.find('[data-modal-els=\"body\"]')\n };\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"] = this.activeModal.find('[data-modal-els=\"iframe-wrap\"]');\n this.$[\"iframe\"] = this.activeModal.find('[data-modal-els=\"iframe\"]');\n this.$[\"iframe-form\"] = this.activeModal.find('[data-modal-els=\"iframe-form\"]');\n this.$[\"iframe-loading\"] = this.activeModal.find('[data-modal-els=\"iframe-loading\"]');\n } else {\n this.$[\"body-frame\"] = this.activeModal.find('[data-modal-els=\"body-frame\"]');\n }\n\n //- position 정렬\n this.align();\n\n that = {\n self: this,\n id: opts.id,\n theme: opts.theme,\n width: opts.width,\n height: opts.height,\n state: \"open\",\n $: this.$\n };\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"].css({ height: opts.height });\n this.$[\"iframe\"].css({ height: opts.height });\n\n // iframe content load\n this.$[\"iframe-form\"].attr({ method: opts.iframe.method });\n this.$[\"iframe-form\"].attr({ target: opts.id + \"-frame\" });\n this.$[\"iframe-form\"].attr({ action: opts.iframe.url });\n this.$[\"iframe\"].on(\"load\", function () {\n that.state = \"load\";\n if (opts.iframeLoadingMsg) {\n this.$[\"iframe-loading\"].hide();\n }\n onStateChanged.call(this, opts, that);\n }.bind(this));\n if (!opts.iframeLoadingMsg) {\n this.$[\"iframe\"].show();\n }\n this.$[\"iframe-form\"].submit();\n }\n\n if (callback) callback.call(that, that);\n\n if (!this.watingModal) {\n onStateChanged.call(this, opts, that);\n }\n\n // bind key event\n if (opts.closeToEsc) {\n jQuery(window).bind(\"keydown.ax-modal\", function (e) {\n onkeyup.call(this, e || window.event);\n }.bind(this));\n }\n\n jQuery(window).bind(\"resize.ax-modal\", function (e) {\n this.align(null, e || window.event);\n }.bind(this));\n\n this.$.header.off(ENM[\"mousedown\"]).off(\"dragstart\").on(ENM[\"mousedown\"], function (e) {\n /// 이벤트 필터링 추가 : 버튼엘리먼트로 부터 발생된 이벤트이면 moveModal 시작하지 않도록 필터링\n var isButton = U.findParentNode(e.target, function (_target) {\n if (_target.getAttribute(\"data-modal-header-btn\")) {\n return true;\n }\n });\n\n if (!opts.isFullScreen && !isButton && opts.disableDrag != true) {\n self.mousePosition = getMousePosition(e);\n moveModal.on.call(self);\n }\n if (isButton) {\n btnOnClick.call(self, e || window.event, opts);\n }\n }).on(\"dragstart\", function (e) {\n U.stopEvent(e.originalEvent);\n return false;\n });\n\n this.activeModal.off(ENM[\"mousedown\"]).off(\"dragstart\").on(ENM[\"mousedown\"], \"[data-ax5modal-resizer]\", function (e) {\n if (opts.disableDrag || opts.isFullScreen) return false;\n self.mousePosition = getMousePosition(e);\n resizeModal.on.call(self, this.getAttribute(\"data-ax5modal-resizer\"));\n }).on(\"dragstart\", function (e) {\n U.stopEvent(e.originalEvent);\n return false;\n });\n },\n btnOnClick = function btnOnClick(e, opts, callback, target, k) {\n var that = void 0;\n if (e.srcElement) e.target = e.srcElement;\n\n target = U.findParentNode(e.target, function (target) {\n if (target.getAttribute(\"data-modal-header-btn\")) {\n return true;\n }\n });\n\n if (target) {\n k = target.getAttribute(\"data-modal-header-btn\");\n\n that = {\n self: this,\n key: k,\n value: opts.header.btns[k],\n dialogId: opts.id,\n btnTarget: target\n };\n\n if (opts.header.btns[k].onClick) {\n opts.header.btns[k].onClick.call(that, k);\n }\n }\n\n that = null;\n opts = null;\n callback = null;\n target = null;\n k = null;\n },\n onkeyup = function onkeyup(e) {\n if (e.keyCode == ax5.info.eventKeys.ESC) {\n this.close();\n }\n },\n alignProcessor = {\n \"top-left\": function topLeft() {\n this.align({ left: \"left\", top: \"top\" });\n },\n \"top-right\": function topRight() {\n this.align({ left: \"right\", top: \"top\" });\n },\n \"bottom-left\": function bottomLeft() {\n this.align({ left: \"left\", top: \"bottom\" });\n },\n \"bottom-right\": function bottomRight() {\n this.align({ left: \"right\", top: \"bottom\" });\n },\n \"center-middle\": function centerMiddle() {\n this.align({ left: \"center\", top: \"middle\" });\n }\n },\n moveModal = {\n on: function on() {\n var modalZIndex = this.activeModal.css(\"z-index\"),\n modalOffset = this.activeModal.offset(),\n modalBox = {\n width: this.activeModal.outerWidth(),\n height: this.activeModal.outerHeight()\n },\n windowBox = {\n width: jQuery(window).width(),\n height: jQuery(window).height(),\n scrollLeft: jQuery(document).scrollLeft(),\n scrollTop: jQuery(document).scrollTop()\n },\n getResizerPosition = function getResizerPosition(e) {\n self.__dx = e.clientX - self.mousePosition.clientX;\n self.__dy = e.clientY - self.mousePosition.clientY;\n\n /*\n if (minX > modalOffset.left + self.__dx) {\n self.__dx = -modalOffset.left;\n } else if (maxX < modalOffset.left + self.__dx) {\n self.__dx = maxX - modalOffset.left;\n }\n if (minY > modalOffset.top + self.__dy) {\n self.__dy = -modalOffset.top;\n } else if (maxY < modalOffset.top + self.__dy) {\n self.__dy = maxY - modalOffset.top;\n }\n */\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy\n };\n };\n\n var minX = 0,\n maxX = windowBox.width - modalBox.width,\n minY = 0,\n maxY = windowBox.height - modalBox.height;\n\n self.__dx = 0; // 변화량 X\n self.__dy = 0; // 변화량 Y\n\n // self.resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n self.resizerBg = jQuery('
      ');\n self.resizer = jQuery('
      ');\n self.resizerBg.css({ zIndex: modalZIndex });\n self.resizer.css({\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height,\n zIndex: modalZIndex + 1\n });\n\n jQuery(document.body).append(self.resizerBg).append(self.resizer);\n\n self.activeModal.addClass(\"draged\");\n\n jQuery(document.body).on(ENM[\"mousemove\"] + \".ax5modal-move-\" + this.instanceId, function (e) {\n self.resizer.css(getResizerPosition(e));\n }).on(ENM[\"mouseup\"] + \".ax5modal-move-\" + this.instanceId, function (e) {\n moveModal.off.call(self);\n }).on(\"mouseleave.ax5modal-move-\" + this.instanceId, function (e) {\n moveModal.off.call(self);\n });\n\n jQuery(document.body).attr(\"unselectable\", \"on\").css(\"user-select\", \"none\").on(\"selectstart\", false);\n },\n off: function off() {\n var setModalPosition = function setModalPosition() {\n var box = this.resizer.offset();\n if (!this.modalConfig.absolute) {\n box.left -= jQuery(document).scrollLeft();\n box.top -= jQuery(document).scrollTop();\n }\n this.activeModal.css(box);\n this.modalConfig.left = box.left;\n this.modalConfig.top = box.top;\n\n box = null;\n };\n\n this.activeModal.removeClass(\"draged\");\n setModalPosition.call(this);\n\n this.resizer.remove();\n this.resizer = null;\n this.resizerBg.remove();\n this.resizerBg = null;\n //this.align();\n\n jQuery(document.body).off(ENM[\"mousemove\"] + \".ax5modal-move-\" + this.instanceId).off(ENM[\"mouseup\"] + \".ax5modal-move-\" + this.instanceId).off(\"mouseleave.ax5modal-move-\" + this.instanceId);\n\n jQuery(document.body).removeAttr(\"unselectable\").css(\"user-select\", \"auto\").off(\"selectstart\");\n\n onStateChanged.call(this, self.modalConfig, {\n self: this,\n state: \"move\"\n });\n }\n },\n resizeModal = {\n on: function on(resizerType) {\n var modalZIndex = this.activeModal.css(\"z-index\"),\n modalOffset = this.activeModal.offset(),\n modalBox = {\n width: this.activeModal.outerWidth(),\n height: this.activeModal.outerHeight()\n },\n windowBox = {\n width: jQuery(window).width(),\n height: jQuery(window).height(),\n scrollLeft: jQuery(document).scrollLeft(),\n scrollTop: jQuery(document).scrollTop()\n },\n resizerProcessor = {\n top: function top(e) {\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width,\n height: modalBox.height - self.__dy * 2\n };\n } else if (e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dy,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dy * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width,\n height: modalBox.height - self.__dy\n };\n }\n },\n bottom: function bottom(e) {\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey) {\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n\n return {\n left: modalOffset.left,\n top: modalOffset.top - self.__dy,\n width: modalBox.width,\n height: modalBox.height + self.__dy * 2\n };\n } else if (e.altKey) {\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dy,\n top: modalOffset.top - self.__dy,\n width: modalBox.width + self.__dy * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height + self.__dy\n };\n }\n },\n left: function left(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (e.shiftKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height\n };\n } else if (e.altKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dx,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height - self.__dx * 2\n };\n } else {\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx,\n height: modalBox.height\n };\n }\n },\n right: function right(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (e.shiftKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height\n };\n } else if (e.altKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top - self.__dx,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height + self.__dx * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width + self.__dx,\n height: modalBox.height\n };\n }\n },\n \"top-left\": function topLeft(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width - self.__dx,\n height: modalBox.height - self.__dy\n };\n }\n },\n \"top-right\": function topRight(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (minHeight > modalBox.height - self.__dy) {\n self.__dy = modalBox.height - minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minHeight > modalBox.height - self.__dy * 2) {\n self.__dy = (modalBox.height - minHeight) / 2;\n }\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top + self.__dy,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height - self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top + self.__dy,\n width: modalBox.width + self.__dx,\n height: modalBox.height - self.__dy\n };\n }\n },\n \"bottom-left\": function bottomLeft(e) {\n if (minWidth > modalBox.width - self.__dx) {\n self.__dx = modalBox.width - minWidth;\n }\n\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minWidth > modalBox.width - self.__dx * 2) {\n self.__dx = (modalBox.width - minWidth) / 2;\n }\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top - self.__dy,\n width: modalBox.width - self.__dx * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left + self.__dx,\n top: modalOffset.top,\n width: modalBox.width - self.__dx,\n height: modalBox.height + self.__dy\n };\n }\n },\n \"bottom-right\": function bottomRight(e) {\n if (minWidth > modalBox.width + self.__dx) {\n self.__dx = -modalBox.width + minWidth;\n }\n\n if (minHeight > modalBox.height + self.__dy) {\n self.__dy = -modalBox.height + minHeight;\n }\n\n if (e.shiftKey || e.altKey) {\n if (minWidth > modalBox.width + self.__dx * 2) {\n self.__dx = (-modalBox.width + minWidth) / 2;\n }\n if (minHeight > modalBox.height + self.__dy * 2) {\n self.__dy = (-modalBox.height + minHeight) / 2;\n }\n return {\n left: modalOffset.left - self.__dx,\n top: modalOffset.top - self.__dy,\n width: modalBox.width + self.__dx * 2,\n height: modalBox.height + self.__dy * 2\n };\n } else {\n return {\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width + self.__dx,\n height: modalBox.height + self.__dy\n };\n }\n }\n },\n getResizerPosition = function getResizerPosition(e) {\n self.__dx = e.clientX - self.mousePosition.clientX;\n self.__dy = e.clientY - self.mousePosition.clientY;\n\n return resizerProcessor[resizerType](e);\n };\n\n var minWidth = 100,\n minHeight = 100;\n\n var cursorType = {\n top: \"row-resize\",\n bottom: \"row-resize\",\n left: \"col-resize\",\n right: \"col-resize\",\n \"top-left\": \"nwse-resize\",\n \"top-right\": \"nesw-resize\",\n \"bottom-left\": \"nesw-resize\",\n \"bottom-right\": \"nwse-resize\"\n };\n\n self.__dx = 0; // 변화량 X\n self.__dy = 0; // 변화량 Y\n\n // self.resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n self.resizerBg = jQuery('
      ');\n self.resizer = jQuery('
      ');\n self.resizerBg.css({\n zIndex: modalZIndex,\n cursor: cursorType[resizerType]\n });\n self.resizer.css({\n left: modalOffset.left,\n top: modalOffset.top,\n width: modalBox.width,\n height: modalBox.height,\n zIndex: modalZIndex + 1,\n cursor: cursorType[resizerType]\n });\n jQuery(document.body).append(self.resizerBg).append(self.resizer);\n self.activeModal.addClass(\"draged\");\n\n jQuery(document.body).bind(ENM[\"mousemove\"] + \".ax5modal-resize-\" + this.instanceId, function (e) {\n self.resizer.css(getResizerPosition(e));\n }).bind(ENM[\"mouseup\"] + \".ax5modal-resize-\" + this.instanceId, function (e) {\n resizeModal.off.call(self);\n }).bind(\"mouseleave.ax5modal-resize-\" + this.instanceId, function (e) {\n resizeModal.off.call(self);\n });\n\n jQuery(document.body).attr(\"unselectable\", \"on\").css(\"user-select\", \"none\").bind(\"selectstart\", false);\n },\n off: function off() {\n var setModalPosition = function setModalPosition() {\n var box = this.resizer.offset();\n jQuery.extend(box, {\n width: this.resizer.width(),\n height: this.resizer.height()\n });\n if (!this.modalConfig.absolute) {\n box.left -= jQuery(document).scrollLeft();\n box.top -= jQuery(document).scrollTop();\n }\n this.activeModal.css(box);\n\n this.modalConfig.left = box.left;\n this.modalConfig.top = box.top;\n this.modalConfig.width = box.width;\n this.modalConfig.height = box.height;\n this.$[\"body\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n if (this.modalConfig.iframe) {\n this.$[\"iframe-wrap\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n this.$[\"iframe\"].css({\n height: box.height - this.modalConfig.headerHeight\n });\n }\n\n box = null;\n };\n\n this.activeModal.removeClass(\"draged\");\n setModalPosition.call(this);\n\n this.resizer.remove();\n this.resizer = null;\n this.resizerBg.remove();\n this.resizerBg = null;\n\n onStateChanged.call(this, self.modalConfig, {\n self: this,\n state: \"resize\"\n });\n\n jQuery(document.body).unbind(ENM[\"mousemove\"] + \".ax5modal-resize-\" + this.instanceId).unbind(ENM[\"mouseup\"] + \".ax5modal-resize-\" + this.instanceId).unbind(\"mouseleave.ax5modal-resize-\" + this.instanceId);\n\n jQuery(document.body).removeAttr(\"unselectable\").css(\"user-select\", \"auto\").unbind(\"selectstart\");\n }\n };\n\n /// private end\n\n /**\n * Preferences of modal UI\n * @method ax5modal.setConfig\n * @param {Object} config - 클래스 속성값\n * @param {Number} [config.zIndex]\n * @param {Object} [config.position]\n * @param {String} [config.position.left=\"center\"]\n * @param {String} [config.position.top=\"middle\"]\n * @param {Number} [config.position.margin=10]\n * @param {String} [config.minimizePosition=\"bottom-right\"]\n * @param {Number} [config.width=300]\n * @param {Number} [config.height=400]\n * @param {Boolean} [config.closeToEsc=true]\n * @param {Boolean} [config.absolute=false]\n * @param {Boolean} [config.disableDrag=false]\n * @param {Boolean} [config.disableResize=false]\n * @param {Number} [config.animateTime=250]\n * @param {Function} [config.fullScreen]\n * @param {Function} [config.onStateChanged] - `onStateChanged` function can be defined in setConfig method or new ax5.ui.modal initialization method. However, you can us to define an event function after initialization, if necessary\n * @param {Function} [config.onResize]\n * @returns {ax5modal}\n * @example\n * ```js\n * var modal = new ax5.ui.modal({\n * iframeLoadingMsg: '',\n * header: {\n * title: \"MODAL TITLE\",\n * btns: {\n * minimize: {\n * label: '', onClick: function () {\n * modal.minimize();\n * }\n * },\n * maximize: {\n * label: '', onClick: function () {\n * modal.maximize();\n * }\n * },\n * close: {\n * label: '', onClick: function () {\n * modal.close();\n * }\n * }\n * }\n * }\n * });\n *\n * modal.open({\n * width: 800,\n * height: 600,\n * fullScreen: function(){\n * return ($(window).width() < 600);\n * },\n * iframe: {\n * method: \"get\",\n * url: \"http://chequer-app:2017/html/login.html\",\n * param: \"callback=modalCallback\"\n * },\n * onStateChanged: function(){\n * console.log(this);\n * },\n * onResize: function(){\n * console.log(this);\n * }\n * });\n * ```\n */\n //== class body start\n this.init = function () {\n this.onStateChanged = cfg.onStateChanged;\n this.onResize = cfg.onResize;\n };\n\n /**\n * open the modal\n * @method ax5modal.open\n * @returns {ax5modal}\n * @example\n * ```\n * modal.open();\n * modal.open({\n * width: 500,\n * height: 500\n * });\n * moaal.open({}, function(){\n * console.log(this);\n * });\n * ```\n */\n this.open = function (opts, callback, tryCount) {\n if (typeof tryCount === \"undefined\") tryCount = 0;\n if (!this.activeModal) {\n opts = self.modalConfig = jQuery.extend(true, {}, cfg, opts);\n open.call(this, opts, callback);\n this.watingModal = false;\n } else if (tryCount < 3) {\n // 3번까지 재 시도\n this.watingModal = true;\n setTimeout(function () {\n this.open(opts, callback, tryCount + 1);\n }.bind(this), cfg.animateTime);\n } else {\n // 열기 시도 종료\n this.watingModal = false;\n }\n return this;\n };\n\n /**\n * close the modal\n * @method ax5modal.close\n * @param _option\n * @returns {ax5modal}\n * @example\n * ```\n * my_modal.close();\n * my_modal.close({callback: function(){\n * // on close event\n * });\n * // close 함수에 callback을 전달하면 정확한 close 타이밍을 캐치할 수 있습니다\n * ```\n */\n\n this.close = function (_option) {\n var opts = void 0,\n that = void 0;\n\n if (this.activeModal) {\n opts = self.modalConfig;\n this.activeModal.addClass(\"destroy\");\n jQuery(window).unbind(\"keydown.ax-modal\");\n jQuery(window).unbind(\"resize.ax-modal\");\n\n setTimeout(function () {\n // 프레임 제거\n if (opts.iframe) {\n var $iframe = this.$[\"iframe\"]; // iframe jQuery Object\n if ($iframe) {\n var iframeObject = $iframe.get(0),\n idoc = iframeObject.contentDocument ? iframeObject.contentDocument : iframeObject.contentWindow.document;\n\n try {\n $(idoc.body).children().each(function () {\n $(this).remove();\n });\n } catch (e) {}\n idoc.innerHTML = \"\";\n $iframe.attr(\"src\", \"about:blank\").remove();\n\n // force garbarge collection for IE only\n window.CollectGarbage && window.CollectGarbage();\n }\n }\n\n this.activeModal.remove();\n this.activeModal = null;\n\n // 모달 오픈 대기중이면 닫기 상태 전달 안함.\n if (!this.watingModal) {\n onStateChanged.call(this, opts, {\n self: this,\n state: \"close\"\n });\n }\n\n if (_option && U.isFunction(_option.callback)) {\n that = {\n self: this,\n id: opts.id,\n theme: opts.theme,\n width: opts.width,\n height: opts.height,\n state: \"close\",\n $: this.$\n };\n _option.callback.call(that, that);\n }\n }.bind(this), cfg.animateTime);\n }\n\n this.minimized = false; // hoksi\n\n return this;\n };\n\n /**\n * @method ax5modal.minimize\n * @returns {ax5modal}\n */\n this.minimize = function () {\n return function (minimizePosition) {\n if (this.minimized !== true) {\n var opts = self.modalConfig;\n if (typeof minimizePosition === \"undefined\") minimizePosition = cfg.minimizePosition;\n\n this.minimized = true;\n this.$.body.hide();\n self.modalConfig.originalHeight = opts.height;\n self.modalConfig.height = 0;\n alignProcessor[minimizePosition].call(this);\n\n onStateChanged.call(this, opts, {\n self: this,\n state: \"minimize\"\n });\n }\n\n return this;\n };\n }();\n\n /**\n * @method ax5modal.restore\n * @returns {ax5modal}\n */\n this.restore = function () {\n var opts = self.modalConfig;\n if (this.minimized) {\n this.minimized = false;\n this.$.body.show();\n self.modalConfig.height = self.modalConfig.originalHeight;\n self.modalConfig.originalHeight = undefined;\n\n this.align({ left: \"center\", top: \"middle\" });\n onStateChanged.call(this, opts, {\n self: this,\n state: \"restore\"\n });\n }\n return this;\n };\n\n /**\n * setCSS\n * @method ax5modal.css\n * @param {Object} css -\n * @returns {ax5modal}\n */\n this.css = function (css) {\n if (this.activeModal && !self.fullScreen) {\n this.activeModal.css(css);\n if (typeof css.width !== \"undefined\") {\n self.modalConfig.width = css.width;\n }\n if (typeof css.height !== \"undefined\") {\n self.modalConfig.height = css.height;\n }\n\n this.align();\n }\n return this;\n };\n\n /**\n * @method ax5modal.setModalConfig\n * @param _config\n * @returns {ax5.ui.ax5modal}\n */\n this.setModalConfig = function (_config) {\n self.modalConfig = jQuery.extend({}, self.modalConfig, _config);\n this.align();\n return this;\n };\n\n /**\n * @method ax5modal.align\n * @param position\n * @param e\n * @returns {ax5modal}\n * @example\n * ```js\n * modal.align({left:\"center\", top:\"middle\"});\n * modal.align({left:\"left\", top:\"top\", margin: 20});\n * ```\n */\n this.align = function () {\n return function (position, e) {\n if (!this.activeModal) return this;\n\n var opts = self.modalConfig,\n box = {\n width: opts.width,\n height: opts.height\n };\n\n var fullScreen = opts.isFullScreen = function (_fullScreen) {\n if (typeof _fullScreen === \"undefined\") {\n return false;\n } else if (U.isFunction(_fullScreen)) {\n return _fullScreen();\n }\n }(opts.fullScreen);\n\n if (fullScreen) {\n if (opts.header) this.$.header.show();\n if (opts.header) {\n opts.headerHeight = this.$.header.outerHeight();\n box.height += opts.headerHeight;\n } else {\n opts.headerHeight = 0;\n }\n box.width = jQuery(window).width();\n box.height = opts.height;\n box.left = 0;\n box.top = 0;\n } else {\n if (opts.header) this.$.header.show();\n if (position) {\n jQuery.extend(true, opts.position, position);\n }\n\n if (opts.header) {\n opts.headerHeight = this.$.header.outerHeight();\n box.height += opts.headerHeight;\n } else {\n opts.headerHeight = 0;\n }\n\n //- position 정렬\n if (opts.position.left == \"left\") {\n box.left = opts.position.margin || 0;\n } else if (opts.position.left == \"right\") {\n // window.innerWidth;\n box.left = jQuery(window).width() - box.width - (opts.position.margin || 0);\n } else if (opts.position.left == \"center\") {\n box.left = jQuery(window).width() / 2 - box.width / 2;\n } else {\n box.left = opts.position.left || 0;\n }\n\n if (opts.position.top == \"top\") {\n box.top = opts.position.margin || 0;\n } else if (opts.position.top == \"bottom\") {\n box.top = jQuery(window).height() - box.height - (opts.position.margin || 0);\n } else if (opts.position.top == \"middle\") {\n box.top = jQuery(window).height() / 2 - box.height / 2;\n } else {\n box.top = opts.position.top || 0;\n }\n if (box.left < 0) box.left = 0;\n if (box.top < 0) box.top = 0;\n\n if (opts.absolute) {\n box.top += jQuery(window).scrollTop();\n box.left += jQuery(window).scrollLeft();\n }\n }\n\n this.activeModal.css(box);\n\n this.$[\"body\"].css({\n height: box.height - (opts.headerHeight || 0)\n });\n\n if (opts.iframe) {\n this.$[\"iframe-wrap\"].css({\n height: box.height - opts.headerHeight\n });\n this.$[\"iframe\"].css({ height: box.height - opts.headerHeight });\n } else {}\n return this;\n };\n }();\n\n // 클래스 생성자\n this.main = function () {\n UI.modal_instance = UI.modal_instance || [];\n UI.modal_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n }());\n\n MODAL = ax5.ui.modal;\n})();\n\n// ax5.ui.modal.tmpl\n(function () {\n var MODAL = ax5.ui.modal;\n\n var content = function content() {\n return \" \\n
      \\n {{#header}}\\n
      \\n {{{title}}}\\n {{#btns}}\\n
      \\n {{#@each}}\\n \\n {{/@each}}\\n
      \\n {{/btns}}\\n
      \\n {{/header}}\\n
      \\n {{#iframe}}\\n
      \\n
      {{{iframeLoadingMsg}}}
      \\n \\n
      \\n
      \\n \\n {{#param}}\\n {{#@each}}\\n \\n {{/@each}}\\n {{/param}}\\n
      \\n {{/iframe}}\\n {{^iframe}}\\n
      \\n {{/iframe}}\\n
      \\n {{^disableResize}}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{/disableResize}}\\n
      \\n \";\n };\n\n MODAL.tmpl = {\n \"content\": content,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(MODAL.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","\"use strict\";\n\n// ax5.ui.toast\n(function () {\n\n var UI = ax5.ui;\n var U = ax5.util;\n var TOAST;\n\n UI.addClass({\n className: \"toast\"\n }, function () {\n /**\n * @class ax5toast\n * @classdesc\n * @author tom@axisj.com\n * @example\n * ```\n * ```js\n * var toast = new ax5.ui.toast();\n * toast.setConfig({\n * icon: '',\n * containerPosition: \"bottom-right\",\n * closeIcon: ''\n * });\n *\n * toast.onStateChanged = function(){\n * console.log(this);\n * };\n *\n * toast.push({\n * icon: '',\n * msg:\"999999\"\n * });\n *\n * toast.push({\n * theme: theme,\n * msg: 'toast message'\n * });\n * ```\n */\n var ax5toast = function ax5toast() {\n var self = this,\n cfg,\n toastSeq = 0,\n toastSeqClear = null;\n\n this.instanceId = ax5.getGuid();\n this.config = {\n clickEventName: \"click\", //(('ontouchstart' in document.documentElement) ? \"touchstart\" : \"click\"),\n theme: 'default',\n width: 300,\n icon: '',\n closeIcon: '',\n msg: '',\n lang: {\n \"ok\": \"ok\", \"cancel\": \"cancel\"\n },\n displayTime: 3000,\n animateTime: 250,\n containerPosition: \"bottom-left\"\n };\n this.toastContainer = null;\n this.queue = [];\n\n cfg = this.config;\n\n var onStateChanged = function onStateChanged(opts, that) {\n if (opts && opts.onStateChanged) {\n opts.onStateChanged.call(that, that);\n } else if (this.onStateChanged) {\n this.onStateChanged.call(that, that);\n }\n\n opts = null;\n that = null;\n return true;\n },\n\n /**\n * @method ax5toast.getContent\n * @param {String} toastId\n * @param {Object} opts\n * @returns toastDisplay\n * @example\n * ```js\n * ax5toast.getContent('ax5-toast-3-1', opts);\n * ```\n */\n getContent = function getContent(toastId, opts) {\n\n var data = {\n toastId: toastId,\n theme: opts.theme,\n icon: opts.icon,\n msg: (opts.msg || \"\").replace(/\\n/g, \"
      \"),\n btns: opts.btns,\n closeIcon: opts.closeIcon\n };\n\n try {\n return TOAST.tmpl.get.call(this, \"toastDisplay\", data);\n } finally {\n toastId = null;\n data = null;\n }\n },\n\n /**\n * @method ax5toast.open\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n open = function open(opts, callBack) {\n if (toastSeqClear) clearTimeout(toastSeqClear);\n\n var toastBox,\n box = {\n width: opts.width\n };\n\n opts.id = 'ax5-toast-' + self.containerId + '-' + ++toastSeq;\n if (jQuery('#' + opts.id).get(0)) return this;\n\n if (U.left(cfg.containerPosition, '-') == 'bottom') {\n this.toastContainer.append(getContent(opts.id, opts));\n } else {\n this.toastContainer.prepend(getContent(opts.id, opts));\n }\n\n toastBox = jQuery('#' + opts.id);\n toastBox.css({ width: box.width });\n opts.toastBox = toastBox;\n this.queue.push(opts);\n\n onStateChanged.call(this, opts, {\n self: this,\n state: \"open\",\n toastId: opts.id\n });\n\n if (opts.toastType === \"push\") {\n // 자동 제거 타이머 시작\n setTimeout(function () {\n this.close(opts, callBack);\n }.bind(this), cfg.displayTime);\n\n toastBox.find(\"[data-ax-toast-btn]\").on(cfg.clickEventName, function (e) {\n btnOnClick.call(this, e || window.event, opts, toastBox, callBack);\n }.bind(this));\n } else if (opts.toastType === \"confirm\") {\n toastBox.find(\"[data-ax-toast-btn]\").on(cfg.clickEventName, function (e) {\n btnOnClick.call(this, e || window.event, opts, toastBox, callBack);\n }.bind(this));\n }\n\n box = null;\n },\n btnOnClick = function btnOnClick(e, opts, toastBox, callBack, target, k) {\n target = U.findParentNode(e.target, function (target) {\n if (target.getAttribute(\"data-ax-toast-btn\")) {\n return true;\n }\n });\n\n if (target) {\n k = target.getAttribute(\"data-ax-toast-btn\");\n\n var that = {\n key: k, value: opts.btns ? opts.btns[k] : k,\n toastId: opts.id,\n btn_target: target\n };\n\n if (opts.btns && opts.btns[k].onClick) {\n opts.btns[k].onClick.call(that, k);\n } else if (opts.toastType === \"push\") {\n if (callBack) callBack.call(that, k);\n this.close(opts, callBack);\n } else if (opts.toastType === \"confirm\") {\n if (callBack) callBack.call(that, k);\n this.close(opts, callBack);\n }\n }\n\n e = null;\n opts = null;\n toastBox = null;\n callBack = null;\n target = null;\n k = null;\n };\n\n /**\n * Preferences of toast UI\n * @method ax5toast.set_config\n * @param {Object} config - 클래스 속성값\n * @returns {ax5toast}\n * @example\n * ```\n * ```\n */\n //== class body start\n this.init = function () {\n this.onStateChanged = cfg.onStateChanged;\n // after set_config();\n self.containerId = ax5.getGuid();\n var styles = [];\n if (cfg.zIndex) {\n styles.push(\"z-index:\" + cfg.zIndex);\n }\n jQuery(document.body).append('
      ');\n this.toastContainer = jQuery('[data-toast-container=\"' + self.containerId + '\"]');\n };\n\n /**\n * @method ax5toast.push\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n this.push = function (opts, callBack) {\n if (!self.containerId) {\n this.init();\n }\n if (U.isString(opts)) {\n opts = {\n title: cfg.title,\n msg: opts\n };\n }\n opts.toastType = \"push\";\n\n self.dialogConfig = {};\n jQuery.extend(true, self.dialogConfig, cfg, opts);\n opts = self.dialogConfig;\n\n open.call(this, opts, callBack);\n\n opts = null;\n callBack = null;\n return this;\n };\n\n /**\n * @method ax5toast.confirm\n * @param opts\n * @param callBack\n * @returns {ax5toast}\n */\n this.confirm = function (opts, callBack) {\n if (!self.containerId) {\n this.init();\n }\n if (U.isString(opts)) {\n opts = {\n title: cfg.title,\n msg: opts\n };\n }\n opts.toastType = \"confirm\";\n\n self.dialogConfig = {};\n jQuery.extend(true, self.dialogConfig, cfg, opts);\n opts = self.dialogConfig;\n\n if (typeof opts.btns === \"undefined\") {\n opts.btns = {\n ok: { label: cfg.lang[\"ok\"], theme: opts.theme }\n };\n }\n open.call(this, opts, callBack);\n\n opts = null;\n callBack = null;\n return this;\n };\n\n /**\n * close the toast\n * @method ax5toast.close\n * @returns {ax5toast}\n * @example\n * ```\n * my_toast.close();\n * ```\n */\n this.close = function (opts, callBack) {\n if (typeof opts === \"undefined\") {\n opts = U.last(this.queue);\n }\n\n var toastBox = opts.toastBox;\n toastBox.addClass(opts.toastType == \"push\" ? \"removed\" : \"destroy\");\n this.queue = U.filter(this.queue, function () {\n return opts.id != this.id;\n });\n setTimeout(function () {\n var that = {\n toastId: opts.id\n };\n\n toastBox.remove();\n if (callBack) callBack.call(that);\n\n that = {\n self: this,\n state: \"close\",\n toastId: opts.id\n };\n onStateChanged.call(this, opts, that);\n\n // 3초후에도 아무 일이 없다면 완전히 제거\n if (this.queue.length === 0) {\n if (toastSeqClear) clearTimeout(toastSeqClear);\n toastSeqClear = setTimeout(function () {\n /// console.log(\"try clear seq\");\n if (this.queue.length === 0) toastSeq = 0;\n }.bind(this), 3000);\n }\n\n that = null;\n opts = null;\n callBack = null;\n toastBox = null;\n }.bind(this), cfg.animateTime);\n\n return this;\n };\n\n // 클래스 생성자\n this.main = function () {\n\n UI.toast_instance = UI.toast_instance || [];\n UI.toast_instance.push(this);\n\n if (arguments && U.isObject(arguments[0])) {\n this.setConfig(arguments[0]);\n }\n }.apply(this, arguments);\n };\n return ax5toast;\n }());\n TOAST = ax5.ui.toast;\n})();\n// ax5.ui.toast.tmpl\n(function () {\n\n var TOAST = ax5.ui.toast;\n\n var toastDisplay = function toastDisplay(columnKeys) {\n return \"\\n
      \\n {{#icon}}\\n
      {{{.}}}
      \\n {{/icon}}\\n
      {{{msg}}}
      \\n {{#btns}}\\n
      \\n
      \\n {{#@each}}\\n \\n {{/@each}}\\n
      \\n
      \\n {{/btns}}\\n {{^btns}}\\n {{{closeIcon}}}\\n {{/btns}}\\n
      \\n
      \";\n };\n\n TOAST.tmpl = {\n \"toastDisplay\": toastDisplay,\n\n get: function get(tmplName, data, columnKeys) {\n return ax5.mustache.render(TOAST.tmpl[tmplName].call(this, columnKeys), data);\n }\n };\n})();","/*! jQuery UI - v1.12.1 - 2018-10-29\n* http://jqueryui.com\n* Includes: widget.js, position.js, data.js, keycode.js, scroll-parent.js, unique-id.js, widgets/sortable.js, widgets/autocomplete.js, widgets/datepicker.js, widgets/menu.js, widgets/mouse.js\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.12.1\";\n\n\n/*!\n * jQuery UI Widget 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: http://api.jqueryui.com/jQuery.widget/\n//>>demos: http://jqueryui.com/widget/\n\n\n\nvar widgetUuid = 0;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// Http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( $.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
      \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tcurrent = $( $.unique( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._on( options.element, {\n\t\t\t\"remove\": \"_untrackClassesElement\"\n\t\t} );\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName ).off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( $.isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
      \" +\n\t\t\t\t\"
      \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI :data 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: http://api.jqueryui.com/data-selector/\n\n\nvar data = $.extend( $.expr[ \":\" ], {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo( function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t} ) :\n\n\t\t// Support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t}\n} );\n\n/*!\n * jQuery UI Keycode 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: http://api.jqueryui.com/scrollParent/\n\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Unique ID 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: http://api.jqueryui.com/uniqueId/\n\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n\n\n// This file is deprecated\nvar ie = $.ui.ie = !!/msie [\\w.]+/.exec( navigator.userAgent.toLowerCase() );\n\n/*!\n * jQuery UI Mouse 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Mouse\n//>>group: Widgets\n//>>description: Abstracts mouse-based interactions to assist in creating certain widgets.\n//>>docs: http://api.jqueryui.com/mouse/\n\n\n\nvar mouseHandled = false;\n$( document ).on( \"mouseup\", function() {\n\tmouseHandled = false;\n} );\n\nvar widgetsMouse = $.widget( \"ui.mouse\", {\n\tversion: \"1.12.1\",\n\toptions: {\n\t\tcancel: \"input, textarea, button, select, option\",\n\t\tdistance: 1,\n\t\tdelay: 0\n\t},\n\t_mouseInit: function() {\n\t\tvar that = this;\n\n\t\tthis.element\n\t\t\t.on( \"mousedown.\" + this.widgetName, function( event ) {\n\t\t\t\treturn that._mouseDown( event );\n\t\t\t} )\n\t\t\t.on( \"click.\" + this.widgetName, function( event ) {\n\t\t\t\tif ( true === $.data( event.target, that.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t\t\t$.removeData( event.target, that.widgetName + \".preventClickEvent\" );\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\tthis.started = false;\n\t},\n\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\n\t// other instances of mouse\n\t_mouseDestroy: function() {\n\t\tthis.element.off( \".\" + this.widgetName );\n\t\tif ( this._mouseMoveDelegate ) {\n\t\t\tthis.document\n\t\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\t\t}\n\t},\n\n\t_mouseDown: function( event ) {\n\n\t\t// don't let more than one widget handle mouseStart\n\t\tif ( mouseHandled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._mouseMoved = false;\n\n\t\t// We may have missed mouseup (out of window)\n\t\t( this._mouseStarted && this._mouseUp( event ) );\n\n\t\tthis._mouseDownEvent = event;\n\n\t\tvar that = this,\n\t\t\tbtnIsLeft = ( event.which === 1 ),\n\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\n\t\t\t// disabled inputs (#7620)\n\t\t\telIsCancel = ( typeof this.options.cancel === \"string\" && event.target.nodeName ?\n\t\t\t\t$( event.target ).closest( this.options.cancel ).length : false );\n\t\tif ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.mouseDelayMet = !this.options.delay;\n\t\tif ( !this.mouseDelayMet ) {\n\t\t\tthis._mouseDelayTimer = setTimeout( function() {\n\t\t\t\tthat.mouseDelayMet = true;\n\t\t\t}, this.options.delay );\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted = ( this._mouseStart( event ) !== false );\n\t\t\tif ( !this._mouseStarted ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Click event may never have fired (Gecko & Opera)\n\t\tif ( true === $.data( event.target, this.widgetName + \".preventClickEvent\" ) ) {\n\t\t\t$.removeData( event.target, this.widgetName + \".preventClickEvent\" );\n\t\t}\n\n\t\t// These delegates are required to keep context\n\t\tthis._mouseMoveDelegate = function( event ) {\n\t\t\treturn that._mouseMove( event );\n\t\t};\n\t\tthis._mouseUpDelegate = function( event ) {\n\t\t\treturn that._mouseUp( event );\n\t\t};\n\n\t\tthis.document\n\t\t\t.on( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.on( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tevent.preventDefault();\n\n\t\tmouseHandled = true;\n\t\treturn true;\n\t},\n\n\t_mouseMove: function( event ) {\n\n\t\t// Only check for mouseups outside the document if you've moved inside the document\n\t\t// at least once. This prevents the firing of mouseup in the case of IE<9, which will\n\t\t// fire a mousemove event if content is placed under the cursor. See #7778\n\t\t// Support: IE <9\n\t\tif ( this._mouseMoved ) {\n\n\t\t\t// IE mouseup check - mouseup happened when mouse was out of window\n\t\t\tif ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) &&\n\t\t\t\t\t!event.button ) {\n\t\t\t\treturn this._mouseUp( event );\n\n\t\t\t// Iframe mouseup check - mouseup occurred in another document\n\t\t\t} else if ( !event.which ) {\n\n\t\t\t\t// Support: Safari <=8 - 9\n\t\t\t\t// Safari sets which to 0 if you press any of the following keys\n\t\t\t\t// during a drag (#14461)\n\t\t\t\tif ( event.originalEvent.altKey || event.originalEvent.ctrlKey ||\n\t\t\t\t\t\tevent.originalEvent.metaKey || event.originalEvent.shiftKey ) {\n\t\t\t\t\tthis.ignoreMissingWhich = true;\n\t\t\t\t} else if ( !this.ignoreMissingWhich ) {\n\t\t\t\t\treturn this._mouseUp( event );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( event.which || event.button ) {\n\t\t\tthis._mouseMoved = true;\n\t\t}\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseDrag( event );\n\t\t\treturn event.preventDefault();\n\t\t}\n\n\t\tif ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {\n\t\t\tthis._mouseStarted =\n\t\t\t\t( this._mouseStart( this._mouseDownEvent, event ) !== false );\n\t\t\t( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) );\n\t\t}\n\n\t\treturn !this._mouseStarted;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis.document\n\t\t\t.off( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.off( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tif ( this._mouseStarted ) {\n\t\t\tthis._mouseStarted = false;\n\n\t\t\tif ( event.target === this._mouseDownEvent.target ) {\n\t\t\t\t$.data( event.target, this.widgetName + \".preventClickEvent\", true );\n\t\t\t}\n\n\t\t\tthis._mouseStop( event );\n\t\t}\n\n\t\tif ( this._mouseDelayTimer ) {\n\t\t\tclearTimeout( this._mouseDelayTimer );\n\t\t\tdelete this._mouseDelayTimer;\n\t\t}\n\n\t\tthis.ignoreMissingWhich = false;\n\t\tmouseHandled = false;\n\t\tevent.preventDefault();\n\t},\n\n\t_mouseDistanceMet: function( event ) {\n\t\treturn ( Math.max(\n\t\t\t\tMath.abs( this._mouseDownEvent.pageX - event.pageX ),\n\t\t\t\tMath.abs( this._mouseDownEvent.pageY - event.pageY )\n\t\t\t) >= this.options.distance\n\t\t);\n\t},\n\n\t_mouseDelayMet: function( /* event */ ) {\n\t\treturn this.mouseDelayMet;\n\t},\n\n\t// These are placeholder methods, to be overriden by extending plugin\n\t_mouseStart: function( /* event */ ) {},\n\t_mouseDrag: function( /* event */ ) {},\n\t_mouseStop: function( /* event */ ) {},\n\t_mouseCapture: function( /* event */ ) { return true; }\n} );\n\n\n/*!\n * jQuery UI Sortable 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Sortable\n//>>group: Interactions\n//>>description: Enables items in a list to be sorted using the mouse.\n//>>docs: http://api.jqueryui.com/sortable/\n//>>demos: http://jqueryui.com/sortable/\n//>>css.structure: ../../themes/base/sortable.css\n\n\n\nvar widgetsSortable = $.widget( \"ui.sortable\", $.ui.mouse, {\n\tversion: \"1.12.1\",\n\twidgetEventPrefix: \"sort\",\n\tready: false,\n\toptions: {\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectWith: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tdropOnEmpty: true,\n\t\tforcePlaceholderSize: false,\n\t\tforceHelperSize: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\titems: \"> *\",\n\t\topacity: false,\n\t\tplaceholder: false,\n\t\trevert: false,\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tscope: \"default\",\n\t\ttolerance: \"intersect\",\n\t\tzIndex: 1000,\n\n\t\t// Callbacks\n\t\tactivate: null,\n\t\tbeforeStop: null,\n\t\tchange: null,\n\t\tdeactivate: null,\n\t\tout: null,\n\t\tover: null,\n\t\treceive: null,\n\t\tremove: null,\n\t\tsort: null,\n\t\tstart: null,\n\t\tstop: null,\n\t\tupdate: null\n\t},\n\n\t_isOverAxis: function( x, reference, size ) {\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n\t},\n\n\t_isFloating: function( item ) {\n\t\treturn ( /left|right/ ).test( item.css( \"float\" ) ) ||\n\t\t\t( /inline|table-cell/ ).test( item.css( \"display\" ) );\n\t},\n\n\t_create: function() {\n\t\tthis.containerCache = {};\n\t\tthis._addClass( \"ui-sortable\" );\n\n\t\t//Get the items\n\t\tthis.refresh();\n\n\t\t//Let's determine the parent's offset\n\t\tthis.offset = this.element.offset();\n\n\t\t//Initialize mouse events for interaction\n\t\tthis._mouseInit();\n\n\t\tthis._setHandleClassName();\n\n\t\t//We're ready to go\n\t\tthis.ready = true;\n\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_setHandleClassName: function() {\n\t\tvar that = this;\n\t\tthis._removeClass( this.element.find( \".ui-sortable-handle\" ), \"ui-sortable-handle\" );\n\t\t$.each( this.items, function() {\n\t\t\tthat._addClass(\n\t\t\t\tthis.instance.options.handle ?\n\t\t\t\t\tthis.item.find( this.instance.options.handle ) :\n\t\t\t\t\tthis.item,\n\t\t\t\t\"ui-sortable-handle\"\n\t\t\t);\n\t\t} );\n\t},\n\n\t_destroy: function() {\n\t\tthis._mouseDestroy();\n\n\t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\n\t\t\tthis.items[ i ].item.removeData( this.widgetName + \"-item\" );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_mouseCapture: function( event, overrideHandle ) {\n\t\tvar currentItem = null,\n\t\t\tvalidHandle = false,\n\t\t\tthat = this;\n\n\t\tif ( this.reverting ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( this.options.disabled || this.options.type === \"static\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t//We have to refresh the items data once first\n\t\tthis._refreshItems( event );\n\n\t\t//Find out if the clicked node (or one of its parents) is a actual item in this.items\n\t\t$( event.target ).parents().each( function() {\n\t\t\tif ( $.data( this, that.widgetName + \"-item\" ) === that ) {\n\t\t\t\tcurrentItem = $( this );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\t\tif ( $.data( event.target, that.widgetName + \"-item\" ) === that ) {\n\t\t\tcurrentItem = $( event.target );\n\t\t}\n\n\t\tif ( !currentItem ) {\n\t\t\treturn false;\n\t\t}\n\t\tif ( this.options.handle && !overrideHandle ) {\n\t\t\t$( this.options.handle, currentItem ).find( \"*\" ).addBack().each( function() {\n\t\t\t\tif ( this === event.target ) {\n\t\t\t\t\tvalidHandle = true;\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !validHandle ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tthis.currentItem = currentItem;\n\t\tthis._removeCurrentsFromItems();\n\t\treturn true;\n\n\t},\n\n\t_mouseStart: function( event, overrideHandle, noActivation ) {\n\n\t\tvar i, body,\n\t\t\to = this.options;\n\n\t\tthis.currentContainer = this;\n\n\t\t//We only need to call refreshPositions, because the refreshItems call has been moved to\n\t\t// mouseCapture\n\t\tthis.refreshPositions();\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper( event );\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Get the next scrolling parent\n\t\tthis.scrollParent = this.helper.scrollParent();\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.offset = this.currentItem.offset();\n\t\tthis.offset = {\n\t\t\ttop: this.offset.top - this.margins.top,\n\t\t\tleft: this.offset.left - this.margins.left\n\t\t};\n\n\t\t$.extend( this.offset, {\n\t\t\tclick: { //Where the click happened, relative to the element\n\t\t\t\tleft: event.pageX - this.offset.left,\n\t\t\t\ttop: event.pageY - this.offset.top\n\t\t\t},\n\t\t\tparent: this._getParentOffset(),\n\n\t\t\t// This is a relative to absolute position minus the actual position calculation -\n\t\t\t// only used for relative positioned helper\n\t\t\trelative: this._getRelativeOffset()\n\t\t} );\n\n\t\t// Only after we got the offset, we can change the helper's position to absolute\n\t\t// TODO: Still need to figure out a way to make relative sorting possible\n\t\tthis.helper.css( \"position\", \"absolute\" );\n\t\tthis.cssPosition = this.helper.css( \"position\" );\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this._generatePosition( event );\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\t( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) );\n\n\t\t//Cache the former DOM position\n\t\tthis.domPosition = {\n\t\t\tprev: this.currentItem.prev()[ 0 ],\n\t\t\tparent: this.currentItem.parent()[ 0 ]\n\t\t};\n\n\t\t// If the helper is not the original, hide the original so it's not playing any role during\n\t\t// the drag, won't cause anything bad this way\n\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\tthis.currentItem.hide();\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthis._createPlaceholder();\n\n\t\t//Set a containment if given in the options\n\t\tif ( o.containment ) {\n\t\t\tthis._setContainment();\n\t\t}\n\n\t\tif ( o.cursor && o.cursor !== \"auto\" ) { // cursor option\n\t\t\tbody = this.document.find( \"body\" );\n\n\t\t\t// Support: IE\n\t\t\tthis.storedCursor = body.css( \"cursor\" );\n\t\t\tbody.css( \"cursor\", o.cursor );\n\n\t\t\tthis.storedStylesheet =\n\t\t\t\t$( \"\" ).appendTo( body );\n\t\t}\n\n\t\tif ( o.opacity ) { // opacity option\n\t\t\tif ( this.helper.css( \"opacity\" ) ) {\n\t\t\t\tthis._storedOpacity = this.helper.css( \"opacity\" );\n\t\t\t}\n\t\t\tthis.helper.css( \"opacity\", o.opacity );\n\t\t}\n\n\t\tif ( o.zIndex ) { // zIndex option\n\t\t\tif ( this.helper.css( \"zIndex\" ) ) {\n\t\t\t\tthis._storedZIndex = this.helper.css( \"zIndex\" );\n\t\t\t}\n\t\t\tthis.helper.css( \"zIndex\", o.zIndex );\n\t\t}\n\n\t\t//Prepare scrolling\n\t\tif ( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\tthis.scrollParent[ 0 ].tagName !== \"HTML\" ) {\n\t\t\tthis.overflowOffset = this.scrollParent.offset();\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger( \"start\", event, this._uiHash() );\n\n\t\t//Recache the helper size\n\t\tif ( !this._preserveHelperProportions ) {\n\t\t\tthis._cacheHelperProportions();\n\t\t}\n\n\t\t//Post \"activate\" events to possible containers\n\t\tif ( !noActivation ) {\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tthis.containers[ i ]._trigger( \"activate\", event, this._uiHash( this ) );\n\t\t\t}\n\t\t}\n\n\t\t//Prepare possible droppables\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\tif ( $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t}\n\n\t\tthis.dragging = true;\n\n\t\tthis._addClass( this.helper, \"ui-sortable-helper\" );\n\n\t\t// Execute the drag once - this causes the helper not to be visiblebefore getting its\n\t\t// correct position\n\t\tthis._mouseDrag( event );\n\t\treturn true;\n\n\t},\n\n\t_mouseDrag: function( event ) {\n\t\tvar i, item, itemElement, intersection,\n\t\t\to = this.options,\n\t\t\tscrolled = false;\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition( event );\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\tif ( !this.lastPositionAbs ) {\n\t\t\tthis.lastPositionAbs = this.positionAbs;\n\t\t}\n\n\t\t//Do scrolling\n\t\tif ( this.options.scroll ) {\n\t\t\tif ( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t\tthis.scrollParent[ 0 ].tagName !== \"HTML\" ) {\n\n\t\t\t\tif ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) -\n\t\t\t\t\t\tevent.pageY < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollTop =\n\t\t\t\t\t\tscrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollTop =\n\t\t\t\t\t\tscrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t\tif ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) -\n\t\t\t\t\t\tevent.pageX < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft = scrolled =\n\t\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) {\n\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft = scrolled =\n\t\t\t\t\t\tthis.scrollParent[ 0 ].scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed );\n\t\t\t\t} else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed );\n\t\t\t\t}\n\n\t\t\t\tif ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(\n\t\t\t\t\t\tthis.document.scrollLeft() - o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t} else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(\n\t\t\t\t\t\tthis.document.scrollLeft() + o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t\t}\n\t\t}\n\n\t\t//Regenerate the absolute position used for position checks\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\t//Set the helper position\n\t\tif ( !this.options.axis || this.options.axis !== \"y\" ) {\n\t\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\n\t\t}\n\t\tif ( !this.options.axis || this.options.axis !== \"x\" ) {\n\t\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\n\t\t}\n\n\t\t//Rearrange\n\t\tfor ( i = this.items.length - 1; i >= 0; i-- ) {\n\n\t\t\t//Cache variables and intersection, continue if no intersection\n\t\t\titem = this.items[ i ];\n\t\t\titemElement = item.item[ 0 ];\n\t\t\tintersection = this._intersectsWithPointer( item );\n\t\t\tif ( !intersection ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Only put the placeholder inside the current Container, skip all\n\t\t\t// items from other containers. This works because when moving\n\t\t\t// an item from one container to another the\n\t\t\t// currentContainer is switched before the placeholder is moved.\n\t\t\t//\n\t\t\t// Without this, moving items in \"sub-sortables\" can cause\n\t\t\t// the placeholder to jitter between the outer and inner container.\n\t\t\tif ( item.instance !== this.currentContainer ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Cannot intersect with itself\n\t\t\t// no useless actions that have been done before\n\t\t\t// no action if the item moved is the parent of the item checked\n\t\t\tif ( itemElement !== this.currentItem[ 0 ] &&\n\t\t\t\tthis.placeholder[ intersection === 1 ? \"next\" : \"prev\" ]()[ 0 ] !== itemElement &&\n\t\t\t\t!$.contains( this.placeholder[ 0 ], itemElement ) &&\n\t\t\t\t( this.options.type === \"semi-dynamic\" ?\n\t\t\t\t\t!$.contains( this.element[ 0 ], itemElement ) :\n\t\t\t\t\ttrue\n\t\t\t\t)\n\t\t\t) {\n\n\t\t\t\tthis.direction = intersection === 1 ? \"down\" : \"up\";\n\n\t\t\t\tif ( this.options.tolerance === \"pointer\" || this._intersectsWithSides( item ) ) {\n\t\t\t\t\tthis._rearrange( event, item );\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._trigger( \"change\", event, this._uiHash() );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tthis._contactContainers( event );\n\n\t\t//Interconnect with droppables\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.drag( this, event );\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger( \"sort\", event, this._uiHash() );\n\n\t\tthis.lastPositionAbs = this.positionAbs;\n\t\treturn false;\n\n\t},\n\n\t_mouseStop: function( event, noPropagation ) {\n\n\t\tif ( !event ) {\n\t\t\treturn;\n\t\t}\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tif ( $.ui.ddmanager && !this.options.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.drop( this, event );\n\t\t}\n\n\t\tif ( this.options.revert ) {\n\t\t\tvar that = this,\n\t\t\t\tcur = this.placeholder.offset(),\n\t\t\t\taxis = this.options.axis,\n\t\t\t\tanimation = {};\n\n\t\t\tif ( !axis || axis === \"x\" ) {\n\t\t\t\tanimation.left = cur.left - this.offset.parent.left - this.margins.left +\n\t\t\t\t\t( this.offsetParent[ 0 ] === this.document[ 0 ].body ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tthis.offsetParent[ 0 ].scrollLeft\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tif ( !axis || axis === \"y\" ) {\n\t\t\t\tanimation.top = cur.top - this.offset.parent.top - this.margins.top +\n\t\t\t\t\t( this.offsetParent[ 0 ] === this.document[ 0 ].body ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tthis.offsetParent[ 0 ].scrollTop\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tthis.reverting = true;\n\t\t\t$( this.helper ).animate(\n\t\t\t\tanimation,\n\t\t\t\tparseInt( this.options.revert, 10 ) || 500,\n\t\t\t\tfunction() {\n\t\t\t\t\tthat._clear( event );\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tthis._clear( event, noPropagation );\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tcancel: function() {\n\n\t\tif ( this.dragging ) {\n\n\t\t\tthis._mouseUp( new $.Event( \"mouseup\", { target: null } ) );\n\n\t\t\tif ( this.options.helper === \"original\" ) {\n\t\t\t\tthis.currentItem.css( this._storedCSS );\n\t\t\t\tthis._removeClass( this.currentItem, \"ui-sortable-helper\" );\n\t\t\t} else {\n\t\t\t\tthis.currentItem.show();\n\t\t\t}\n\n\t\t\t//Post deactivating events to containers\n\t\t\tfor ( var i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tthis.containers[ i ]._trigger( \"deactivate\", null, this._uiHash( this ) );\n\t\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\t\tthis.containers[ i ]._trigger( \"out\", null, this._uiHash( this ) );\n\t\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.placeholder ) {\n\n\t\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n\t\t\t// it unbinds ALL events from the original node!\n\t\t\tif ( this.placeholder[ 0 ].parentNode ) {\n\t\t\t\tthis.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );\n\t\t\t}\n\t\t\tif ( this.options.helper !== \"original\" && this.helper &&\n\t\t\t\t\tthis.helper[ 0 ].parentNode ) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\n\t\t\t$.extend( this, {\n\t\t\t\thelper: null,\n\t\t\t\tdragging: false,\n\t\t\t\treverting: false,\n\t\t\t\t_noFinalSort: null\n\t\t\t} );\n\n\t\t\tif ( this.domPosition.prev ) {\n\t\t\t\t$( this.domPosition.prev ).after( this.currentItem );\n\t\t\t} else {\n\t\t\t\t$( this.domPosition.parent ).prepend( this.currentItem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tserialize: function( o ) {\n\n\t\tvar items = this._getItemsAsjQuery( o && o.connected ),\n\t\t\tstr = [];\n\t\to = o || {};\n\n\t\t$( items ).each( function() {\n\t\t\tvar res = ( $( o.item || this ).attr( o.attribute || \"id\" ) || \"\" )\n\t\t\t\t.match( o.expression || ( /(.+)[\\-=_](.+)/ ) );\n\t\t\tif ( res ) {\n\t\t\t\tstr.push(\n\t\t\t\t\t( o.key || res[ 1 ] + \"[]\" ) +\n\t\t\t\t\t\"=\" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) );\n\t\t\t}\n\t\t} );\n\n\t\tif ( !str.length && o.key ) {\n\t\t\tstr.push( o.key + \"=\" );\n\t\t}\n\n\t\treturn str.join( \"&\" );\n\n\t},\n\n\ttoArray: function( o ) {\n\n\t\tvar items = this._getItemsAsjQuery( o && o.connected ),\n\t\t\tret = [];\n\n\t\to = o || {};\n\n\t\titems.each( function() {\n\t\t\tret.push( $( o.item || this ).attr( o.attribute || \"id\" ) || \"\" );\n\t\t} );\n\t\treturn ret;\n\n\t},\n\n\t/* Be careful with the following core functions */\n\t_intersectsWith: function( item ) {\n\n\t\tvar x1 = this.positionAbs.left,\n\t\t\tx2 = x1 + this.helperProportions.width,\n\t\t\ty1 = this.positionAbs.top,\n\t\t\ty2 = y1 + this.helperProportions.height,\n\t\t\tl = item.left,\n\t\t\tr = l + item.width,\n\t\t\tt = item.top,\n\t\t\tb = t + item.height,\n\t\t\tdyClick = this.offset.click.top,\n\t\t\tdxClick = this.offset.click.left,\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) || ( ( y1 + dyClick ) > t &&\n\t\t\t\t( y1 + dyClick ) < b ),\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) || ( ( x1 + dxClick ) > l &&\n\t\t\t\t( x1 + dxClick ) < r ),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\n\n\t\tif ( this.options.tolerance === \"pointer\" ||\n\t\t\tthis.options.forcePointerForContainers ||\n\t\t\t( this.options.tolerance !== \"pointer\" &&\n\t\t\t\tthis.helperProportions[ this.floating ? \"width\" : \"height\" ] >\n\t\t\t\titem[ this.floating ? \"width\" : \"height\" ] )\n\t\t) {\n\t\t\treturn isOverElement;\n\t\t} else {\n\n\t\t\treturn ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half\n\t\t\t\tx2 - ( this.helperProportions.width / 2 ) < r && // Left Half\n\t\t\t\tt < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half\n\t\t\t\ty2 - ( this.helperProportions.height / 2 ) < b ); // Top Half\n\n\t\t}\n\t},\n\n\t_intersectsWithPointer: function( item ) {\n\t\tvar verticalDirection, horizontalDirection,\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) ||\n\t\t\t\tthis._isOverAxis(\n\t\t\t\t\tthis.positionAbs.top + this.offset.click.top, item.top, item.height ),\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) ||\n\t\t\t\tthis._isOverAxis(\n\t\t\t\t\tthis.positionAbs.left + this.offset.click.left, item.left, item.width ),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\n\n\t\tif ( !isOverElement ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tverticalDirection = this._getDragVerticalDirection();\n\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\treturn this.floating ?\n\t\t\t( ( horizontalDirection === \"right\" || verticalDirection === \"down\" ) ? 2 : 1 )\n\t\t\t: ( verticalDirection && ( verticalDirection === \"down\" ? 2 : 1 ) );\n\n\t},\n\n\t_intersectsWithSides: function( item ) {\n\n\t\tvar isOverBottomHalf = this._isOverAxis( this.positionAbs.top +\n\t\t\t\tthis.offset.click.top, item.top + ( item.height / 2 ), item.height ),\n\t\t\tisOverRightHalf = this._isOverAxis( this.positionAbs.left +\n\t\t\t\tthis.offset.click.left, item.left + ( item.width / 2 ), item.width ),\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif ( this.floating && horizontalDirection ) {\n\t\t\treturn ( ( horizontalDirection === \"right\" && isOverRightHalf ) ||\n\t\t\t\t( horizontalDirection === \"left\" && !isOverRightHalf ) );\n\t\t} else {\n\t\t\treturn verticalDirection && ( ( verticalDirection === \"down\" && isOverBottomHalf ) ||\n\t\t\t\t( verticalDirection === \"up\" && !isOverBottomHalf ) );\n\t\t}\n\n\t},\n\n\t_getDragVerticalDirection: function() {\n\t\tvar delta = this.positionAbs.top - this.lastPositionAbs.top;\n\t\treturn delta !== 0 && ( delta > 0 ? \"down\" : \"up\" );\n\t},\n\n\t_getDragHorizontalDirection: function() {\n\t\tvar delta = this.positionAbs.left - this.lastPositionAbs.left;\n\t\treturn delta !== 0 && ( delta > 0 ? \"right\" : \"left\" );\n\t},\n\n\trefresh: function( event ) {\n\t\tthis._refreshItems( event );\n\t\tthis._setHandleClassName();\n\t\tthis.refreshPositions();\n\t\treturn this;\n\t},\n\n\t_connectWith: function() {\n\t\tvar options = this.options;\n\t\treturn options.connectWith.constructor === String ?\n\t\t\t[ options.connectWith ] :\n\t\t\toptions.connectWith;\n\t},\n\n\t_getItemsAsjQuery: function( connected ) {\n\n\t\tvar i, j, cur, inst,\n\t\t\titems = [],\n\t\t\tqueries = [],\n\t\t\tconnectWith = this._connectWith();\n\n\t\tif ( connectWith && connected ) {\n\t\t\tfor ( i = connectWith.length - 1; i >= 0; i-- ) {\n\t\t\t\tcur = $( connectWith[ i ], this.document[ 0 ] );\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j-- ) {\n\t\t\t\t\tinst = $.data( cur[ j ], this.widgetFullName );\n\t\t\t\t\tif ( inst && inst !== this && !inst.options.disabled ) {\n\t\t\t\t\t\tqueries.push( [ $.isFunction( inst.options.items ) ?\n\t\t\t\t\t\t\tinst.options.items.call( inst.element ) :\n\t\t\t\t\t\t\t$( inst.options.items, inst.element )\n\t\t\t\t\t\t\t\t.not( \".ui-sortable-helper\" )\n\t\t\t\t\t\t\t\t.not( \".ui-sortable-placeholder\" ), inst ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tqueries.push( [ $.isFunction( this.options.items ) ?\n\t\t\tthis.options.items\n\t\t\t\t.call( this.element, null, { options: this.options, item: this.currentItem } ) :\n\t\t\t$( this.options.items, this.element )\n\t\t\t\t.not( \".ui-sortable-helper\" )\n\t\t\t\t.not( \".ui-sortable-placeholder\" ), this ] );\n\n\t\tfunction addItems() {\n\t\t\titems.push( this );\n\t\t}\n\t\tfor ( i = queries.length - 1; i >= 0; i-- ) {\n\t\t\tqueries[ i ][ 0 ].each( addItems );\n\t\t}\n\n\t\treturn $( items );\n\n\t},\n\n\t_removeCurrentsFromItems: function() {\n\n\t\tvar list = this.currentItem.find( \":data(\" + this.widgetName + \"-item)\" );\n\n\t\tthis.items = $.grep( this.items, function( item ) {\n\t\t\tfor ( var j = 0; j < list.length; j++ ) {\n\t\t\t\tif ( list[ j ] === item.item[ 0 ] ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t},\n\n\t_refreshItems: function( event ) {\n\n\t\tthis.items = [];\n\t\tthis.containers = [ this ];\n\n\t\tvar i, j, cur, inst, targetData, _queries, item, queriesLength,\n\t\t\titems = this.items,\n\t\t\tqueries = [ [ $.isFunction( this.options.items ) ?\n\t\t\t\tthis.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) :\n\t\t\t\t$( this.options.items, this.element ), this ] ],\n\t\t\tconnectWith = this._connectWith();\n\n\t\t//Shouldn't be run the first time through due to massive slow-down\n\t\tif ( connectWith && this.ready ) {\n\t\t\tfor ( i = connectWith.length - 1; i >= 0; i-- ) {\n\t\t\t\tcur = $( connectWith[ i ], this.document[ 0 ] );\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j-- ) {\n\t\t\t\t\tinst = $.data( cur[ j ], this.widgetFullName );\n\t\t\t\t\tif ( inst && inst !== this && !inst.options.disabled ) {\n\t\t\t\t\t\tqueries.push( [ $.isFunction( inst.options.items ) ?\n\t\t\t\t\t\t\tinst.options.items\n\t\t\t\t\t\t\t\t.call( inst.element[ 0 ], event, { item: this.currentItem } ) :\n\t\t\t\t\t\t\t$( inst.options.items, inst.element ), inst ] );\n\t\t\t\t\t\tthis.containers.push( inst );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor ( i = queries.length - 1; i >= 0; i-- ) {\n\t\t\ttargetData = queries[ i ][ 1 ];\n\t\t\t_queries = queries[ i ][ 0 ];\n\n\t\t\tfor ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) {\n\t\t\t\titem = $( _queries[ j ] );\n\n\t\t\t\t// Data for target checking (mouse manager)\n\t\t\t\titem.data( this.widgetName + \"-item\", targetData );\n\n\t\t\t\titems.push( {\n\t\t\t\t\titem: item,\n\t\t\t\t\tinstance: targetData,\n\t\t\t\t\twidth: 0, height: 0,\n\t\t\t\t\tleft: 0, top: 0\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t},\n\n\trefreshPositions: function( fast ) {\n\n\t\t// Determine whether items are being displayed horizontally\n\t\tthis.floating = this.items.length ?\n\t\t\tthis.options.axis === \"x\" || this._isFloating( this.items[ 0 ].item ) :\n\t\t\tfalse;\n\n\t\t//This has to be redone because due to the item being moved out/into the offsetParent,\n\t\t// the offsetParent's position will change\n\t\tif ( this.offsetParent && this.helper ) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\tvar i, item, t, p;\n\n\t\tfor ( i = this.items.length - 1; i >= 0; i-- ) {\n\t\t\titem = this.items[ i ];\n\n\t\t\t//We ignore calculating positions of all connected containers when we're not over them\n\t\t\tif ( item.instance !== this.currentContainer && this.currentContainer &&\n\t\t\t\t\titem.item[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt = this.options.toleranceElement ?\n\t\t\t\t$( this.options.toleranceElement, item.item ) :\n\t\t\t\titem.item;\n\n\t\t\tif ( !fast ) {\n\t\t\t\titem.width = t.outerWidth();\n\t\t\t\titem.height = t.outerHeight();\n\t\t\t}\n\n\t\t\tp = t.offset();\n\t\t\titem.left = p.left;\n\t\t\titem.top = p.top;\n\t\t}\n\n\t\tif ( this.options.custom && this.options.custom.refreshContainers ) {\n\t\t\tthis.options.custom.refreshContainers.call( this );\n\t\t} else {\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tp = this.containers[ i ].element.offset();\n\t\t\t\tthis.containers[ i ].containerCache.left = p.left;\n\t\t\t\tthis.containers[ i ].containerCache.top = p.top;\n\t\t\t\tthis.containers[ i ].containerCache.width =\n\t\t\t\t\tthis.containers[ i ].element.outerWidth();\n\t\t\t\tthis.containers[ i ].containerCache.height =\n\t\t\t\t\tthis.containers[ i ].element.outerHeight();\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_createPlaceholder: function( that ) {\n\t\tthat = that || this;\n\t\tvar className,\n\t\t\to = that.options;\n\n\t\tif ( !o.placeholder || o.placeholder.constructor === String ) {\n\t\t\tclassName = o.placeholder;\n\t\t\to.placeholder = {\n\t\t\t\telement: function() {\n\n\t\t\t\t\tvar nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(),\n\t\t\t\t\t\telement = $( \"<\" + nodeName + \">\", that.document[ 0 ] );\n\n\t\t\t\t\t\tthat._addClass( element, \"ui-sortable-placeholder\",\n\t\t\t\t\t\t\t\tclassName || that.currentItem[ 0 ].className )\n\t\t\t\t\t\t\t._removeClass( element, \"ui-sortable-helper\" );\n\n\t\t\t\t\tif ( nodeName === \"tbody\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder(\n\t\t\t\t\t\t\tthat.currentItem.find( \"tr\" ).eq( 0 ),\n\t\t\t\t\t\t\t$( \"\", that.document[ 0 ] ).appendTo( element )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( nodeName === \"tr\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder( that.currentItem, element );\n\t\t\t\t\t} else if ( nodeName === \"img\" ) {\n\t\t\t\t\t\telement.attr( \"src\", that.currentItem.attr( \"src\" ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !className ) {\n\t\t\t\t\t\telement.css( \"visibility\", \"hidden\" );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn element;\n\t\t\t\t},\n\t\t\t\tupdate: function( container, p ) {\n\n\t\t\t\t\t// 1. If a className is set as 'placeholder option, we don't force sizes -\n\t\t\t\t\t// the class is responsible for that\n\t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled to force it even if a\n\t\t\t\t\t// class name is specified\n\t\t\t\t\tif ( className && !o.forcePlaceholderSize ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t//If the element doesn't have a actual height by itself (without styles coming\n\t\t\t\t\t// from a stylesheet), it receives the inline height from the dragged item\n\t\t\t\t\tif ( !p.height() ) {\n\t\t\t\t\t\tp.height(\n\t\t\t\t\t\t\tthat.currentItem.innerHeight() -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingTop\" ) || 0, 10 ) -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingBottom\" ) || 0, 10 ) );\n\t\t\t\t\t}\n\t\t\t\t\tif ( !p.width() ) {\n\t\t\t\t\t\tp.width(\n\t\t\t\t\t\t\tthat.currentItem.innerWidth() -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingLeft\" ) || 0, 10 ) -\n\t\t\t\t\t\t\tparseInt( that.currentItem.css( \"paddingRight\" ) || 0, 10 ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthat.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) );\n\n\t\t//Append it after the actual current item\n\t\tthat.currentItem.after( that.placeholder );\n\n\t\t//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\n\t\to.placeholder.update( that, that.placeholder );\n\n\t},\n\n\t_createTrPlaceholder: function( sourceTr, targetTr ) {\n\t\tvar that = this;\n\n\t\tsourceTr.children().each( function() {\n\t\t\t$( \" \", that.document[ 0 ] )\n\t\t\t\t.attr( \"colspan\", $( this ).attr( \"colspan\" ) || 1 )\n\t\t\t\t.appendTo( targetTr );\n\t\t} );\n\t},\n\n\t_contactContainers: function( event ) {\n\t\tvar i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom,\n\t\t\tfloating, axis,\n\t\t\tinnermostContainer = null,\n\t\t\tinnermostIndex = null;\n\n\t\t// Get innermost container that intersects with item\n\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\n\t\t\t// Never consider a container that's located within the item itself\n\t\t\tif ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( this._intersectsWith( this.containers[ i ].containerCache ) ) {\n\n\t\t\t\t// If we've already found a container and it's more \"inner\" than this, then continue\n\t\t\t\tif ( innermostContainer &&\n\t\t\t\t\t\t$.contains(\n\t\t\t\t\t\t\tthis.containers[ i ].element[ 0 ],\n\t\t\t\t\t\t\tinnermostContainer.element[ 0 ] ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tinnermostContainer = this.containers[ i ];\n\t\t\t\tinnermostIndex = i;\n\n\t\t\t} else {\n\n\t\t\t\t// container doesn't intersect. trigger \"out\" event if necessary\n\t\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\t\tthis.containers[ i ]._trigger( \"out\", event, this._uiHash( this ) );\n\t\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t// If no intersecting containers found, return\n\t\tif ( !innermostContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Move the item into the container if it's not there already\n\t\tif ( this.containers.length === 1 ) {\n\t\t\tif ( !this.containers[ innermostIndex ].containerCache.over ) {\n\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash( this ) );\n\t\t\t\tthis.containers[ innermostIndex ].containerCache.over = 1;\n\t\t\t}\n\t\t} else {\n\n\t\t\t// When entering a new container, we will find the item with the least distance and\n\t\t\t// append our item near it\n\t\t\tdist = 10000;\n\t\t\titemWithLeastDistance = null;\n\t\t\tfloating = innermostContainer.floating || this._isFloating( this.currentItem );\n\t\t\tposProperty = floating ? \"left\" : \"top\";\n\t\t\tsizeProperty = floating ? \"width\" : \"height\";\n\t\t\taxis = floating ? \"pageX\" : \"pageY\";\n\n\t\t\tfor ( j = this.items.length - 1; j >= 0; j-- ) {\n\t\t\t\tif ( !$.contains(\n\t\t\t\t\t\tthis.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcur = this.items[ j ].item.offset()[ posProperty ];\n\t\t\t\tnearBottom = false;\n\t\t\t\tif ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {\n\t\t\t\t\tnearBottom = true;\n\t\t\t\t}\n\n\t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\n\t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\n\t\t\t\t\titemWithLeastDistance = this.items[ j ];\n\t\t\t\t\tthis.direction = nearBottom ? \"up\" : \"down\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t//Check if dropOnEmpty is enabled\n\t\t\tif ( !itemWithLeastDistance && !this.options.dropOnEmpty ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.currentContainer === this.containers[ innermostIndex ] ) {\n\t\t\t\tif ( !this.currentContainer.containerCache.over ) {\n\t\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash() );\n\t\t\t\t\tthis.currentContainer.containerCache.over = 1;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titemWithLeastDistance ?\n\t\t\t\tthis._rearrange( event, itemWithLeastDistance, null, true ) :\n\t\t\t\tthis._rearrange( event, null, this.containers[ innermostIndex ].element, true );\n\t\t\tthis._trigger( \"change\", event, this._uiHash() );\n\t\t\tthis.containers[ innermostIndex ]._trigger( \"change\", event, this._uiHash( this ) );\n\t\t\tthis.currentContainer = this.containers[ innermostIndex ];\n\n\t\t\t//Update the placeholder\n\t\t\tthis.options.placeholder.update( this.currentContainer, this.placeholder );\n\n\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash( this ) );\n\t\t\tthis.containers[ innermostIndex ].containerCache.over = 1;\n\t\t}\n\n\t},\n\n\t_createHelper: function( event ) {\n\n\t\tvar o = this.options,\n\t\t\thelper = $.isFunction( o.helper ) ?\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) :\n\t\t\t\t( o.helper === \"clone\" ? this.currentItem.clone() : this.currentItem );\n\n\t\t//Add the helper to the DOM if that didn't happen already\n\t\tif ( !helper.parents( \"body\" ).length ) {\n\t\t\t$( o.appendTo !== \"parent\" ?\n\t\t\t\to.appendTo :\n\t\t\t\tthis.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] );\n\t\t}\n\n\t\tif ( helper[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\tthis._storedCSS = {\n\t\t\t\twidth: this.currentItem[ 0 ].style.width,\n\t\t\t\theight: this.currentItem[ 0 ].style.height,\n\t\t\t\tposition: this.currentItem.css( \"position\" ),\n\t\t\t\ttop: this.currentItem.css( \"top\" ),\n\t\t\t\tleft: this.currentItem.css( \"left\" )\n\t\t\t};\n\t\t}\n\n\t\tif ( !helper[ 0 ].style.width || o.forceHelperSize ) {\n\t\t\thelper.width( this.currentItem.width() );\n\t\t}\n\t\tif ( !helper[ 0 ].style.height || o.forceHelperSize ) {\n\t\t\thelper.height( this.currentItem.height() );\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_adjustOffsetFromHelper: function( obj ) {\n\t\tif ( typeof obj === \"string\" ) {\n\t\t\tobj = obj.split( \" \" );\n\t\t}\n\t\tif ( $.isArray( obj ) ) {\n\t\t\tobj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };\n\t\t}\n\t\tif ( \"left\" in obj ) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ( \"right\" in obj ) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ( \"top\" in obj ) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ( \"bottom\" in obj ) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tvar po = this.offsetParent.offset();\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the\n\t\t// following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the\n\t\t// next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't\n\t\t// the document, which means that the scroll is included in the initial calculation of the\n\t\t// offset of the parent, and never recalculated upon drag\n\t\tif ( this.cssPosition === \"absolute\" && this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\t// This needs to be actually done for all browsers, since pageX/pageY includes this\n\t\t// information with an ugly IE fix\n\t\tif ( this.offsetParent[ 0 ] === this.document[ 0 ].body ||\n\t\t\t\t( this.offsetParent[ 0 ].tagName &&\n\t\t\t\tthis.offsetParent[ 0 ].tagName.toLowerCase() === \"html\" && $.ui.ie ) ) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + ( parseInt( this.offsetParent.css( \"borderTopWidth\" ), 10 ) || 0 ),\n\t\t\tleft: po.left + ( parseInt( this.offsetParent.css( \"borderLeftWidth\" ), 10 ) || 0 )\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\n\t\tif ( this.cssPosition === \"relative\" ) {\n\t\t\tvar p = this.currentItem.position();\n\t\t\treturn {\n\t\t\t\ttop: p.top - ( parseInt( this.helper.css( \"top\" ), 10 ) || 0 ) +\n\t\t\t\t\tthis.scrollParent.scrollTop(),\n\t\t\t\tleft: p.left - ( parseInt( this.helper.css( \"left\" ), 10 ) || 0 ) +\n\t\t\t\t\tthis.scrollParent.scrollLeft()\n\t\t\t};\n\t\t} else {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: ( parseInt( this.currentItem.css( \"marginLeft\" ), 10 ) || 0 ),\n\t\t\ttop: ( parseInt( this.currentItem.css( \"marginTop\" ), 10 ) || 0 )\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar ce, co, over,\n\t\t\to = this.options;\n\t\tif ( o.containment === \"parent\" ) {\n\t\t\to.containment = this.helper[ 0 ].parentNode;\n\t\t}\n\t\tif ( o.containment === \"document\" || o.containment === \"window\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t0 - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\to.containment === \"document\" ?\n\t\t\t\t\tthis.document.width() :\n\t\t\t\t\tthis.window.width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t( o.containment === \"document\" ?\n\t\t\t\t\t( this.document.height() || document.body.parentNode.scrollHeight ) :\n\t\t\t\t\tthis.window.height() || this.document[ 0 ].body.parentNode.scrollHeight\n\t\t\t\t) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t\tif ( !( /^(document|window|parent)$/ ).test( o.containment ) ) {\n\t\t\tce = $( o.containment )[ 0 ];\n\t\t\tco = $( o.containment ).offset();\n\t\t\tover = ( $( ce ).css( \"overflow\" ) !== \"hidden\" );\n\n\t\t\tthis.containment = [\n\t\t\t\tco.left + ( parseInt( $( ce ).css( \"borderLeftWidth\" ), 10 ) || 0 ) +\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingLeft\" ), 10 ) || 0 ) - this.margins.left,\n\t\t\t\tco.top + ( parseInt( $( ce ).css( \"borderTopWidth\" ), 10 ) || 0 ) +\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingTop\" ), 10 ) || 0 ) - this.margins.top,\n\t\t\t\tco.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"borderLeftWidth\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingRight\" ), 10 ) || 0 ) -\n\t\t\t\t\tthis.helperProportions.width - this.margins.left,\n\t\t\t\tco.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"borderTopWidth\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( ce ).css( \"paddingBottom\" ), 10 ) || 0 ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t},\n\n\t_convertPositionTo: function( d, pos ) {\n\n\t\tif ( !pos ) {\n\t\t\tpos = this.position;\n\t\t}\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscroll = this.cssPosition === \"absolute\" &&\n\t\t\t\t!( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ?\n\t\t\t\t\tthis.offsetParent :\n\t\t\t\t\tthis.scrollParent,\n\t\t\tscrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.top\t+\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top * mod -\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollTop() :\n\t\t\t\t\t( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.left +\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left * mod\t-\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 :\n\t\t\t\t\tscroll.scrollLeft() ) * mod )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function( event ) {\n\n\t\tvar top, left,\n\t\t\to = this.options,\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY,\n\t\t\tscroll = this.cssPosition === \"absolute\" &&\n\t\t\t\t!( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ?\n\t\t\t\t\tthis.offsetParent :\n\t\t\t\t\tthis.scrollParent,\n\t\t\t\tscrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName );\n\n\t\t// This is another very weird special case that only happens for relative elements:\n\t\t// 1. If the css position is relative\n\t\t// 2. and the scroll parent is the document or similar to the offset parent\n\t\t// we have to refresh the relative offset during the scroll so there are no jumps\n\t\tif ( this.cssPosition === \"relative\" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] &&\n\t\t\t\tthis.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) {\n\t\t\tthis.offset.relative = this._getRelativeOffset();\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\tif ( this.originalPosition ) { //If we are not dragging yet, we won't check for options\n\n\t\t\tif ( this.containment ) {\n\t\t\t\tif ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) {\n\t\t\t\t\tpageX = this.containment[ 0 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) {\n\t\t\t\t\tpageY = this.containment[ 1 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) {\n\t\t\t\t\tpageX = this.containment[ 2 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) {\n\t\t\t\t\tpageY = this.containment[ 3 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( o.grid ) {\n\t\t\t\ttop = this.originalPageY + Math.round( ( pageY - this.originalPageY ) /\n\t\t\t\t\to.grid[ 1 ] ) * o.grid[ 1 ];\n\t\t\t\tpageY = this.containment ?\n\t\t\t\t\t( ( top - this.offset.click.top >= this.containment[ 1 ] &&\n\t\t\t\t\t\ttop - this.offset.click.top <= this.containment[ 3 ] ) ?\n\t\t\t\t\t\t\ttop :\n\t\t\t\t\t\t\t( ( top - this.offset.click.top >= this.containment[ 1 ] ) ?\n\t\t\t\t\t\t\t\ttop - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) :\n\t\t\t\t\t\t\t\ttop;\n\n\t\t\t\tleft = this.originalPageX + Math.round( ( pageX - this.originalPageX ) /\n\t\t\t\t\to.grid[ 0 ] ) * o.grid[ 0 ];\n\t\t\t\tpageX = this.containment ?\n\t\t\t\t\t( ( left - this.offset.click.left >= this.containment[ 0 ] &&\n\t\t\t\t\t\tleft - this.offset.click.left <= this.containment[ 2 ] ) ?\n\t\t\t\t\t\t\tleft :\n\t\t\t\t\t\t\t( ( left - this.offset.click.left >= this.containment[ 0 ] ) ?\n\t\t\t\t\t\t\t\tleft - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) :\n\t\t\t\t\t\t\t\tleft;\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageY -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.top -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top +\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollTop() :\n\t\t\t\t\t( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageX -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.left -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left +\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.scrollParent.scrollLeft() :\n\t\t\t\t\tscrollIsRootNode ? 0 : scroll.scrollLeft() ) )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_rearrange: function( event, i, a, hardRefresh ) {\n\n\t\ta ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) :\n\t\t\ti.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ],\n\t\t\t\t( this.direction === \"down\" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) );\n\n\t\t//Various things done here to improve the performance:\n\t\t// 1. we create a setTimeout, that calls refreshPositions\n\t\t// 2. on the instance, we have a counter variable, that get's higher after every append\n\t\t// 3. on the local scope, we copy the counter variable, and check in the timeout,\n\t\t// if it's still the same\n\t\t// 4. this lets only the last addition to the timeout stack through\n\t\tthis.counter = this.counter ? ++this.counter : 1;\n\t\tvar counter = this.counter;\n\n\t\tthis._delay( function() {\n\t\t\tif ( counter === this.counter ) {\n\n\t\t\t\t//Precompute after each DOM insertion, NOT on mousemove\n\t\t\t\tthis.refreshPositions( !hardRefresh );\n\t\t\t}\n\t\t} );\n\n\t},\n\n\t_clear: function( event, noPropagation ) {\n\n\t\tthis.reverting = false;\n\n\t\t// We delay all events that have to be triggered to after the point where the placeholder\n\t\t// has been removed and everything else normalized again\n\t\tvar i,\n\t\t\tdelayedTriggers = [];\n\n\t\t// We first have to update the dom position of the actual currentItem\n\t\t// Note: don't do it if the current item is already removed (by a user), or it gets\n\t\t// reappended (see #4088)\n\t\tif ( !this._noFinalSort && this.currentItem.parent().length ) {\n\t\t\tthis.placeholder.before( this.currentItem );\n\t\t}\n\t\tthis._noFinalSort = null;\n\n\t\tif ( this.helper[ 0 ] === this.currentItem[ 0 ] ) {\n\t\t\tfor ( i in this._storedCSS ) {\n\t\t\t\tif ( this._storedCSS[ i ] === \"auto\" || this._storedCSS[ i ] === \"static\" ) {\n\t\t\t\t\tthis._storedCSS[ i ] = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.currentItem.css( this._storedCSS );\n\t\t\tthis._removeClass( this.currentItem, \"ui-sortable-helper\" );\n\t\t} else {\n\t\t\tthis.currentItem.show();\n\t\t}\n\n\t\tif ( this.fromOutside && !noPropagation ) {\n\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\tthis._trigger( \"receive\", event, this._uiHash( this.fromOutside ) );\n\t\t\t} );\n\t\t}\n\t\tif ( ( this.fromOutside ||\n\t\t\t\tthis.domPosition.prev !==\n\t\t\t\tthis.currentItem.prev().not( \".ui-sortable-helper\" )[ 0 ] ||\n\t\t\t\tthis.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) {\n\n\t\t\t// Trigger update callback if the DOM position has changed\n\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\tthis._trigger( \"update\", event, this._uiHash() );\n\t\t\t} );\n\t\t}\n\n\t\t// Check if the items Container has Changed and trigger appropriate\n\t\t// events.\n\t\tif ( this !== this.currentContainer ) {\n\t\t\tif ( !noPropagation ) {\n\t\t\t\tdelayedTriggers.push( function( event ) {\n\t\t\t\t\tthis._trigger( \"remove\", event, this._uiHash() );\n\t\t\t\t} );\n\t\t\t\tdelayedTriggers.push( ( function( c ) {\n\t\t\t\t\treturn function( event ) {\n\t\t\t\t\t\tc._trigger( \"receive\", event, this._uiHash( this ) );\n\t\t\t\t\t};\n\t\t\t\t} ).call( this, this.currentContainer ) );\n\t\t\t\tdelayedTriggers.push( ( function( c ) {\n\t\t\t\t\treturn function( event ) {\n\t\t\t\t\t\tc._trigger( \"update\", event, this._uiHash( this ) );\n\t\t\t\t\t};\n\t\t\t\t} ).call( this, this.currentContainer ) );\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tfunction delayEvent( type, instance, container ) {\n\t\t\treturn function( event ) {\n\t\t\t\tcontainer._trigger( type, event, instance._uiHash( instance ) );\n\t\t\t};\n\t\t}\n\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\tif ( !noPropagation ) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"deactivate\", this, this.containers[ i ] ) );\n\t\t\t}\n\t\t\tif ( this.containers[ i ].containerCache.over ) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"out\", this, this.containers[ i ] ) );\n\t\t\t\tthis.containers[ i ].containerCache.over = 0;\n\t\t\t}\n\t\t}\n\n\t\t//Do what was originally in plugins\n\t\tif ( this.storedCursor ) {\n\t\t\tthis.document.find( \"body\" ).css( \"cursor\", this.storedCursor );\n\t\t\tthis.storedStylesheet.remove();\n\t\t}\n\t\tif ( this._storedOpacity ) {\n\t\t\tthis.helper.css( \"opacity\", this._storedOpacity );\n\t\t}\n\t\tif ( this._storedZIndex ) {\n\t\t\tthis.helper.css( \"zIndex\", this._storedZIndex === \"auto\" ? \"\" : this._storedZIndex );\n\t\t}\n\n\t\tthis.dragging = false;\n\n\t\tif ( !noPropagation ) {\n\t\t\tthis._trigger( \"beforeStop\", event, this._uiHash() );\n\t\t}\n\n\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately,\n\t\t// it unbinds ALL events from the original node!\n\t\tthis.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] );\n\n\t\tif ( !this.cancelHelperRemoval ) {\n\t\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\t\t\tthis.helper = null;\n\t\t}\n\n\t\tif ( !noPropagation ) {\n\t\t\tfor ( i = 0; i < delayedTriggers.length; i++ ) {\n\n\t\t\t\t// Trigger all delayed events\n\t\t\t\tdelayedTriggers[ i ].call( this, event );\n\t\t\t}\n\t\t\tthis._trigger( \"stop\", event, this._uiHash() );\n\t\t}\n\n\t\tthis.fromOutside = false;\n\t\treturn !this.cancelHelperRemoval;\n\n\t},\n\n\t_trigger: function() {\n\t\tif ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) {\n\t\t\tthis.cancel();\n\t\t}\n\t},\n\n\t_uiHash: function( _inst ) {\n\t\tvar inst = _inst || this;\n\t\treturn {\n\t\t\thelper: inst.helper,\n\t\t\tplaceholder: inst.placeholder || $( [] ),\n\t\t\tposition: inst.position,\n\t\t\toriginalPosition: inst.originalPosition,\n\t\t\toffset: inst.positionAbs,\n\t\t\titem: inst.currentItem,\n\t\t\tsender: _inst ? _inst.element : null\n\t\t};\n\t}\n\n} );\n\n\n\nvar safeActiveElement = $.ui.safeActiveElement = function( document ) {\n\tvar activeElement;\n\n\t// Support: IE 9 only\n\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an ');\r\n else\r\n lyr1 = $('
      ');\r\n\r\n if (opts.theme)\r\n lyr2 = $('
      ');\r\n else\r\n lyr2 = $('
      ');\r\n\r\n if (opts.theme && full) {\r\n s = '';\r\n }\r\n else if (opts.theme) {\r\n s = '';\r\n }\r\n else if (full) {\r\n s = '';\r\n }\r\n else {\r\n s = '';\r\n }\r\n lyr3 = $(s);\r\n\r\n // if we have a message, style it\r\n if (msg) {\r\n if (opts.theme) {\r\n lyr3.css(themedCSS);\r\n lyr3.addClass('ui-widget-content');\r\n }\r\n else\r\n lyr3.css(css);\r\n }\r\n\r\n // style the overlay\r\n if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)\r\n lyr2.css(opts.overlayCSS);\r\n lyr2.css('position', full ? 'fixed' : 'absolute');\r\n\r\n // make iframe layer transparent in IE\r\n if (msie || opts.forceIframe)\r\n lyr1.css('opacity',0.0);\r\n\r\n //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);\r\n var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);\r\n $.each(layers, function() {\r\n this.appendTo($par);\r\n });\r\n\r\n if (opts.theme && opts.draggable && $.fn.draggable) {\r\n lyr3.draggable({\r\n handle: '.ui-dialog-titlebar',\r\n cancel: 'li'\r\n });\r\n }\r\n\r\n // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)\r\n var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);\r\n if (ie6 || expr) {\r\n // give body 100% height\r\n if (full && opts.allowBodyStretch && $.support.boxModel)\r\n $('html,body').css('height','100%');\r\n\r\n // fix ie6 issue when blocked element has a border width\r\n if ((ie6 || !$.support.boxModel) && !full) {\r\n var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');\r\n var fixT = t ? '(0 - '+t+')' : 0;\r\n var fixL = l ? '(0 - '+l+')' : 0;\r\n }\r\n\r\n // simulate fixed position\r\n $.each(layers, function(i,o) {\r\n var s = o[0].style;\r\n s.position = 'absolute';\r\n if (i < 2) {\r\n if (full)\r\n s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + \"px\"');\r\n else\r\n s.setExpression('height','this.parentNode.offsetHeight + \"px\"');\r\n if (full)\r\n s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + \"px\"');\r\n else\r\n s.setExpression('width','this.parentNode.offsetWidth + \"px\"');\r\n if (fixL) s.setExpression('left', fixL);\r\n if (fixT) s.setExpression('top', fixT);\r\n }\r\n else if (opts.centerY) {\r\n if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"');\r\n s.marginTop = 0;\r\n }\r\n else if (!opts.centerY && full) {\r\n var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;\r\n var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + \"px\"';\r\n s.setExpression('top',expression);\r\n }\r\n });\r\n }\r\n\r\n // show the message\r\n if (msg) {\r\n if (opts.theme)\r\n lyr3.find('.ui-widget-content').append(msg);\r\n else\r\n lyr3.append(msg);\r\n if (msg.jquery || msg.nodeType)\r\n $(msg).show();\r\n }\r\n\r\n if ((msie || opts.forceIframe) && opts.showOverlay)\r\n lyr1.show(); // opacity is zero\r\n if (opts.fadeIn) {\r\n var cb = opts.onBlock ? opts.onBlock : noOp;\r\n var cb1 = (opts.showOverlay && !msg) ? cb : noOp;\r\n var cb2 = msg ? cb : noOp;\r\n if (opts.showOverlay)\r\n lyr2._fadeIn(opts.fadeIn, cb1);\r\n if (msg)\r\n lyr3._fadeIn(opts.fadeIn, cb2);\r\n }\r\n else {\r\n if (opts.showOverlay)\r\n lyr2.show();\r\n if (msg)\r\n lyr3.show();\r\n if (opts.onBlock)\r\n opts.onBlock.bind(lyr3)();\r\n }\r\n\r\n // bind key and mouse events\r\n bind(1, el, opts);\r\n\r\n if (full) {\r\n pageBlock = lyr3[0];\r\n pageBlockEls = $(opts.focusableElements,pageBlock);\r\n if (opts.focusInput)\r\n setTimeout(focus, 20);\r\n }\r\n else\r\n center(lyr3[0], opts.centerX, opts.centerY);\r\n\r\n if (opts.timeout) {\r\n // auto-unblock\r\n var to = setTimeout(function() {\r\n if (full)\r\n $.unblockUI(opts);\r\n else\r\n $(el).unblock(opts);\r\n }, opts.timeout);\r\n $(el).data('blockUI.timeout', to);\r\n }\r\n }\r\n\r\n // remove the block\r\n function remove(el, opts) {\r\n var count;\r\n var full = (el == window);\r\n var $el = $(el);\r\n var data = $el.data('blockUI.history');\r\n var to = $el.data('blockUI.timeout');\r\n if (to) {\r\n clearTimeout(to);\r\n $el.removeData('blockUI.timeout');\r\n }\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n bind(0, el, opts); // unbind events\r\n\r\n if (opts.onUnblock === null) {\r\n opts.onUnblock = $el.data('blockUI.onUnblock');\r\n $el.removeData('blockUI.onUnblock');\r\n }\r\n\r\n var els;\r\n if (full) // crazy selector to handle odd field errors in ie6/7\r\n els = $('body').children().filter('.blockUI').add('body > .blockUI');\r\n else\r\n els = $el.find('>.blockUI');\r\n\r\n // fix cursor issue\r\n if ( opts.cursorReset ) {\r\n if ( els.length > 1 )\r\n els[1].style.cursor = opts.cursorReset;\r\n if ( els.length > 2 )\r\n els[2].style.cursor = opts.cursorReset;\r\n }\r\n\r\n if (full)\r\n pageBlock = pageBlockEls = null;\r\n\r\n if (opts.fadeOut) {\r\n count = els.length;\r\n els.stop().fadeOut(opts.fadeOut, function() {\r\n if ( --count === 0)\r\n reset(els,data,opts,el);\r\n });\r\n }\r\n else\r\n reset(els, data, opts, el);\r\n }\r\n\r\n // move blocking element back into the DOM where it started\r\n function reset(els,data,opts,el) {\r\n var $el = $(el);\r\n if ( $el.data('blockUI.isBlocked') )\r\n return;\r\n\r\n els.each(function(i,o) {\r\n // remove via DOM calls so we don't lose event handlers\r\n if (this.parentNode)\r\n this.parentNode.removeChild(this);\r\n });\r\n\r\n if (data && data.el) {\r\n data.el.style.display = data.display;\r\n data.el.style.position = data.position;\r\n data.el.style.cursor = 'default'; // #59\r\n if (data.parent)\r\n data.parent.appendChild(data.el);\r\n $el.removeData('blockUI.history');\r\n }\r\n\r\n if ($el.data('blockUI.static')) {\r\n $el.css('position', 'static'); // #22\r\n }\r\n\r\n if (typeof opts.onUnblock == 'function')\r\n opts.onUnblock(el,opts);\r\n\r\n // fix issue in Safari 6 where block artifacts remain until reflow\r\n var body = $(document.body), w = body.width(), cssW = body[0].style.width;\r\n body.width(w-1).width(w);\r\n body[0].style.width = cssW;\r\n }\r\n\r\n // bind/unbind the handler\r\n function bind(b, el, opts) {\r\n var full = el == window, $el = $(el);\r\n\r\n // don't bother unbinding if there is nothing to unbind\r\n if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))\r\n return;\r\n\r\n $el.data('blockUI.isBlocked', b);\r\n\r\n // don't bind events when overlay is not in use or if bindEvents is false\r\n if (!full || !opts.bindEvents || (b && !opts.showOverlay))\r\n return;\r\n\r\n // bind anchors and inputs for mouse and key events\r\n var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';\r\n if (b)\r\n $(document).bind(events, opts, handler);\r\n else\r\n $(document).unbind(events, handler);\r\n\r\n // former impl...\r\n //\t\tvar $e = $('a,:input');\r\n //\t\tb ? $e.bind(events, opts, handler) : $e.unbind(events, handler);\r\n }\r\n\r\n // event handler to suppress keyboard/mouse events when blocking\r\n function handler(e) {\r\n // allow tab navigation (conditionally)\r\n if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {\r\n if (pageBlock && e.data.constrainTabKey) {\r\n var els = pageBlockEls;\r\n var fwd = !e.shiftKey && e.target === els[els.length-1];\r\n var back = e.shiftKey && e.target === els[0];\r\n if (fwd || back) {\r\n setTimeout(function(){focus(back);},10);\r\n return false;\r\n }\r\n }\r\n }\r\n var opts = e.data;\r\n var target = $(e.target);\r\n if (target.hasClass('blockOverlay') && opts.onOverlayClick)\r\n opts.onOverlayClick(e);\r\n\r\n // allow events within the message content\r\n if (target.parents('div.' + opts.blockMsgClass).length > 0)\r\n return true;\r\n\r\n // allow events for content that is not being blocked\r\n return target.parents().children().filter('div.blockUI').length === 0;\r\n }\r\n\r\n function focus(back) {\r\n if (!pageBlockEls)\r\n return;\r\n var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];\r\n if (e)\r\n e.focus();\r\n }\r\n\r\n function center(el, x, y) {\r\n var p = el.parentNode, s = el.style;\r\n var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');\r\n var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');\r\n if (x) s.left = l > 0 ? (l+'px') : '0';\r\n if (y) s.top = t > 0 ? (t+'px') : '0';\r\n }\r\n\r\n function sz(el, p) {\r\n return parseInt($.css(el,p),10)||0;\r\n }\r\n\r\n }\r\n\r\n\r\n /*global define:true */\r\n if (typeof define === 'function' && define.amd && define.amd.jQuery) {\r\n define(['jquery'], setup);\r\n } else {\r\n setup(jQuery);\r\n }\r\n\r\n})();","/*!\r\n * v0.1.5\r\n * Copyright (c) 2014 First Opinion\r\n * formatter.js is open sourced under the MIT license.\r\n *\r\n * thanks to digitalBush/jquery.maskedinput for some of the trickier\r\n * keycode handling\r\n */ \r\n\r\n//\r\n// Uses CommonJS, AMD or browser globals to create a jQuery plugin.\r\n//\r\n// Similar to jqueryPlugin.js but also tries to\r\n// work in a CommonJS environment.\r\n// It is unlikely jQuery will run in a CommonJS\r\n// environment. See jqueryPlugin.js if you do\r\n// not want to add the extra CommonJS detection.\r\n//\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['jQuery'], factory);\r\n } else if (typeof exports === 'object') {\r\n factory(require('jQuery'));\r\n } else {\r\n // Browser globals\r\n factory(root.jQuery);\r\n }\r\n}(this, function (jQuery) {\r\n\r\n\r\n/*\r\n * pattern.js\r\n *\r\n * Utilities to parse str pattern and return info\r\n *\r\n */\r\nvar pattern = function () {\r\n // Define module\r\n var pattern = {};\r\n // Match information\r\n var DELIM_SIZE = 4;\r\n // Our regex used to parse\r\n var regexp = new RegExp('{{([^}]+)}}', 'g');\r\n //\r\n // Helper method to parse pattern str\r\n //\r\n var getMatches = function (pattern) {\r\n // Populate array of matches\r\n var matches = [], match;\r\n while (match = regexp.exec(pattern)) {\r\n matches.push(match);\r\n }\r\n return matches;\r\n };\r\n //\r\n // Create an object holding all formatted characters\r\n // with corresponding positions\r\n //\r\n pattern.parse = function (pattern) {\r\n // Our obj to populate\r\n var info = {\r\n inpts: {},\r\n chars: {}\r\n };\r\n // Pattern information\r\n var matches = getMatches(pattern), pLength = pattern.length;\r\n // Counters\r\n var mCount = 0, iCount = 0, i = 0;\r\n // Add inpts, move to end of match, and process\r\n var processMatch = function (val) {\r\n var valLength = val.length;\r\n for (var j = 0; j < valLength; j++) {\r\n info.inpts[iCount] = val.charAt(j);\r\n iCount++;\r\n }\r\n mCount++;\r\n i += val.length + DELIM_SIZE - 1;\r\n };\r\n // Process match or add chars\r\n for (i; i < pLength; i++) {\r\n if (mCount < matches.length && i === matches[mCount].index) {\r\n processMatch(matches[mCount][1]);\r\n } else {\r\n info.chars[i - mCount * DELIM_SIZE] = pattern.charAt(i);\r\n }\r\n }\r\n // Set mLength and return\r\n info.mLength = i - mCount * DELIM_SIZE;\r\n return info;\r\n };\r\n // Expose\r\n return pattern;\r\n }();\r\n/*\r\n * utils.js\r\n *\r\n * Independent helper methods (cross browser, etc..)\r\n *\r\n */\r\nvar utils = function () {\r\n // Define module\r\n var utils = {};\r\n // Useragent info for keycode handling\r\n var uAgent = typeof navigator !== 'undefined' ? navigator.userAgent : null;\r\n //\r\n // Shallow copy properties from n objects to destObj\r\n //\r\n utils.extend = function (destObj) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n for (var key in arguments[i]) {\r\n destObj[key] = arguments[i][key];\r\n }\r\n }\r\n return destObj;\r\n };\r\n //\r\n // Add a given character to a string at a defined pos\r\n //\r\n utils.addChars = function (str, chars, pos) {\r\n return str.substr(0, pos) + chars + str.substr(pos, str.length);\r\n };\r\n //\r\n // Remove a span of characters\r\n //\r\n utils.removeChars = function (str, start, end) {\r\n return str.substr(0, start) + str.substr(end, str.length);\r\n };\r\n //\r\n // Return true/false is num false between bounds\r\n //\r\n utils.isBetween = function (num, bounds) {\r\n bounds.sort(function (a, b) {\r\n return a - b;\r\n });\r\n return num > bounds[0] && num < bounds[1];\r\n };\r\n //\r\n // Helper method for cross browser event listeners\r\n //\r\n utils.addListener = function (el, evt, handler) {\r\n return typeof el.addEventListener !== 'undefined' ? el.addEventListener(evt, handler, false) : el.attachEvent('on' + evt, handler);\r\n };\r\n //\r\n // Helper method for cross browser implementation of preventDefault\r\n //\r\n utils.preventDefault = function (evt) {\r\n return evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;\r\n };\r\n //\r\n // Helper method for cross browser implementation for grabbing\r\n // clipboard data\r\n //\r\n utils.getClip = function (evt) {\r\n if (evt.clipboardData) {\r\n return evt.clipboardData.getData('Text');\r\n }\r\n if (window.clipboardData) {\r\n return window.clipboardData.getData('Text');\r\n }\r\n };\r\n //\r\n // Loop over object and checking for matching properties\r\n //\r\n utils.getMatchingKey = function (which, keyCode, keys) {\r\n // Loop over and return if matched.\r\n for (var k in keys) {\r\n var key = keys[k];\r\n if (which === key.which && keyCode === key.keyCode) {\r\n return k;\r\n }\r\n }\r\n };\r\n //\r\n // Returns true/false if k is a del keyDown\r\n //\r\n utils.isDelKeyDown = function (which, keyCode) {\r\n var keys = {\r\n 'backspace': {\r\n 'which': 8,\r\n 'keyCode': 8\r\n },\r\n 'delete': {\r\n 'which': 46,\r\n 'keyCode': 46\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n //\r\n // Returns true/false if k is a del keyPress\r\n //\r\n utils.isDelKeyPress = function (which, keyCode) {\r\n var keys = {\r\n 'backspace': {\r\n 'which': 8,\r\n 'keyCode': 8,\r\n 'shiftKey': false\r\n },\r\n 'delete': {\r\n 'which': 0,\r\n 'keyCode': 46\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n // //\r\n // // Determine if keydown relates to specialKey\r\n // //\r\n // utils.isSpecialKeyDown = function (which, keyCode) {\r\n // var keys = {\r\n // 'tab': { 'which': 9, 'keyCode': 9 },\r\n // 'enter': { 'which': 13, 'keyCode': 13 },\r\n // 'end': { 'which': 35, 'keyCode': 35 },\r\n // 'home': { 'which': 36, 'keyCode': 36 },\r\n // 'leftarrow': { 'which': 37, 'keyCode': 37 },\r\n // 'uparrow': { 'which': 38, 'keyCode': 38 },\r\n // 'rightarrow': { 'which': 39, 'keyCode': 39 },\r\n // 'downarrow': { 'which': 40, 'keyCode': 40 },\r\n // 'F5': { 'which': 116, 'keyCode': 116 }\r\n // };\r\n // return utils.getMatchingKey(which, keyCode, keys);\r\n // };\r\n //\r\n // Determine if keypress relates to specialKey\r\n //\r\n utils.isSpecialKeyPress = function (which, keyCode) {\r\n var keys = {\r\n 'tab': {\r\n 'which': 0,\r\n 'keyCode': 9\r\n },\r\n 'enter': {\r\n 'which': 13,\r\n 'keyCode': 13\r\n },\r\n 'end': {\r\n 'which': 0,\r\n 'keyCode': 35\r\n },\r\n 'home': {\r\n 'which': 0,\r\n 'keyCode': 36\r\n },\r\n 'leftarrow': {\r\n 'which': 0,\r\n 'keyCode': 37\r\n },\r\n 'uparrow': {\r\n 'which': 0,\r\n 'keyCode': 38\r\n },\r\n 'rightarrow': {\r\n 'which': 0,\r\n 'keyCode': 39\r\n },\r\n 'downarrow': {\r\n 'which': 0,\r\n 'keyCode': 40\r\n },\r\n 'F5': {\r\n 'which': 116,\r\n 'keyCode': 116\r\n }\r\n };\r\n return utils.getMatchingKey(which, keyCode, keys);\r\n };\r\n //\r\n // Returns true/false if modifier key is held down\r\n //\r\n utils.isModifier = function (evt) {\r\n return evt.ctrlKey || evt.altKey || evt.metaKey;\r\n };\r\n //\r\n // Iterates over each property of object or array.\r\n //\r\n utils.forEach = function (collection, callback, thisArg) {\r\n if (collection.hasOwnProperty('length')) {\r\n for (var index = 0, len = collection.length; index < len; index++) {\r\n if (callback.call(thisArg, collection[index], index, collection) === false) {\r\n break;\r\n }\r\n }\r\n } else {\r\n for (var key in collection) {\r\n if (collection.hasOwnProperty(key)) {\r\n if (callback.call(thisArg, collection[key], key, collection) === false) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n // Expose\r\n return utils;\r\n }();\r\n/*\r\n* pattern-matcher.js\r\n*\r\n* Parses a pattern specification and determines appropriate pattern for an\r\n* input string\r\n*\r\n*/\r\nvar patternMatcher = function (pattern, utils) {\r\n //\r\n // Parse a matcher string into a RegExp. Accepts valid regular\r\n // expressions and the catchall '*'.\r\n // @private\r\n //\r\n var parseMatcher = function (matcher) {\r\n if (matcher === '*') {\r\n return /.*/;\r\n }\r\n return new RegExp(matcher);\r\n };\r\n //\r\n // Parse a pattern spec and return a function that returns a pattern\r\n // based on user input. The first matching pattern will be chosen.\r\n // Pattern spec format:\r\n // Array [\r\n // Object: { Matcher(RegExp String) : Pattern(Pattern String) },\r\n // ...\r\n // ]\r\n function patternMatcher(patternSpec) {\r\n var matchers = [], patterns = [];\r\n // Iterate over each pattern in order.\r\n utils.forEach(patternSpec, function (patternMatcher) {\r\n // Process single property object to obtain pattern and matcher.\r\n utils.forEach(patternMatcher, function (patternStr, matcherStr) {\r\n var parsedPattern = pattern.parse(patternStr), regExpMatcher = parseMatcher(matcherStr);\r\n matchers.push(regExpMatcher);\r\n patterns.push(parsedPattern);\r\n // Stop after one iteration.\r\n return false;\r\n });\r\n });\r\n var getPattern = function (input) {\r\n var matchedIndex;\r\n utils.forEach(matchers, function (matcher, index) {\r\n if (matcher.test(input)) {\r\n matchedIndex = index;\r\n return false;\r\n }\r\n });\r\n return matchedIndex === undefined ? null : patterns[matchedIndex];\r\n };\r\n return {\r\n getPattern: getPattern,\r\n patterns: patterns,\r\n matchers: matchers\r\n };\r\n }\r\n // Expose\r\n return patternMatcher;\r\n }(pattern, utils);\r\n/*\r\n * inpt-sel.js\r\n *\r\n * Cross browser implementation to get and set input selections\r\n *\r\n */\r\nvar inptSel = function () {\r\n // Define module\r\n var inptSel = {};\r\n //\r\n // Get begin and end positions of selected input. Return 0's\r\n // if there is no selectiion data\r\n //\r\n inptSel.get = function (el) {\r\n // If normal browser return with result\r\n if (typeof el.selectionStart === 'number') {\r\n return {\r\n begin: el.selectionStart,\r\n end: el.selectionEnd\r\n };\r\n }\r\n // Uh-Oh. We must be IE. Fun with TextRange!!\r\n var range = document.selection.createRange();\r\n // Determine if there is a selection\r\n if (range && range.parentElement() === el) {\r\n var inputRange = el.createTextRange(), endRange = el.createTextRange(), length = el.value.length;\r\n // Create a working TextRange for the input selection\r\n inputRange.moveToBookmark(range.getBookmark());\r\n // Move endRange begin pos to end pos (hence endRange)\r\n endRange.collapse(false);\r\n // If we are at the very end of the input, begin and end\r\n // must both be the length of the el.value\r\n if (inputRange.compareEndPoints('StartToEnd', endRange) > -1) {\r\n return {\r\n begin: length,\r\n end: length\r\n };\r\n }\r\n // Note: moveStart usually returns the units moved, which \r\n // one may think is -length, however, it will stop when it\r\n // gets to the begin of the range, thus giving us the\r\n // negative value of the pos.\r\n return {\r\n begin: -inputRange.moveStart('character', -length),\r\n end: -inputRange.moveEnd('character', -length)\r\n };\r\n }\r\n //Return 0's on no selection data\r\n return {\r\n begin: 0,\r\n end: 0\r\n };\r\n };\r\n //\r\n // Set the caret position at a specified location\r\n //\r\n inptSel.set = function (el, pos) {\r\n // Normalize pos\r\n if (typeof pos !== 'object') {\r\n pos = {\r\n begin: pos,\r\n end: pos\r\n };\r\n }\r\n // If normal browser\r\n if (el.setSelectionRange) {\r\n el.focus();\r\n el.setSelectionRange(pos.begin, pos.end);\r\n } else if (el.createTextRange) {\r\n var range = el.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', pos.end);\r\n range.moveStart('character', pos.begin);\r\n range.select();\r\n }\r\n };\r\n // Expose\r\n return inptSel;\r\n }();\r\n/*\r\n * formatter.js\r\n *\r\n * Class used to format input based on passed pattern\r\n *\r\n */\r\nvar formatter = function (patternMatcher, inptSel, utils) {\r\n // Defaults\r\n var defaults = {\r\n persistent: false,\r\n repeat: false,\r\n placeholder: ' '\r\n };\r\n // Regexs for input validation\r\n var inptRegs = {\r\n '9': /[0-9]/,\r\n 'a': /[A-Za-z]/,\r\n '*': /[A-Za-z0-9]/\r\n };\r\n //\r\n // Class Constructor - Called with new Formatter(el, opts)\r\n // Responsible for setting up required instance variables, and\r\n // attaching the event listener to the element.\r\n //\r\n function Formatter(el, opts) {\r\n // Cache this\r\n var self = this;\r\n // Make sure we have an element. Make accesible to instance\r\n self.el = el;\r\n if (!self.el) {\r\n throw new TypeError('Must provide an existing element');\r\n }\r\n // Merge opts with defaults\r\n self.opts = utils.extend({}, defaults, opts);\r\n // 1 pattern is special case\r\n if (typeof self.opts.pattern !== 'undefined') {\r\n self.opts.patterns = self._specFromSinglePattern(self.opts.pattern);\r\n delete self.opts.pattern;\r\n }\r\n // Make sure we have valid opts\r\n if (typeof self.opts.patterns === 'undefined') {\r\n throw new TypeError('Must provide a pattern or array of patterns');\r\n }\r\n self.patternMatcher = patternMatcher(self.opts.patterns);\r\n // Upate pattern with initial value\r\n self._updatePattern();\r\n // Init values\r\n self.hldrs = {};\r\n self.focus = 0;\r\n // Add Listeners\r\n utils.addListener(self.el, 'keydown', function (evt) {\r\n self._keyDown(evt);\r\n });\r\n utils.addListener(self.el, 'keypress', function (evt) {\r\n self._keyPress(evt);\r\n });\r\n utils.addListener(self.el, 'paste', function (evt) {\r\n self._paste(evt);\r\n });\r\n // Persistence\r\n if (self.opts.persistent) {\r\n // Format on start\r\n self._processKey('', false);\r\n self.el.blur();\r\n // Add Listeners\r\n utils.addListener(self.el, 'focus', function (evt) {\r\n self._focus(evt);\r\n });\r\n utils.addListener(self.el, 'click', function (evt) {\r\n self._focus(evt);\r\n });\r\n utils.addListener(self.el, 'touchstart', function (evt) {\r\n self._focus(evt);\r\n });\r\n }\r\n }\r\n //\r\n // @public\r\n // Add new char\r\n //\r\n Formatter.addInptType = function (chr, reg) {\r\n inptRegs[chr] = reg;\r\n };\r\n //\r\n // @public\r\n // Apply the given pattern to the current input without moving caret.\r\n //\r\n Formatter.prototype.resetPattern = function (str) {\r\n // Update opts to hold new pattern\r\n this.opts.patterns = str ? this._specFromSinglePattern(str) : this.opts.patterns;\r\n // Get current state\r\n this.sel = inptSel.get(this.el);\r\n this.val = this.el.value;\r\n // Init values\r\n this.delta = 0;\r\n // Remove all formatted chars from val\r\n this._removeChars();\r\n this.patternMatcher = patternMatcher(this.opts.patterns);\r\n // Update pattern\r\n var newPattern = this.patternMatcher.getPattern(this.val);\r\n this.mLength = newPattern.mLength;\r\n this.chars = newPattern.chars;\r\n this.inpts = newPattern.inpts;\r\n // Format on start\r\n this._processKey('', false, true);\r\n };\r\n //\r\n // @private\r\n // Determine correct format pattern based on input val\r\n //\r\n Formatter.prototype._updatePattern = function () {\r\n // Determine appropriate pattern\r\n var newPattern = this.patternMatcher.getPattern(this.val);\r\n // Only update the pattern if there is an appropriate pattern for the value.\r\n // Otherwise, leave the current pattern (and likely delete the latest character.)\r\n if (newPattern) {\r\n // Get info about the given pattern\r\n this.mLength = newPattern.mLength;\r\n this.chars = newPattern.chars;\r\n this.inpts = newPattern.inpts;\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on all keyDown strokes. All keys trigger\r\n // this handler. Only process delete keys.\r\n //\r\n Formatter.prototype._keyDown = function (evt) {\r\n // The first thing we need is the character code\r\n var k = evt.which || evt.keyCode;\r\n // If delete key\r\n if (k && utils.isDelKeyDown(evt.which, evt.keyCode)) {\r\n // Process the keyCode and prevent default\r\n this._processKey(null, k);\r\n return utils.preventDefault(evt);\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on all keyPress strokes. Only processes\r\n // character keys (as long as no modifier key is in use).\r\n //\r\n Formatter.prototype._keyPress = function (evt) {\r\n // The first thing we need is the character code\r\n var k, isSpecial;\r\n // Mozilla will trigger on special keys and assign the the value 0\r\n // We want to use that 0 rather than the keyCode it assigns.\r\n k = evt.which || evt.keyCode;\r\n isSpecial = utils.isSpecialKeyPress(evt.which, evt.keyCode);\r\n // Process the keyCode and prevent default\r\n if (!utils.isDelKeyPress(evt.which, evt.keyCode) && !isSpecial && !utils.isModifier(evt)) {\r\n this._processKey(String.fromCharCode(k), false);\r\n return utils.preventDefault(evt);\r\n }\r\n };\r\n //\r\n // @private\r\n // Handler called on paste event.\r\n //\r\n Formatter.prototype._paste = function (evt) {\r\n // Process the clipboard paste and prevent default\r\n this._processKey(utils.getClip(evt), false);\r\n return utils.preventDefault(evt);\r\n };\r\n //\r\n // @private\r\n // Handle called on focus event.\r\n //\r\n Formatter.prototype._focus = function () {\r\n // Wrapped in timeout so that we can grab input selection\r\n var self = this;\r\n setTimeout(function () {\r\n // Grab selection\r\n var selection = inptSel.get(self.el);\r\n // Char check\r\n var isAfterStart = selection.end > self.focus, isFirstChar = selection.end === 0;\r\n // If clicked in front of start, refocus to start\r\n if (isAfterStart || isFirstChar) {\r\n inptSel.set(self.el, self.focus);\r\n }\r\n }, 0);\r\n };\r\n //\r\n // @private\r\n // Using the provided key information, alter el value.\r\n //\r\n Formatter.prototype._processKey = function (chars, delKey, ignoreCaret) {\r\n // Get current state\r\n this.sel = inptSel.get(this.el);\r\n this.val = this.el.value;\r\n // Init values\r\n this.delta = 0;\r\n // If chars were highlighted, we need to remove them\r\n if (this.sel.begin !== this.sel.end) {\r\n this.delta = -1 * Math.abs(this.sel.begin - this.sel.end);\r\n this.val = utils.removeChars(this.val, this.sel.begin, this.sel.end);\r\n } else if (delKey && delKey === 46) {\r\n this._delete();\r\n } else if (delKey && this.sel.begin - 1 >= 0) {\r\n // Always have a delta of at least -1 for the character being deleted.\r\n this.val = utils.removeChars(this.val, this.sel.end - 1, this.sel.end);\r\n this.delta -= 1;\r\n } else if (delKey) {\r\n return true;\r\n }\r\n // If the key is not a del key, it should convert to a str\r\n if (!delKey) {\r\n // Add char at position and increment delta\r\n this.val = utils.addChars(this.val, chars, this.sel.begin);\r\n this.delta += chars.length;\r\n }\r\n // Format el.value (also handles updating caret position)\r\n this._formatValue(ignoreCaret);\r\n };\r\n //\r\n // @private\r\n // Deletes the character in front of it\r\n //\r\n Formatter.prototype._delete = function () {\r\n // Adjust focus to make sure its not on a formatted char\r\n while (this.chars[this.sel.begin]) {\r\n this._nextPos();\r\n }\r\n // As long as we are not at the end\r\n if (this.sel.begin < this.val.length) {\r\n // We will simulate a delete by moving the caret to the next char\r\n // and then deleting\r\n this._nextPos();\r\n this.val = utils.removeChars(this.val, this.sel.end - 1, this.sel.end);\r\n this.delta = -1;\r\n }\r\n };\r\n //\r\n // @private\r\n // Quick helper method to move the caret to the next pos\r\n //\r\n Formatter.prototype._nextPos = function () {\r\n this.sel.end++;\r\n this.sel.begin++;\r\n };\r\n //\r\n // @private\r\n // Alter element value to display characters matching the provided\r\n // instance pattern. Also responsible for updating\r\n //\r\n Formatter.prototype._formatValue = function (ignoreCaret) {\r\n // Set caret pos\r\n this.newPos = this.sel.end + this.delta;\r\n // Remove all formatted chars from val\r\n this._removeChars();\r\n // Switch to first matching pattern based on val\r\n this._updatePattern();\r\n // Validate inputs\r\n this._validateInpts();\r\n // Add formatted characters\r\n this._addChars();\r\n // Set value and adhere to maxLength\r\n this.el.value = this.val.substr(0, this.mLength);\r\n // Set new caret position\r\n if (typeof ignoreCaret === 'undefined' || ignoreCaret === false) {\r\n inptSel.set(this.el, this.newPos);\r\n }\r\n };\r\n //\r\n // @private\r\n // Remove all formatted before and after a specified pos\r\n //\r\n Formatter.prototype._removeChars = function () {\r\n // Delta shouldn't include placeholders\r\n if (this.sel.end > this.focus) {\r\n this.delta += this.sel.end - this.focus;\r\n }\r\n // Account for shifts during removal\r\n var shift = 0;\r\n // Loop through all possible char positions\r\n for (var i = 0; i <= this.mLength; i++) {\r\n // Get transformed position\r\n var curChar = this.chars[i], curHldr = this.hldrs[i], pos = i + shift, val;\r\n // If after selection we need to account for delta\r\n pos = i >= this.sel.begin ? pos + this.delta : pos;\r\n val = this.val.charAt(pos);\r\n // Remove char and account for shift\r\n if (curChar && curChar === val || curHldr && curHldr === val) {\r\n this.val = utils.removeChars(this.val, pos, pos + 1);\r\n shift--;\r\n }\r\n }\r\n // All hldrs should be removed now\r\n this.hldrs = {};\r\n // Set focus to last character\r\n this.focus = this.val.length;\r\n };\r\n //\r\n // @private\r\n // Make sure all inpts are valid, else remove and update delta\r\n //\r\n Formatter.prototype._validateInpts = function () {\r\n // Loop over each char and validate\r\n for (var i = 0; i < this.val.length; i++) {\r\n // Get char inpt type\r\n var inptType = this.inpts[i];\r\n // Checks\r\n var isBadType = !inptRegs[inptType], isInvalid = !isBadType && !inptRegs[inptType].test(this.val.charAt(i)), inBounds = this.inpts[i];\r\n // Remove if incorrect and inbounds\r\n if ((isBadType || isInvalid) && inBounds) {\r\n this.val = utils.removeChars(this.val, i, i + 1);\r\n this.focusStart--;\r\n this.newPos--;\r\n this.delta--;\r\n i--;\r\n }\r\n }\r\n };\r\n //\r\n // @private\r\n // Loop over val and add formatted chars as necessary\r\n //\r\n Formatter.prototype._addChars = function () {\r\n if (this.opts.persistent) {\r\n // Loop over all possible characters\r\n for (var i = 0; i <= this.mLength; i++) {\r\n if (!this.val.charAt(i)) {\r\n // Add placeholder at pos\r\n this.val = utils.addChars(this.val, this.opts.placeholder, i);\r\n this.hldrs[i] = this.opts.placeholder;\r\n }\r\n this._addChar(i);\r\n }\r\n // Adjust focus to make sure its not on a formatted char\r\n while (this.chars[this.focus]) {\r\n this.focus++;\r\n }\r\n } else {\r\n // Avoid caching val.length, as they may change in _addChar.\r\n for (var j = 0; j <= this.val.length; j++) {\r\n // When moving backwards there are some race conditions where we\r\n // dont want to add the character\r\n if (this.delta <= 0 && j === this.focus) {\r\n return true;\r\n }\r\n // Place character in current position of the formatted string.\r\n this._addChar(j);\r\n }\r\n }\r\n };\r\n //\r\n // @private\r\n // Add formattted char at position\r\n //\r\n Formatter.prototype._addChar = function (i) {\r\n // If char exists at position\r\n var chr = this.chars[i];\r\n if (!chr) {\r\n return true;\r\n }\r\n // If chars are added in between the old pos and new pos\r\n // we need to increment pos and delta\r\n if (utils.isBetween(i, [\r\n this.sel.begin - 1,\r\n this.newPos + 1\r\n ])) {\r\n this.newPos++;\r\n this.delta++;\r\n }\r\n // If character added before focus, incr\r\n if (i <= this.focus) {\r\n this.focus++;\r\n }\r\n // Updateholder\r\n if (this.hldrs[i]) {\r\n delete this.hldrs[i];\r\n this.hldrs[i + 1] = this.opts.placeholder;\r\n }\r\n // Update value\r\n this.val = utils.addChars(this.val, chr, i);\r\n };\r\n //\r\n // @private\r\n // Create a patternSpec for passing into patternMatcher that\r\n // has exactly one catch all pattern.\r\n //\r\n Formatter.prototype._specFromSinglePattern = function (patternStr) {\r\n return [{ '*': patternStr }];\r\n };\r\n // Expose\r\n return Formatter;\r\n }(patternMatcher, inptSel, utils);\r\n\r\n\r\n\r\n// A really lightweight plugin wrapper around the constructor,\r\n// preventing against multiple instantiations\r\nvar pluginName = 'formatter';\r\n\r\n$.fn[pluginName] = function (options) {\r\n\r\n // Initiate plugin if options passed\r\n if (typeof options == 'object') {\r\n this.each(function () {\r\n if (!$.data(this, 'plugin_' + pluginName)) {\r\n $.data(this, 'plugin_' + pluginName,\r\n new formatter(this, options));\r\n }\r\n });\r\n }\r\n\r\n // Add resetPattern method to plugin\r\n this.resetPattern = function (str) {\r\n this.each(function () {\r\n var formatted = $.data(this, 'plugin_' + pluginName);\r\n // resetPattern for instance\r\n if (formatted) { formatted.resetPattern(str); }\r\n });\r\n // Chainable please\r\n return this;\r\n };\r\n\r\n // Chainable please\r\n return this;\r\n};\r\n\r\n$.fn[pluginName].addInptType = function (chr, regexp) {\r\n formatter.addInptType(chr, regexp);\r\n};\r\n\r\n\r\n}));","/*!\r\n * jQuery Templates Plugin 1.0.0pre\r\n * http://github.com/jquery/jquery-tmpl\r\n * Requires jQuery 1.4.2\r\n *\r\n * Copyright 2011, Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n */\r\n(function( jQuery, undefined ){\r\n\tvar oldManip = jQuery.fn.domManip, tmplItmAtt = \"_tmplitem\", htmlExpr = /^[^<]*(<[\\w\\W]+>)[^>]*$|\\{\\{\\! /,\r\n\t\tnewTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];\r\n\r\n\tfunction newTmplItem( options, parentItem, fn, data ) {\r\n\t\t// Returns a template item data structure for a new rendered instance of a template (a 'template item').\r\n\t\t// The content field is a hierarchical array of strings and nested items (to be\r\n\t\t// removed and replaced by nodes field of dom elements, once inserted in DOM).\r\n\t\tvar newItem = {\r\n\t\t\tdata: data || (data === 0 || data === false) ? data : (parentItem ? parentItem.data : {}),\r\n\t\t\t_wrap: parentItem ? parentItem._wrap : null,\r\n\t\t\ttmpl: null,\r\n\t\t\tparent: parentItem || null,\r\n\t\t\tnodes: [],\r\n\t\t\tcalls: tiCalls,\r\n\t\t\tnest: tiNest,\r\n\t\t\twrap: tiWrap,\r\n\t\t\thtml: tiHtml,\r\n\t\t\tupdate: tiUpdate\r\n\t\t};\r\n\t\tif ( options ) {\r\n\t\t\tjQuery.extend( newItem, options, { nodes: [], parent: parentItem });\r\n\t\t}\r\n\t\tif ( fn ) {\r\n\t\t\t// Build the hierarchical content to be used during insertion into DOM\r\n\t\t\tnewItem.tmpl = fn;\r\n\t\t\tnewItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );\r\n\t\t\tnewItem.key = ++itemKey;\r\n\t\t\t// Keep track of new template item, until it is stored as jQuery Data on DOM element\r\n\t\t\t(stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;\r\n\t\t}\r\n\t\treturn newItem;\r\n\t}\r\n\r\n\t// Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).\r\n\tjQuery.each({\r\n\t\tappendTo: \"append\",\r\n\t\tprependTo: \"prepend\",\r\n\t\tinsertBefore: \"before\",\r\n\t\tinsertAfter: \"after\",\r\n\t\treplaceAll: \"replaceWith\"\r\n\t}, function( name, original ) {\r\n\t\tjQuery.fn[ name ] = function( selector ) {\r\n\t\t\tvar ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,\r\n\t\t\t\tparent = this.length === 1 && this[0].parentNode;\r\n\r\n\t\t\tappendToTmplItems = newTmplItems || {};\r\n\t\t\tif ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {\r\n\t\t\t\tinsert[ original ]( this[0] );\r\n\t\t\t\tret = this;\r\n\t\t\t} else {\r\n\t\t\t\tfor ( i = 0, l = insert.length; i < l; i++ ) {\r\n\t\t\t\t\tcloneIndex = i;\r\n\t\t\t\t\telems = (i > 0 ? this.clone(true) : this).get();\r\n\t\t\t\t\tjQuery( insert[i] )[ original ]( elems );\r\n\t\t\t\t\tret = ret.concat( elems );\r\n\t\t\t\t}\r\n\t\t\t\tcloneIndex = 0;\r\n\t\t\t\tret = this.pushStack( ret, name, insert.selector );\r\n\t\t\t}\r\n\t\t\ttmplItems = appendToTmplItems;\r\n\t\t\tappendToTmplItems = null;\r\n\t\t\tjQuery.tmpl.complete( tmplItems );\r\n\t\t\treturn ret;\r\n\t\t};\r\n\t});\r\n\r\n\tjQuery.fn.extend({\r\n\t\t// Use first wrapped element as template markup.\r\n\t\t// Return wrapped set of template items, obtained by rendering template against data.\r\n\t\ttmpl: function( data, options, parentItem ) {\r\n\t\t\treturn jQuery.tmpl( this[0], data, options, parentItem );\r\n\t\t},\r\n\r\n\t\t// Find which rendered template item the first wrapped DOM element belongs to\r\n\t\ttmplItem: function() {\r\n\t\t\treturn jQuery.tmplItem( this[0] );\r\n\t\t},\r\n\r\n\t\t// Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.\r\n\t\ttemplate: function( name ) {\r\n\t\t\treturn jQuery.template( name, this[0] );\r\n\t\t},\r\n\r\n\t\tdomManip: function( args, table, callback, options ) {\r\n\t\t\tif ( args[0] && jQuery.isArray( args[0] )) {\r\n\t\t\t\tvar dmArgs = jQuery.makeArray( arguments ), elems = args[0], elemsLength = elems.length, i = 0, tmplItem;\r\n\t\t\t\twhile ( i < elemsLength && !(tmplItem = jQuery.data( elems[i++], \"tmplItem\" ))) {}\r\n\t\t\t\tif ( tmplItem && cloneIndex ) {\r\n\t\t\t\t\tdmArgs[2] = function( fragClone ) {\r\n\t\t\t\t\t\t// Handler called by oldManip when rendered template has been inserted into DOM.\r\n\t\t\t\t\t\tjQuery.tmpl.afterManip( this, fragClone, callback );\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\toldManip.apply( this, dmArgs );\r\n\t\t\t} else {\r\n\t\t\t\toldManip.apply( this, arguments );\r\n\t\t\t}\r\n\t\t\tcloneIndex = 0;\r\n\t\t\tif ( !appendToTmplItems ) {\r\n\t\t\t\tjQuery.tmpl.complete( newTmplItems );\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t});\r\n\r\n\tjQuery.extend({\r\n\t\t// Return wrapped set of template items, obtained by rendering template against data.\r\n\t\ttmpl: function( tmpl, data, options, parentItem ) {\r\n\t\t\tvar ret, topLevel = !parentItem;\r\n\t\t\tif ( topLevel ) {\r\n\t\t\t\t// This is a top-level tmpl call (not from a nested template using {{tmpl}})\r\n\t\t\t\tparentItem = topTmplItem;\r\n\t\t\t\ttmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );\r\n\t\t\t\twrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level\r\n\t\t\t} else if ( !tmpl ) {\r\n\t\t\t\t// The template item is already associated with DOM - this is a refresh.\r\n\t\t\t\t// Re-evaluate rendered template for the parentItem\r\n\t\t\t\ttmpl = parentItem.tmpl;\r\n\t\t\t\tnewTmplItems[parentItem.key] = parentItem;\r\n\t\t\t\tparentItem.nodes = [];\r\n\t\t\t\tif ( parentItem.wrapped ) {\r\n\t\t\t\t\tupdateWrapped( parentItem, parentItem.wrapped );\r\n\t\t\t\t}\r\n\t\t\t\t// Rebuild, without creating a new template item\r\n\t\t\t\treturn jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));\r\n\t\t\t}\r\n\t\t\tif ( !tmpl ) {\r\n\t\t\t\treturn []; // Could throw...\r\n\t\t\t}\r\n\t\t\tif ( typeof data === \"function\" ) {\r\n\t\t\t\tdata = data.call( parentItem || {} );\r\n\t\t\t}\r\n\t\t\tif ( options && options.wrapped ) {\r\n\t\t\t\tupdateWrapped( options, options.wrapped );\r\n\t\t\t}\r\n\t\t\tret = jQuery.isArray( data ) ?\r\n\t\t\t\tjQuery.map( data, function( dataItem ) {\r\n\t\t\t\t\treturn dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;\r\n\t\t\t\t}) :\r\n\t\t\t\t[ newTmplItem( options, parentItem, tmpl, data ) ];\r\n\t\t\treturn topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;\r\n\t\t},\r\n\r\n\t\t// Return rendered template item for an element.\r\n\t\ttmplItem: function( elem ) {\r\n\t\t\tvar tmplItem;\r\n\t\t\tif ( elem instanceof jQuery ) {\r\n\t\t\t\telem = elem[0];\r\n\t\t\t}\r\n\t\t\twhile ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, \"tmplItem\" )) && (elem = elem.parentNode) ) {}\r\n\t\t\treturn tmplItem || topTmplItem;\r\n\t\t},\r\n\r\n\t\t// Set:\r\n\t\t// Use $.template( name, tmpl ) to cache a named template,\r\n\t\t// where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.\r\n\t\t// Use $( \"selector\" ).template( name ) to provide access by name to a script block template declaration.\r\n\r\n\t\t// Get:\r\n\t\t// Use $.template( name ) to access a cached template.\r\n\t\t// Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )\r\n\t\t// will return the compiled template, without adding a name reference.\r\n\t\t// If templateString includes at least one HTML tag, $.template( templateString ) is equivalent\r\n\t\t// to $.template( null, templateString )\r\n\t\ttemplate: function( name, tmpl ) {\r\n\t\t\tif (tmpl) {\r\n\t\t\t\t// Compile template and associate with name\r\n\t\t\t\tif ( typeof tmpl === \"string\" ) {\r\n\t\t\t\t\t// This is an HTML string being passed directly in.\r\n\t\t\t\t\ttmpl = buildTmplFn( tmpl );\r\n\t\t\t\t} else if ( tmpl instanceof jQuery ) {\r\n\t\t\t\t\ttmpl = tmpl[0] || {};\r\n\t\t\t\t}\r\n\t\t\t\tif ( tmpl.nodeType ) {\r\n\t\t\t\t\t// If this is a template block, use cached copy, or generate tmpl function and cache.\r\n\t\t\t\t\ttmpl = jQuery.data( tmpl, \"tmpl\" ) || jQuery.data( tmpl, \"tmpl\", buildTmplFn( tmpl.innerHTML ));\r\n\t\t\t\t\t// Issue: In IE, if the container element is not a script block, the innerHTML will remove quotes from attribute values whenever the value does not include white space.\r\n\t\t\t\t\t// This means that foo=\"${x}\" will not work if the value of x includes white space: foo=\"${x}\" -> foo=value of x.\r\n\t\t\t\t\t// To correct this, include space in tag: foo=\"${ x }\" -> foo=\"value of x\"\r\n\t\t\t\t}\r\n\t\t\t\treturn typeof name === \"string\" ? (jQuery.template[name] = tmpl) : tmpl;\r\n\t\t\t}\r\n\t\t\t// Return named compiled template\r\n\t\t\treturn name ? (typeof name !== \"string\" ? jQuery.template( null, name ):\r\n\t\t\t\t(jQuery.template[name] ||\r\n\t\t\t\t\t// If not in map, and not containing at least on HTML tag, treat as a selector.\r\n\t\t\t\t\t// (If integrated with core, use quickExpr.exec)\r\n\t\t\t\t\tjQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;\r\n\t\t},\r\n\r\n\t\tencode: function( text ) {\r\n\t\t\t// Do HTML encoding replacing < > & and ' and \" by corresponding entities.\r\n\t\t\treturn (\"\" + text).split(\"<\").join(\"<\").split(\">\").join(\">\").split('\"').join(\""\").split(\"'\").join(\"'\");\r\n\t\t}\r\n\t});\r\n\r\n\tjQuery.extend( jQuery.tmpl, {\r\n\t\ttag: {\r\n\t\t\t\"tmpl\": {\r\n\t\t\t\t_default: { $2: \"null\" },\r\n\t\t\t\topen: \"if($notnull_1){__=__.concat($item.nest($1,$2));}\"\r\n\t\t\t\t// tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)\r\n\t\t\t\t// This means that {{tmpl foo}} treats foo as a template (which IS a function).\r\n\t\t\t\t// Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.\r\n\t\t\t},\r\n\t\t\t\"wrap\": {\r\n\t\t\t\t_default: { $2: \"null\" },\r\n\t\t\t\topen: \"$item.calls(__,$1,$2);__=[];\",\r\n\t\t\t\tclose: \"call=$item.calls();__=call._.concat($item.wrap(call,__));\"\r\n\t\t\t},\r\n\t\t\t\"each\": {\r\n\t\t\t\t_default: { $2: \"$index, $value\" },\r\n\t\t\t\topen: \"if($notnull_1){$.each($1a,function($2){with(this){\",\r\n\t\t\t\tclose: \"}});}\"\r\n\t\t\t},\r\n\t\t\t\"if\": {\r\n\t\t\t\topen: \"if(($notnull_1) && $1a){\",\r\n\t\t\t\tclose: \"}\"\r\n\t\t\t},\r\n\t\t\t\"else\": {\r\n\t\t\t\t_default: { $1: \"true\" },\r\n\t\t\t\topen: \"}else if(($notnull_1) && $1a){\"\r\n\t\t\t},\r\n\t\t\t\"html\": {\r\n\t\t\t\t// Unecoded expression evaluation.\r\n\t\t\t\topen: \"if($notnull_1){__.push($1a);}\"\r\n\t\t\t},\r\n\t\t\t\"=\": {\r\n\t\t\t\t// Encoded expression evaluation. Abbreviated form is ${}.\r\n\t\t\t\t_default: { $1: \"$data\" },\r\n\t\t\t\topen: \"if($notnull_1){__.push($.encode($1a));}\"\r\n\t\t\t},\r\n\t\t\t\"!\": {\r\n\t\t\t\t// Comment tag. Skipped by parser\r\n\t\t\t\topen: \"\"\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events\r\n\t\tcomplete: function( items ) {\r\n\t\t\tnewTmplItems = {};\r\n\t\t},\r\n\r\n\t\t// Call this from code which overrides domManip, or equivalent\r\n\t\t// Manage cloning/storing template items etc.\r\n\t\tafterManip: function afterManip( elem, fragClone, callback ) {\r\n\t\t\t// Provides cloned fragment ready for fixup prior to and after insertion into DOM\r\n\t\t\tvar content = fragClone.nodeType === 11 ?\r\n\t\t\t\tjQuery.makeArray(fragClone.childNodes) :\r\n\t\t\t\tfragClone.nodeType === 1 ? [fragClone] : [];\r\n\r\n\t\t\t// Return fragment to original caller (e.g. append) for DOM insertion\r\n\t\t\tcallback.call( elem, fragClone );\r\n\r\n\t\t\t// Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.\r\n\t\t\tstoreTmplItems( content );\r\n\t\t\tcloneIndex++;\r\n\t\t}\r\n\t});\r\n\r\n\t//========================== Private helper functions, used by code above ==========================\r\n\r\n\tfunction build( tmplItem, nested, content ) {\r\n\t\t// Convert hierarchical content into flat string array\r\n\t\t// and finally return array of fragments ready for DOM insertion\r\n\t\tvar frag, ret = content ? jQuery.map( content, function( item ) {\r\n\t\t\treturn (typeof item === \"string\") ?\r\n\t\t\t\t// Insert template item annotations, to be converted to jQuery.data( \"tmplItem\" ) when elems are inserted into DOM.\r\n\t\t\t\t(tmplItem.key ? item.replace( /(<\\w+)(?=[\\s>])(?![^>]*_tmplitem)([^>]*)/g, \"$1 \" + tmplItmAtt + \"=\\\"\" + tmplItem.key + \"\\\" $2\" ) : item) :\r\n\t\t\t\t// This is a child template item. Build nested template.\r\n\t\t\t\tbuild( item, tmplItem, item._ctnt );\r\n\t\t}) :\r\n\t\t// If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.\r\n\t\ttmplItem;\r\n\t\tif ( nested ) {\r\n\t\t\treturn ret;\r\n\t\t}\r\n\r\n\t\t// top-level template\r\n\t\tret = ret.join(\"\");\r\n\r\n\t\t// Support templates which have initial or final text nodes, or consist only of text\r\n\t\t// Also support HTML entities within the HTML markup.\r\n\t\tret.replace( /^\\s*([^<\\s][^<]*)?(<[\\w\\W]+>)([^>]*[^>\\s])?\\s*$/, function( all, before, middle, after) {\r\n\t\t\tfrag = jQuery( middle ).get();\r\n\r\n\t\t\tstoreTmplItems( frag );\r\n\t\t\tif ( before ) {\r\n\t\t\t\tfrag = unencode( before ).concat(frag);\r\n\t\t\t}\r\n\t\t\tif ( after ) {\r\n\t\t\t\tfrag = frag.concat(unencode( after ));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn frag ? frag : unencode( ret );\r\n\t}\r\n\r\n\tfunction unencode( text ) {\r\n\t\t// Use createElement, since createTextNode will not render HTML entities correctly\r\n\t\tvar el = document.createElement( \"div\" );\r\n\t\tel.innerHTML = text;\r\n\t\treturn jQuery.makeArray(el.childNodes);\r\n\t}\r\n\r\n\t// Generate a reusable function that will serve to render a template against data\r\n\tfunction buildTmplFn( markup ) {\r\n\t\treturn new Function(\"jQuery\",\"$item\",\r\n\t\t\t// Use the variable __ to hold a string array while building the compiled template. (See https://github.com/jquery/jquery-tmpl/issues#issue/10).\r\n\t\t\t\"var $=jQuery,call,__=[],$data=$item.data;\" +\r\n\r\n\t\t\t// Introduce the data as local variables using with(){}\r\n\t\t\t\"with($data){__.push('\" +\r\n\r\n\t\t\t// Convert the template into pure JavaScript\r\n\t\t\tjQuery.trim(markup)\r\n\t\t\t\t.replace( /([\\\\'])/g, \"\\\\$1\" )\r\n\t\t\t\t.replace( /[\\r\\t\\n]/g, \" \" )\r\n\t\t\t\t.replace( /\\$\\{([^\\}]*)\\}/g, \"{{= $1}}\" )\r\n\t\t\t\t.replace( /\\{\\{(\\/?)(\\w+|.)(?:\\(((?:[^\\}]|\\}(?!\\}))*?)?\\))?(?:\\s+(.*?)?)?(\\(((?:[^\\}]|\\}(?!\\}))*?)\\))?\\s*\\}\\}/g,\r\n\t\t\t\tfunction( all, slash, type, fnargs, target, parens, args ) {\r\n\t\t\t\t\tvar tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;\r\n\t\t\t\t\tif ( !tag ) {\r\n\t\t\t\t\t\tthrow \"Unknown template tag: \" + type;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdef = tag._default || [];\r\n\t\t\t\t\tif ( parens && !/\\w$/.test(target)) {\r\n\t\t\t\t\t\ttarget += parens;\r\n\t\t\t\t\t\tparens = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( target ) {\r\n\t\t\t\t\t\ttarget = unescape( target );\r\n\t\t\t\t\t\targs = args ? (\",\" + unescape( args ) + \")\") : (parens ? \")\" : \"\");\r\n\t\t\t\t\t\t// Support for target being things like a.toLowerCase();\r\n\t\t\t\t\t\t// In that case don't call with template item as 'this' pointer. Just evaluate...\r\n\t\t\t\t\t\texpr = parens ? (target.indexOf(\".\") > -1 ? target + unescape( parens ) : (\"(\" + target + \").call($item\" + args)) : target;\r\n\t\t\t\t\t\texprAutoFnDetect = parens ? expr : \"(typeof(\" + target + \")==='function'?(\" + target + \").call($item):(\" + target + \"))\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\texprAutoFnDetect = expr = def.$1 || \"null\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfnargs = unescape( fnargs );\r\n\t\t\t\t\treturn \"');\" +\r\n\t\t\t\t\t\ttag[ slash ? \"close\" : \"open\" ]\r\n\t\t\t\t\t\t\t.split( \"$notnull_1\" ).join( target ? \"typeof(\" + target + \")!=='undefined' && (\" + target + \")!=null\" : \"true\" )\r\n\t\t\t\t\t\t\t.split( \"$1a\" ).join( exprAutoFnDetect )\r\n\t\t\t\t\t\t\t.split( \"$1\" ).join( expr )\r\n\t\t\t\t\t\t\t.split( \"$2\" ).join( fnargs || def.$2 || \"\" ) +\r\n\t\t\t\t\t\t\"__.push('\";\r\n\t\t\t\t}) +\r\n\t\t\t\"');}return __;\"\r\n\t\t);\r\n\t}\r\n\tfunction updateWrapped( options, wrapped ) {\r\n\t\t// Build the wrapped content.\r\n\t\toptions._wrap = build( options, true,\r\n\t\t\t// Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.\r\n\t\t\tjQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]\r\n\t\t).join(\"\");\r\n\t}\r\n\r\n\tfunction unescape( args ) {\r\n\t\treturn args ? args.replace( /\\\\'/g, \"'\").replace(/\\\\\\\\/g, \"\\\\\" ) : null;\r\n\t}\r\n\tfunction outerHtml( elem ) {\r\n\t\tvar div = document.createElement(\"div\");\r\n\t\tdiv.appendChild( elem.cloneNode(true) );\r\n\t\treturn div.innerHTML;\r\n\t}\r\n\r\n\t// Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.\r\n\tfunction storeTmplItems( content ) {\r\n\t\tvar keySuffix = \"_\" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;\r\n\t\tfor ( i = 0, l = content.length; i < l; i++ ) {\r\n\t\t\tif ( (elem = content[i]).nodeType !== 1 ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\telems = elem.getElementsByTagName(\"*\");\r\n\t\t\tfor ( m = elems.length - 1; m >= 0; m-- ) {\r\n\t\t\t\tprocessItemKey( elems[m] );\r\n\t\t\t}\r\n\t\t\tprocessItemKey( elem );\r\n\t\t}\r\n\t\tfunction processItemKey( el ) {\r\n\t\t\tvar pntKey, pntNode = el, pntItem, tmplItem, key;\r\n\t\t\t// Ensure that each rendered template inserted into the DOM has its own template item,\r\n\t\t\tif ( (key = el.getAttribute( tmplItmAtt ))) {\r\n\t\t\t\twhile ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }\r\n\t\t\t\tif ( pntKey !== key ) {\r\n\t\t\t\t\t// The next ancestor with a _tmplitem expando is on a different key than this one.\r\n\t\t\t\t\t// So this is a top-level element within this template item\r\n\t\t\t\t\t// Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.\r\n\t\t\t\t\tpntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;\r\n\t\t\t\t\tif ( !(tmplItem = newTmplItems[key]) ) {\r\n\t\t\t\t\t\t// The item is for wrapped content, and was copied from the temporary parent wrappedItem.\r\n\t\t\t\t\t\ttmplItem = wrappedItems[key];\r\n\t\t\t\t\t\ttmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode] );\r\n\t\t\t\t\t\ttmplItem.key = ++itemKey;\r\n\t\t\t\t\t\tnewTmplItems[itemKey] = tmplItem;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( cloneIndex ) {\r\n\t\t\t\t\t\tcloneTmplItem( key );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tel.removeAttribute( tmplItmAtt );\r\n\t\t\t} else if ( cloneIndex && (tmplItem = jQuery.data( el, \"tmplItem\" )) ) {\r\n\t\t\t\t// This was a rendered element, cloned during append or appendTo etc.\r\n\t\t\t\t// TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.\r\n\t\t\t\tcloneTmplItem( tmplItem.key );\r\n\t\t\t\tnewTmplItems[tmplItem.key] = tmplItem;\r\n\t\t\t\tpntNode = jQuery.data( el.parentNode, \"tmplItem\" );\r\n\t\t\t\tpntNode = pntNode ? pntNode.key : 0;\r\n\t\t\t}\r\n\t\t\tif ( tmplItem ) {\r\n\t\t\t\tpntItem = tmplItem;\r\n\t\t\t\t// Find the template item of the parent element.\r\n\t\t\t\t// (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)\r\n\t\t\t\twhile ( pntItem && pntItem.key != pntNode ) {\r\n\t\t\t\t\t// Add this element as a top-level node for this rendered template item, as well as for any\r\n\t\t\t\t\t// ancestor items between this item and the item of its parent element\r\n\t\t\t\t\tpntItem.nodes.push( el );\r\n\t\t\t\t\tpntItem = pntItem.parent;\r\n\t\t\t\t}\r\n\t\t\t\t// Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...\r\n\t\t\t\tdelete tmplItem._ctnt;\r\n\t\t\t\tdelete tmplItem._wrap;\r\n\t\t\t\t// Store template item as jQuery data on the element\r\n\t\t\t\tjQuery.data( el, \"tmplItem\", tmplItem );\r\n\t\t\t}\r\n\t\t\tfunction cloneTmplItem( key ) {\r\n\t\t\t\tkey = key + keySuffix;\r\n\t\t\t\ttmplItem = newClonedItems[key] =\r\n\t\t\t\t\t(newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent ));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t//---- Helper functions for template item ----\r\n\r\n\tfunction tiCalls( content, tmpl, data, options ) {\r\n\t\tif ( !content ) {\r\n\t\t\treturn stack.pop();\r\n\t\t}\r\n\t\tstack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });\r\n\t}\r\n\r\n\tfunction tiNest( tmpl, data, options ) {\r\n\t\t// nested template, using {{tmpl}} tag\r\n\t\treturn jQuery.tmpl( jQuery.template( tmpl ), data, options, this );\r\n\t}\r\n\r\n\tfunction tiWrap( call, wrapped ) {\r\n\t\t// nested template, using {{wrap}} tag\r\n\t\tvar options = call.options || {};\r\n\t\toptions.wrapped = wrapped;\r\n\t\t// Apply the template, which may incorporate wrapped content,\r\n\t\treturn jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );\r\n\t}\r\n\r\n\tfunction tiHtml( filter, textOnly ) {\r\n\t\tvar wrapped = this._wrap;\r\n\t\treturn jQuery.map(\r\n\t\t\tjQuery( jQuery.isArray( wrapped ) ? wrapped.join(\"\") : wrapped ).filter( filter || \"*\" ),\r\n\t\t\tfunction(e) {\r\n\t\t\t\treturn textOnly ?\r\n\t\t\t\t\te.innerText || e.textContent :\r\n\t\t\t\t\te.outerHTML || outerHtml(e);\r\n\t\t\t});\r\n\t}\r\n\r\n\tfunction tiUpdate() {\r\n\t\tvar coll = this.nodes;\r\n\t\tjQuery.tmpl( null, null, null, this).insertBefore( coll[0] );\r\n\t\tjQuery( coll ).remove();\r\n\t}\r\n})( jQuery );\r\n","/***********************************************************************************\r\n * 관리자 페이지 초기화\r\n ***********************************************************************************/\r\nAPP.init = function(){\r\n APP.initAjaxDefaultSetting();\r\n APP.initMenu();\r\n APP.initAx5();\r\n APP.initPlugins();\r\n APP.initCheckboxAll();\r\n};\r\n\r\n/***********************************************************************************\r\n * AJAX Error 및 BlockUI 처리\r\n ***********************************************************************************/\r\nAPP.initAjaxDefaultSetting = function() {\r\n $(document).ajaxError(function(event, request, settings){\r\n var message = '알수없는 오류가 발생하였습니다.';\r\n if( typeof request.responseJSON != 'undefined' && typeof request.responseJSON.message != 'undefined' ) {\r\n message = request.responseJSON.message;\r\n }\r\n else {\r\n if( request.status == 500 ) message = '서버 코드 오류가 발생하였습니다.\\n관리자에게 문의하세요';\r\n else if ( request.status == 401 ) message = '해당 명령을 실행할 권한이 없습니다.';\r\n }\r\n toastr.error(message, '오류 발생');\r\n }).ajaxStart(function(){\r\n $.blockUI({\r\n css: {width:'25px',top:'49%',left:'49%',border:'0px none',backgroundColor:'transparent',cursor:'wait'},\r\n message : '\"로딩중\"',\r\n baseZ : 10000,\r\n overlayCSS : {opacity : 0}\r\n });\r\n }).ajaxComplete(function(){\r\n $.unblockUI();\r\n });\r\n};\r\n\r\n/***********************************************************************************\r\n * 메뉴관련 초기화\r\n ***********************************************************************************/\r\nAPP.initMenu = function(){\r\n $('#nav .main-navigation li').each(function(){\r\n var $this = $(this);\r\n var menuCode = $this.data('active');\r\n\r\n if(menuCode == menuActive)\r\n {\r\n $(this).addClass('active');\r\n $(this).parents('li').addClass('active');\r\n }\r\n });\r\n};\r\n\r\nAPP.initPlugins = function() {\r\n $.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\r\n $.datepicker._updateDatepicker = function(inst) {\r\n $.datepicker._updateDatepicker_original(inst);\r\n var afterShow = this._get(inst, 'afterShow');\r\n if (afterShow)\r\n afterShow.apply((inst.input ? inst.input[0] : null));\r\n }\r\n $.datepicker.regional['ko'] = {\r\n closeText: '닫기',\r\n prevText: '이전달',\r\n nextText: '다음달',\r\n currentText: '오늘',\r\n monthNames: ['1월','2월','3월','4월','5월','6월', '7월','8월','9월','10월','11월','12월'],\r\n monthNamesShort: ['1월','2월','3월','4월','5월','6월', '7월','8월','9월','10월','11월','12월'],\r\n dayNames: ['일','월','화','수','목','금','토'],\r\n dayNamesShort: ['일','월','화','수','목','금','토'],\r\n dayNamesMin: ['일','월','화','수','목','금','토'],\r\n weekHeader: 'Wk',\r\n dateFormat: 'yy-mm-dd',\r\n firstDay: 0,\r\n isRTL: false,\r\n showMonthAfterYear: true,\r\n changeMonth: true,\r\n changeYear: true,\r\n yearSuffix: '',\r\n afterShow: function() {\r\n $('.ui-datepicker-prev').empty().append( '' );\r\n $('.ui-datepicker-next').empty().append( '' );\r\n }\r\n };\r\n\r\n $.datepicker.setDefaults($.datepicker.regional['ko']);\r\n\r\n $('[data-toggle=\"datepicker\"]').each(function(){\r\n $(this).formatter({\r\n pattern : '{{9999}}-{{99}}-{{99}}',\r\n persistent:true\r\n }).datepicker();\r\n });\r\n\r\n $(\"body\").on(\"click\", '[data-toggle=\"datepicker\"]', function(){\r\n if (!$(this).hasClass(\"hasDatepicker\"))\r\n {\r\n $(this).datepicker();\r\n $(this).datepicker(\"show\");\r\n }\r\n });\r\n\r\n $('[data-toggle=\"formatter\"]').each(function(){\r\n if( $(this).data('pattern') )\r\n {\r\n $(this).formatter({\r\n pattern : $(this).data('pattern'),\r\n persistent: true\r\n });\r\n }\r\n });\r\n\r\n /*\r\n $.datetimepicker.setLocale('kr');\r\n $('[data-toggle=\"datetimepicker\"]').datetimepicker({\r\n format:'Y-m-d H:i'\r\n });\r\n */\r\n};\r\n\r\nAPP.initCheckboxAll = function(){\r\n $('[data-checkbox]').click(function(){\r\n var $check = $(this);\r\n var is_all = ($check.data('checkbox-all') && $check.data('checkbox-all').toString() == 'true');\r\n var name = $check.data('checkbox');\r\n var checked = $check.prop('checked');\r\n var $allCheck = is_all ? $check : $('[data-checkbox=\"'+name+'\"][data-checkbox-all=\"true\"]');\r\n\r\n if( is_all ) {\r\n $('[data-checkbox=\"'+name+'\"]').prop('checked', checked );\r\n }\r\n else {\r\n $allCheck.prop('checked', $('[data-checkbox=\"'+name+'\"]').not('[data-checkbox-all=\"true\"]').length == $('[data-checkbox=\"'+name+'\"]:checked').not('[data-checkbox-all=\"true\"]').length);\r\n }\r\n });\r\n};\r\n\r\n/**********************************************************************************************************************\r\n * MODAL 관련\r\n *********************************************************************************************************************/\r\nAPP.initAx5 = function(){\r\n APP.MASK = new ax5.ui.mask({\r\n zIndex: 1000}\r\n );\r\n APP.MASK2 = new ax5.ui.mask({\r\n zIndex: 2000\r\n });\r\n APP.modal = new ax5.ui.modal({\r\n absolute: true,\r\n iframeLoadingMsg: ''\r\n });\r\n APP.modal2 = new ax5.ui.modal({\r\n absolute: true,\r\n iframeLoadingMsg: ''\r\n });\r\n APP.toast = new ax5.ui.toast({\r\n containerPosition: \"top-right\",\r\n closeIcon: ''\r\n });\r\n};\r\n\r\n\r\n$(function(){\r\n APP.init();\r\n});","/* ========================================================================\r\n * Bootstrap: dropdown.js v3.3.7\r\n * http://getbootstrap.com/javascript/#dropdowns\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n+function ($) {\r\n 'use strict';\r\n\r\n // DROPDOWN CLASS DEFINITION\r\n // =========================\r\n\r\n var backdrop = '.dropdown-backdrop'\r\n var toggle = '[data-toggle=\"dropdown\"]'\r\n var Dropdown = function (element) {\r\n $(element).on('click.bs.dropdown', this.toggle)\r\n }\r\n\r\n Dropdown.VERSION = '3.3.7'\r\n\r\n function getParent($this) {\r\n var selector = $this.attr('data-target')\r\n\r\n if (!selector) {\r\n selector = $this.attr('href')\r\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\r\n }\r\n\r\n var $parent = selector && $(selector)\r\n\r\n return $parent && $parent.length ? $parent : $this.parent()\r\n }\r\n\r\n function clearMenus(e) {\r\n if (e && e.which === 3) return\r\n $(backdrop).remove()\r\n $(toggle).each(function () {\r\n var $this = $(this)\r\n var $parent = getParent($this)\r\n var relatedTarget = { relatedTarget: this }\r\n\r\n if (!$parent.hasClass('open')) return\r\n\r\n if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\r\n\r\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this.attr('aria-expanded', 'false')\r\n $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\r\n })\r\n }\r\n\r\n Dropdown.prototype.toggle = function (e) {\r\n var $this = $(this)\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n clearMenus()\r\n\r\n if (!isActive) {\r\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\r\n // if mobile we use a backdrop because click events don't delegate\r\n $(document.createElement('div'))\r\n .addClass('dropdown-backdrop')\r\n .insertAfter($(this))\r\n .on('click', clearMenus)\r\n }\r\n\r\n var relatedTarget = { relatedTarget: this }\r\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this\r\n .trigger('focus')\r\n .attr('aria-expanded', 'true')\r\n\r\n $parent\r\n .toggleClass('open')\r\n .trigger($.Event('shown.bs.dropdown', relatedTarget))\r\n }\r\n\r\n return false\r\n }\r\n\r\n Dropdown.prototype.keydown = function (e) {\r\n if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\r\n\r\n var $this = $(this)\r\n\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n if (!isActive && e.which != 27 || isActive && e.which == 27) {\r\n if (e.which == 27) $parent.find(toggle).trigger('focus')\r\n return $this.trigger('click')\r\n }\r\n\r\n var desc = ' li:not(.disabled):visible a'\r\n var $items = $parent.find('.dropdown-menu' + desc)\r\n\r\n if (!$items.length) return\r\n\r\n var index = $items.index(e.target)\r\n\r\n if (e.which == 38 && index > 0) index-- // up\r\n if (e.which == 40 && index < $items.length - 1) index++ // down\r\n if (!~index) index = 0\r\n\r\n $items.eq(index).trigger('focus')\r\n }\r\n\r\n\r\n // DROPDOWN PLUGIN DEFINITION\r\n // ==========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.dropdown')\r\n\r\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\r\n if (typeof option == 'string') data[option].call($this)\r\n })\r\n }\r\n\r\n var old = $.fn.dropdown\r\n\r\n $.fn.dropdown = Plugin\r\n $.fn.dropdown.Constructor = Dropdown\r\n\r\n\r\n // DROPDOWN NO CONFLICT\r\n // ====================\r\n\r\n $.fn.dropdown.noConflict = function () {\r\n $.fn.dropdown = old\r\n return this\r\n }\r\n\r\n\r\n // APPLY TO STANDARD DROPDOWN ELEMENTS\r\n // ===================================\r\n\r\n $(document)\r\n .on('click.bs.dropdown.data-api', clearMenus)\r\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\r\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\r\n .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\r\n .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\r\n\r\n}(jQuery);","APP.MODAL = function() {\r\n var modalCallback = {};\r\n\r\n var defaultCss = {\r\n width: 400,\r\n height: 400,\r\n position: {\r\n left: \"center\",\r\n top: \"middle\"\r\n }\r\n };\r\n\r\n var defaultOption = $.extend(true, {}, defaultCss, {\r\n iframeLoadingMsg: \"\",\r\n iframe: {\r\n method: \"get\",\r\n url: \"#\"\r\n },\r\n closeToEsc: true,\r\n onStateChanged: function onStateChanged() {\r\n // mask\r\n if (this.state === \"open\") {\r\n APP.MASK.open();\r\n } else if (this.state === \"close\") {\r\n APP.MASK.close();\r\n }\r\n },\r\n animateTime: 100,\r\n zIndex: 1001,\r\n absolute: true,\r\n fullScreen: false,\r\n header: {\r\n title: \"새로운 윈도우\",\r\n btns: {\r\n close: {\r\n label: '', onClick: function onClick() {\r\n APP.MODAL.callback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n var open = function(modalConfig) {\r\n\r\n modalConfig = $.extend(true, {}, defaultOption, modalConfig);\r\n $(document.body).addClass(\"modalOpened\");\r\n\r\n this.modalCallback = modalConfig.callback;\r\n this.modalSendData = modalConfig.sendData;\r\n\r\n APP.modal.open(modalConfig);\r\n };\r\n\r\n var css = function css(modalCss) {\r\n modalCss = $.extend(true, {}, defaultCss, modalCss);\r\n APP.modal.css(modalCss);\r\n };\r\n var align = function align(modalAlign) {\r\n APP.modal.align(modalAlign);\r\n };\r\n var close = function close(data) {\r\n APP.modal.close();\r\n setTimeout(function () {\r\n $(document.body).removeClass(\"modalOpened\");\r\n }, 500);\r\n };\r\n var minimize = function minimize() {\r\n APP.modal.minimize();\r\n };\r\n var maximize = function maximize() {\r\n APP.modal.maximize();\r\n };\r\n var callback = function callback(data) {\r\n if (this.modalCallback) {\r\n this.modalCallback(data);\r\n }\r\n this.close(data);\r\n };\r\n var getData = function getData() {\r\n if (this.modalSendData) {\r\n return this.modalSendData();\r\n }\r\n };\r\n\r\n return {\r\n \"open\": open,\r\n \"css\": css,\r\n \"align\": align,\r\n \"close\": close,\r\n \"minimize\": minimize,\r\n \"maximize\": maximize,\r\n \"callback\": callback,\r\n \"modalCallback\": modalCallback,\r\n \"getData\": getData\r\n };\r\n}();\r\nAPP.MODAL2 = function() {\r\n var modalCallback = {};\r\n\r\n var defaultCss = {\r\n width: 400,\r\n height: 400,\r\n position: {\r\n left: \"center\",\r\n top: \"middle\"\r\n }\r\n };\r\n\r\n var defaultOption = $.extend(true, {}, defaultCss, {\r\n iframeLoadingMsg: \"\",\r\n iframe: {\r\n method: \"get\",\r\n url: \"#\"\r\n },\r\n closeToEsc: true,\r\n onStateChanged: function onStateChanged() {\r\n // mask\r\n if (this.state === \"open\") {\r\n APP.MASK2.open();\r\n } else if (this.state === \"close\") {\r\n APP.MASK2.close();\r\n }\r\n },\r\n animateTime: 100,\r\n zIndex: 2001,\r\n absolute: true,\r\n fullScreen: false,\r\n header: {\r\n title: \"새로운 윈도우\",\r\n btns: {\r\n close: {\r\n label: '', onClick: function onClick() {\r\n APP.MODAL2.callback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n var open = function(modalConfig) {\r\n\r\n modalConfig = $.extend(true, {}, defaultOption, modalConfig);\r\n $(document.body).addClass(\"modalOpened\");\r\n\r\n this.modalCallback = modalConfig.callback;\r\n this.modalSendData = modalConfig.sendData;\r\n\r\n APP.modal2.open(modalConfig);\r\n };\r\n\r\n var css = function css(modalCss) {\r\n modalCss = $.extend(true, {}, defaultCss, modalCss);\r\n APP.modal2.css(modalCss);\r\n };\r\n var align = function align(modalAlign) {\r\n APP.modal2.align(modalAlign);\r\n };\r\n var close = function close(data) {\r\n APP.modal2.close();\r\n setTimeout(function () {\r\n $(document.body).removeClass(\"modalOpened\");\r\n }, 500);\r\n };\r\n var minimize = function minimize() {\r\n APP.modal2.minimize();\r\n };\r\n var maximize = function maximize() {\r\n APP.modal2.maximize();\r\n };\r\n var callback = function callback(data) {\r\n if (this.modalCallback) {\r\n this.modalCallback(data);\r\n }\r\n this.close(data);\r\n };\r\n var getData = function getData() {\r\n if (this.modalSendData) {\r\n return this.modalSendData();\r\n }\r\n };\r\n\r\n return {\r\n \"open\": open,\r\n \"css\": css,\r\n \"align\": align,\r\n \"close\": close,\r\n \"minimize\": minimize,\r\n \"maximize\": maximize,\r\n \"callback\": callback,\r\n \"modalCallback\": modalCallback,\r\n \"getData\": getData\r\n };\r\n}();","APP.TOAST = {\r\n confirm : function(msg) {\r\n APP.toast.push({\r\n theme : 'default',\r\n icon : '',\r\n msg : msg\r\n });\r\n },\r\n error : function(msg) {\r\n APP.toast.push({\r\n theme : 'danger',\r\n icon : '',\r\n msg : msg\r\n });\r\n },\r\n success: function(msg) {\r\n APP.toast.push({\r\n theme : 'success',\r\n icon : '',\r\n msg : msg\r\n })\r\n }\r\n};","var faq = {};\r\nfaq.form = function(fac_idx, faq_idx)\r\n{\r\n var faq_idx = (typeof faq_idx == 'string' || typeof faq_idx == 'number' ) ? faq_idx : null;\r\n var fac_idx = (typeof fac_idx == 'string' || typeof fac_idx == 'number' ) ? fac_idx : null;\r\n if(! fac_idx) {\r\n alert('FAQ 분류 정보가 없습니다.');\r\n return false;\r\n }\r\n\r\n APP.MODAL.open({\r\n width: 800,\r\n height :650,\r\n header : {\r\n title : faq_idx ? 'FAQ 정보 수정' : 'FAQ 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/management/faq_form',\r\n param : {\r\n fac_idx : fac_idx,\r\n faq_idx : faq_idx\r\n }\r\n }\r\n });\r\n};\r\nfaq.remove = function(faq_idx) {\r\n if(typeof faq_idx == 'undefined' || ! faq_idx || faq_idx.trim() == '') {\r\n alert('잘못된 접근입니다.');\r\n }\r\n\r\n if(! confirm('해당 FAQ를 삭제하시겠습니까?')) return false;\r\n\r\n $.ajax({\r\n url : '/ajax/faq/info',\r\n type : 'delete',\r\n async:false,\r\n cache:false,\r\n data:{faq_idx:faq_idx},\r\n success:function(res){\r\n alert('FAQ가 삭제되었습니다.');\r\n location.reload();\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * FAQ 분류\r\n * @type {{}}\r\n */\r\nfaq.category = {};\r\nfaq.category.form = function(fac_idx)\r\n{\r\n var fac_idx = (typeof fac_idx == 'string' || typeof fac_idx == 'number' ) ? fac_idx : null;\r\n APP.MODAL.open({\r\n width: $(window).width() > 600 ? 600 : $(window).width(),\r\n height :250,\r\n header : {\r\n title : fac_idx ? 'FAQ 분류 정보 수정' : 'FAQ 분류 추가'\r\n },\r\n callback : function(){\r\n location.reload();\r\n },\r\n iframe : {\r\n method : 'get',\r\n url : '/admin/management/faq_category_form',\r\n param : {\r\n fac_idx : fac_idx\r\n }\r\n }\r\n });\r\n};\r\nfaq.category.exist = function(fac_idx) {\r\n if(typeof fac_idx == 'undefined' || ! fac_idx || fac_idx.trim() == '') return false;\r\n var result = false;\r\n $.ajax({\r\n url : '/ajax/faq/category',\r\n type:'get',\r\n async:false,\r\n cache:false,\r\n data:{fac_idx:fac_idx},\r\n success:function (res) {\r\n result = !(res && typeof res.fac_idx != 'undefined' && res.fac_idx);\r\n }\r\n });\r\n return result;\r\n};\r\nfaq.category.remove = function(fac_idx) {\r\n if(typeof fac_idx == 'undefined' || ! fac_idx || fac_idx.trim() == '') {\r\n alert('잘못된 접근입니다.');\r\n }\r\n var count = 0;\r\n $.ajax({\r\n url : '/ajax/faq/lists',\r\n type : 'get',\r\n async:false,\r\n cache: false,\r\n data : {fac_idx:fac_idx},\r\n success:function(res){\r\n count = res.total_count;\r\n }\r\n });\r\n\r\n var msg = ( count > 0 ) ? '해당 FAQ 분류에 ' + count + '개의 FAQ 목록이 등록되어 있습니다.\\nFAQ 분류을 삭제할시 등록된 FAQ 목록도 같이 삭제됩니다.\\n\\n계속 하시겠습니까?' : 'FAQ 분류을 삭제하시겠습니까?';\r\n if(! confirm(msg)) return false;\r\n\r\n $.ajax({\r\n url : '/ajax/faq/category',\r\n type : 'delete',\r\n async:false,\r\n cache:false,\r\n data:{fac_idx:fac_idx},\r\n success:function(res){\r\n alert('FAQ 분류가 삭제되었습니다.');\r\n location.href= base_url + \"/admin/management/faq\";\r\n }\r\n });\r\n};\r\n\r\n\r\n"],"file":"admin.min.js"} \ No newline at end of file diff --git a/wheeparam/application/controllers/admin/Members.php b/wheeparam/application/controllers/admin/Members.php index 3aed368..9b2d43d 100644 --- a/wheeparam/application/controllers/admin/Members.php +++ b/wheeparam/application/controllers/admin/Members.php @@ -32,9 +32,18 @@ class Members extends WB_Controller { { $this->load->model('member_model'); + $this->data['sdate'] = $this->input->get('sdate', TRUE); + $this->data['startdate'] = $this->input->get('startdate', TRUE); + $this->data['enddate'] = $this->input->get('enddate', TRUE); + + if( $this->data['sdate'] && $this->data['startdate'] ) $param['where']['mem_' . $this->data['sdate'] . ' >=' ] = $this->data['startdate'] . " 00:00:00"; + if( $this->data['sdate'] && $this->data['enddate'] ) $param['where']['mem_' . $this->data['sdate'] . ' <=' ] = $this->data['enddate'] . " 23:59:59"; + + // 정보 넣기 $param['page'] = $this->input->get('page', TRUE, 1); $param['page_rows'] = 20; + $param['limit'] = TRUE; // 회원목록 가져오기 $this->data['member_list'] = $this->member_model->member_list($param); diff --git a/wheeparam/views/themes/admin/members/lists.php b/wheeparam/views/themes/admin/members/lists.php index f471c42..a3924ad 100644 --- a/wheeparam/views/themes/admin/members/lists.php +++ b/wheeparam/views/themes/admin/members/lists.php @@ -13,17 +13,17 @@
      기간 검색
      - +
      - +