From 9e274bf328997b3793cca2305db85d2641ee6200 Mon Sep 17 00:00:00 2001 From: E98Developer Date: Wed, 25 Mar 2026 22:05:50 +0100 Subject: [PATCH] some navigation fix --- .gitignore | 1 + public/css/app.css | 26805 +--------------------------------- public/js/admin.js.map | 2 +- public/js/app.js.map | 2 +- public/js/components.js.map | 2 +- public/js/module.js.map | 2 +- public/mix-manifest.json | 28 +- 7 files changed, 49 insertions(+), 26793 deletions(-) diff --git a/.gitignore b/.gitignore index 5106c6d..ec426c8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ Homestead.yaml Thumbs.db /storage/tmp/ /public/images/supplierLogo/ +/public/attachments/ diff --git a/public/css/app.css b/public/css/app.css index 32a9473..868e4ee 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -7,94 +7,7 @@ * https://jquery.org/license * * https://api.jqueryui.com/category/theming/ - */ - -/* Layout helpers -----------------------------------*/ -.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:before, -.ui-helper-clearfix:after { - 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; -} - -.ui-front { - z-index: 100; -} - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { - cursor: default !important; - pointer-events: none; -} - - -/* Icons -----------------------------------*/ -.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; -} - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - + */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{border:0;font-size:100%;line-height:1.3;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{border-collapse:collapse;content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{background-repeat:no-repeat;display:inline-block;margin-top:-.25em;overflow:hidden;position:relative;text-indent:-99999px;vertical-align:middle}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}.ui-widget-overlay{height:100%;left:0;position:fixed;top:0;width:100%} /*! * jQuery UI Accordion 1.14.2 * https://jqueryui.com @@ -104,21 +17,7 @@ .ui-widget-overlay { * https://jquery.org/license * * https://api.jqueryui.com/accordion/#theming - */ -.ui-accordion .ui-accordion-header { - display: block; - cursor: pointer; - position: relative; - margin: 2px 0 0 0; - padding: .5em .5em .5em .7em; - font-size: 100%; -} -.ui-accordion .ui-accordion-content { - padding: 1em 2.2em; - border-top: 0; - overflow: auto; -} - + */.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:100%;margin:2px 0 0;padding:.5em .5em .5em .7em;position:relative}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1em 2.2em} /*! * jQuery UI Autocomplete 1.14.2 * https://jqueryui.com @@ -128,14 +27,7 @@ .ui-accordion .ui-accordion-content { * https://jquery.org/license * * https://api.jqueryui.com/autocomplete/#theming - */ -.ui-autocomplete { - position: absolute; - top: 0; - left: 0; - cursor: default; -} - + */.ui-autocomplete{cursor:default;left:0;position:absolute;top:0} /*! * jQuery UI Button 1.14.2 * https://jqueryui.com @@ -145,76 +37,7 @@ .ui-autocomplete { * https://jquery.org/license * * https://api.jqueryui.com/button/#theming - */ -.ui-button { - padding: .4em 1em; - display: inline-block; - position: relative; - line-height: normal; - margin-right: .1em; - cursor: pointer; - vertical-align: middle; - text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.ui-button, -.ui-button:link, -.ui-button:visited, -.ui-button:hover, -.ui-button:active { - text-decoration: none; -} - -/* to make room for the icon, a width needs to be set here */ -.ui-button-icon-only { - width: 2em; - box-sizing: border-box; - text-indent: -9999px; - white-space: nowrap; -} - -/* no icon support for input elements */ -input.ui-button.ui-button-icon-only { - text-indent: 0; -} - -/* button icon element(s) */ -.ui-button-icon-only .ui-icon { - position: absolute; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; -} - -.ui-button.ui-icon-notext .ui-icon { - padding: 0; - width: 2.1em; - height: 2.1em; - text-indent: -9999px; - white-space: nowrap; - -} - -input.ui-button.ui-icon-notext .ui-icon { - width: auto; - height: auto; - text-indent: 0; - white-space: normal; - padding: .4em 1em; -} - -/* workarounds */ -/* Support: Firefox 5 - 125+ */ -input.ui-button::-moz-focus-inner, -button.ui-button::-moz-focus-inner { - border: 0; - padding: 0; -} - + */.ui-button{cursor:pointer;display:inline-block;line-height:normal;margin-right:.1em;padding:.4em 1em;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{height:2.1em;padding:0;text-indent:-9999px;white-space:nowrap;width:2.1em}input.ui-button.ui-icon-notext .ui-icon{height:auto;padding:.4em 1em;text-indent:0;white-space:normal;width:auto}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0} /*! * jQuery UI Checkboxradio 1.14.2 * https://jqueryui.com @@ -224,32 +47,7 @@ button.ui-button::-moz-focus-inner { * https://jquery.org/license * * https://api.jqueryui.com/checkboxradio/#theming - */ - -.ui-checkboxradio-label .ui-icon-background { - box-shadow: inset 1px 1px 1px #ccc; - border-radius: .12em; - border: none; -} -.ui-checkboxradio-radio-label .ui-icon-background { - width: 16px; - height: 16px; - border-radius: 1em; - overflow: visible; - border: none; -} -.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, -.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { - background-image: none; - width: 8px; - height: 8px; - border-width: 4px; - border-style: solid; -} -.ui-checkboxradio-disabled { - pointer-events: none; -} - + */.ui-checkboxradio-label .ui-icon-background{border:none;border-radius:.12em;box-shadow:inset 1px 1px 1px #ccc}.ui-checkboxradio-radio-label .ui-icon-background{border:none;border-radius:1em;height:16px;overflow:visible;width:16px}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;border-style:solid;border-width:4px;height:8px;width:8px}.ui-checkboxradio-disabled{pointer-events:none} /*! * jQuery UI Controlgroup 1.14.2 * https://jqueryui.com @@ -259,60 +57,7 @@ .ui-checkboxradio-disabled { * https://jquery.org/license * * https://api.jqueryui.com/controlgroup/#theming - */ - -.ui-controlgroup { - vertical-align: middle; - display: inline-block; -} -.ui-controlgroup > .ui-controlgroup-item { - float: left; - margin-left: 0; - margin-right: 0; -} -.ui-controlgroup > .ui-controlgroup-item:focus, -.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { - z-index: 9999; -} -.ui-controlgroup-vertical > .ui-controlgroup-item { - display: block; - float: none; - width: 100%; - margin-top: 0; - margin-bottom: 0; - text-align: left; -} -.ui-controlgroup-vertical .ui-controlgroup-item { - box-sizing: border-box; -} -.ui-controlgroup .ui-controlgroup-label { - padding: .4em 1em; -} -.ui-controlgroup .ui-controlgroup-label span { - font-size: 80%; -} -.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { - border-left: none; -} -.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { - border-top: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { - border-right: none; -} -.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { - border-bottom: none; -} - -/* Spinner specific style fixes */ -.ui-controlgroup-vertical .ui-spinner-input { - width: calc( 100% - 2.4em ); -} -.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { - border-top-style: solid; -} - - + */.ui-controlgroup{display:inline-block;vertical-align:middle}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus,.ui-controlgroup>.ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;margin-bottom:0;margin-top:0;text-align:left;width:100%}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid} /*! * jQuery UI Datepicker 1.14.2 * https://jqueryui.com @@ -322,183 +67,7 @@ .ui-controlgroup-vertical .ui-spinner .ui-spinner-up { * https://jquery.org/license * * https://api.jqueryui.com/datepicker/#theming - */ -.ui-datepicker { - width: 17em; - padding: .2em .2em 0; - display: none; -} -.ui-datepicker .ui-datepicker-header { - position: relative; - padding: .2em 0; -} -.ui-datepicker .ui-datepicker-prev, -.ui-datepicker .ui-datepicker-next { - position: absolute; - top: 2px; - width: 1.8em; - height: 1.8em; -} -.ui-datepicker .ui-datepicker-prev-hover, -.ui-datepicker .ui-datepicker-next-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-prev span, -.ui-datepicker .ui-datepicker-next 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: bold; - border: 0; -} -.ui-datepicker td { - border: 0; - padding: 1px; -} -.ui-datepicker td span, -.ui-datepicker td a { - 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; -} - -/* with multiple calendars */ -.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; -} - -/* RTL support */ -.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; -} - -/* Icons */ -.ui-datepicker .ui-icon { - display: block; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; - left: .5em; - top: .3em; -} - + */.ui-datepicker{display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{height:1.8em;position:absolute;top:2px;width: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;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-title{line-height:1.8em;margin:0 2.3em;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{border-collapse:collapse;font-size:.9em;margin:0 0 .4em;width:100%}.ui-datepicker th{border:0;font-weight:700;padding:.7em .3em;text-align:center}.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;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .2em .4em;overflow:visible;padding:.2em .6em .3em;width:auto}.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{margin:0 auto .4em;width:95%}.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;font-size:0;width:100%}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{left:auto;right:2px}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{left:auto;right:1px}.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-left-width:1px;border-right-width:0}.ui-datepicker .ui-icon{background-repeat:no-repeat;display:block;left:.5em;overflow:hidden;text-indent:-99999px;top:.3em} /*! * jQuery UI Dialog 1.14.2 * https://jqueryui.com @@ -508,99 +77,7 @@ .ui-datepicker .ui-icon { * https://jquery.org/license * * https://api.jqueryui.com/dialog/#theming - */ -.ui-dialog { - position: absolute; - top: 0; - left: 0; - padding: .2em; - outline: 0; -} -.ui-dialog .ui-dialog-titlebar { - padding: .4em 1em; - position: relative; -} -.ui-dialog .ui-dialog-title { - float: left; - margin: .1em 0; - white-space: nowrap; - width: 90%; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-dialog .ui-dialog-titlebar-close { - position: absolute; - right: .3em; - top: 50%; - width: 20px; - margin: -10px 0 0 0; - padding: 1px; - height: 20px; -} -.ui-dialog .ui-dialog-content { - position: relative; - border: 0; - padding: .5em 1em; - background: none; - overflow: auto; -} -.ui-dialog .ui-dialog-buttonpane { - text-align: left; - border-width: 1px 0 0 0; - background-image: none; - margin-top: .5em; - padding: .3em 1em .5em .4em; -} -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: right; -} -.ui-dialog .ui-dialog-buttonpane button { - margin: .5em .4em .5em 0; - cursor: pointer; -} -.ui-dialog .ui-resizable-n { - height: 2px; - top: 0; -} -.ui-dialog .ui-resizable-e { - width: 2px; - right: 0; -} -.ui-dialog .ui-resizable-s { - height: 2px; - bottom: 0; -} -.ui-dialog .ui-resizable-w { - width: 2px; - left: 0; -} -.ui-dialog .ui-resizable-se, -.ui-dialog .ui-resizable-sw, -.ui-dialog .ui-resizable-ne, -.ui-dialog .ui-resizable-nw { - width: 7px; - height: 7px; -} -.ui-dialog .ui-resizable-se { - right: 0; - bottom: 0; -} -.ui-dialog .ui-resizable-sw { - left: 0; - bottom: 0; -} -.ui-dialog .ui-resizable-ne { - right: 0; - top: 0; -} -.ui-dialog .ui-resizable-nw { - left: 0; - top: 0; -} -.ui-draggable .ui-dialog-titlebar { - cursor: move; -} - + */.ui-dialog{left:0;outline:0;padding:.2em;position:absolute;top:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:20px}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin-top:.5em;padding:.3em 1em .5em .4em;text-align:left}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em .4em .5em 0}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{right:0;width:2px}.ui-dialog .ui-resizable-s{bottom:0;height:2px}.ui-dialog .ui-resizable-w{left:0;width:2px}.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw,.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw{height:7px;width:7px}.ui-dialog .ui-resizable-se{bottom:0;right:0}.ui-dialog .ui-resizable-sw{bottom:0;left:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move} /*! * jQuery UI Draggable 1.14.2 * https://jqueryui.com @@ -608,11 +85,7 @@ .ui-draggable .ui-dialog-titlebar { * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license - */ -.ui-draggable-handle { - touch-action: none; -} - + */.ui-draggable-handle{touch-action:none} /*! * jQuery UI Menu 1.14.2 * https://jqueryui.com @@ -622,60 +95,7 @@ .ui-draggable-handle { * https://jquery.org/license * * https://api.jqueryui.com/menu/#theming - */ -.ui-menu { - list-style: none; - padding: 0; - margin: 0; - display: block; - outline: 0; -} -.ui-menu .ui-menu { - position: absolute; -} -.ui-menu .ui-menu-item { - margin: 0; - cursor: pointer; -} -.ui-menu .ui-menu-item-wrapper { - position: relative; - padding: 3px 1em 3px .4em; -} -.ui-menu .ui-menu-divider { - margin: 5px 0; - height: 0; - font-size: 0; - line-height: 0; - border-width: 1px 0 0 0; -} -.ui-menu .ui-state-focus, -.ui-menu .ui-state-active { - margin: -1px; -} - -/* icon support */ -.ui-menu-icons { - position: relative; -} -.ui-menu-icons .ui-menu-item-wrapper { - padding-left: 2em; -} - -/* left-aligned */ -.ui-menu .ui-icon { - position: absolute; - top: 0; - bottom: 0; - left: .2em; - margin: auto 0; -} - -/* right-aligned */ -.ui-menu .ui-menu-icon { - left: auto; - right: 0; -} - + */.ui-menu{display:block;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;margin:0}.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px .4em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0;font-size:0;height:0;line-height:0;margin:5px 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{bottom:0;left:.2em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0} /*! * jQuery UI Progressbar 1.14.2 * https://jqueryui.com @@ -685,25 +105,7 @@ .ui-menu .ui-menu-icon { * https://jquery.org/license * * https://api.jqueryui.com/progressbar/#theming - */ -.ui-progressbar { - height: 2em; - text-align: left; - overflow: hidden; -} -.ui-progressbar .ui-progressbar-value { - margin: -1px; - height: 100%; -} -.ui-progressbar .ui-progressbar-overlay { - background: url("data:image/gif;base64,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"); - height: 100%; - opacity: 0.25; -} -.ui-progressbar-indeterminate .ui-progressbar-value { - background-image: none; -} - + */.ui-progressbar{height:2em;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{height:100%;margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");height:100%;opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none} /*! * jQuery UI Resizable 1.14.2 * https://jqueryui.com @@ -711,77 +113,7 @@ .ui-progressbar-indeterminate .ui-progressbar-value { * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license - */ -.ui-resizable { - position: relative; -} -.ui-resizable-handle { - position: absolute; - font-size: 0.1px; - display: block; - touch-action: none; -} -.ui-resizable-disabled .ui-resizable-handle, -.ui-resizable-autohide .ui-resizable-handle { - display: none; -} -.ui-resizable-n { - cursor: n-resize; - height: 7px; - width: 100%; - top: -5px; - left: 0; -} -.ui-resizable-s { - cursor: s-resize; - height: 7px; - width: 100%; - bottom: -5px; - left: 0; -} -.ui-resizable-e { - cursor: e-resize; - width: 7px; - right: -5px; - top: 0; - height: 100%; -} -.ui-resizable-w { - cursor: w-resize; - width: 7px; - left: -5px; - top: 0; - height: 100%; -} -.ui-resizable-se { - cursor: se-resize; - width: 12px; - height: 12px; - right: 1px; - bottom: 1px; -} -.ui-resizable-sw { - cursor: sw-resize; - width: 9px; - height: 9px; - left: -5px; - bottom: -5px; -} -.ui-resizable-nw { - cursor: nw-resize; - width: 9px; - height: 9px; - left: -5px; - top: -5px; -} -.ui-resizable-ne { - cursor: ne-resize; - width: 9px; - height: 9px; - right: -5px; - top: -5px; -} - + */.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px} /*! * jQuery UI Selectable 1.14.2 * https://jqueryui.com @@ -789,16 +121,7 @@ .ui-resizable-ne { * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license - */ -.ui-selectable { - touch-action: none; -} -.ui-selectable-helper { - position: absolute; - z-index: 100; - border: 1px dotted black; -} - + */.ui-selectable{touch-action:none}.ui-selectable-helper{border:1px dotted #000;position:absolute;z-index:100} /*! * jQuery UI Selectmenu 1.14.2 * https://jqueryui.com @@ -808,48 +131,7 @@ .ui-selectable-helper { * https://jquery.org/license * * https://api.jqueryui.com/selectmenu/#theming - */ -.ui-selectmenu-menu { - padding: 0; - margin: 0; - position: absolute; - top: 0; - left: 0; - display: none; -} -.ui-selectmenu-menu .ui-menu { - overflow: auto; - overflow-x: hidden; - padding-bottom: 1px; -} -.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { - font-size: 1em; - font-weight: bold; - line-height: 1.5; - padding: 2px 0.4em; - margin: 0.5em 0 0 0; - height: auto; - border: 0; -} -.ui-selectmenu-open { - display: block; -} -.ui-selectmenu-text { - display: block; - margin-right: 20px; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-selectmenu-button.ui-button { - text-align: left; - white-space: nowrap; - width: 14em; -} -.ui-selectmenu-icon.ui-icon { - float: right; - margin-top: 0; -} - + */.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border:0;font-size:1em;font-weight:700;height:auto;line-height:1.5;margin:.5em 0 0;padding:2px .4em}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0} /*! * jQuery UI Sortable 1.14.2 * https://jqueryui.com @@ -857,11 +139,7 @@ .ui-selectmenu-icon.ui-icon { * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license - */ -.ui-sortable-handle { - touch-action: none; -} - + */.ui-sortable-handle{touch-action:none} /*! * jQuery UI Slider 1.14.2 * https://jqueryui.com @@ -871,66 +149,7 @@ .ui-sortable-handle { * https://jquery.org/license * * https://api.jqueryui.com/slider/#theming - */ -.ui-slider { - position: relative; - text-align: left; -} -.ui-slider .ui-slider-handle { - position: absolute; - z-index: 2; - width: 1.2em; - height: 1.2em; - cursor: pointer; - touch-action: none; -} -.ui-slider .ui-slider-range { - position: absolute; - z-index: 1; - font-size: .7em; - display: block; - border: 0; - background-position: 0 0; -} - -.ui-slider-horizontal { - height: .8em; -} -.ui-slider-horizontal .ui-slider-handle { - top: -.3em; - margin-left: -.6em; -} -.ui-slider-horizontal .ui-slider-range { - top: 0; - height: 100%; -} -.ui-slider-horizontal .ui-slider-range-min { - left: 0; -} -.ui-slider-horizontal .ui-slider-range-max { - right: 0; -} - -.ui-slider-vertical { - width: .8em; - height: 100px; -} -.ui-slider-vertical .ui-slider-handle { - left: -.3em; - margin-left: 0; - margin-bottom: -.6em; -} -.ui-slider-vertical .ui-slider-range { - left: 0; - width: 100%; -} -.ui-slider-vertical .ui-slider-range-min { - bottom: 0; -} -.ui-slider-vertical .ui-slider-range-max { - top: 0; -} - + */.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{cursor:pointer;height:1.2em;position:absolute;touch-action:none;width:1.2em;z-index:2}.ui-slider .ui-slider-range{background-position:0 0;border:0;display:block;font-size:.7em;position:absolute;z-index:1}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{margin-left:-.6em;top:-.3em}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:.8em}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-bottom:-.6em;margin-left:0}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0} /*! * jQuery UI Spinner 1.14.2 * https://jqueryui.com @@ -940,50 +159,7 @@ .ui-slider-vertical .ui-slider-range-max { * https://jquery.org/license * * https://api.jqueryui.com/spinner/#theming - */ -.ui-spinner { - position: relative; - display: inline-block; - overflow: hidden; - padding: 0; - vertical-align: middle; -} -.ui-spinner-input { - border: none; - background: none; - color: inherit; - padding: .222em 0; - margin: .2em 0; - vertical-align: middle; - margin-left: .4em; - margin-right: 2em; -} -.ui-spinner-button { - width: 1.6em; - height: 50%; - font-size: .5em; - padding: 0; - margin: 0; - text-align: center; - position: absolute; - cursor: default; - display: block; - overflow: hidden; - right: 0; -} -/* more specificity required here to override default borders */ -.ui-spinner a.ui-spinner-button { - border-top-style: none; - border-bottom-style: none; - border-right-style: none; -} -.ui-spinner-up { - top: 0; -} -.ui-spinner-down { - bottom: 0; -} - + */.ui-spinner{display:inline-block;overflow:hidden;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{background:none;border:none;color:inherit;margin:.2em 2em .2em .4em;padding:.222em 0;vertical-align:middle}.ui-spinner-button{cursor:default;display:block;font-size:.5em;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;width:1.6em}.ui-spinner a.ui-spinner-button{border-bottom-style:none;border-right-style:none;border-top-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0} /*! * jQuery UI Tabs 1.14.2 * https://jqueryui.com @@ -993,49 +169,7 @@ .ui-spinner-down { * https://jquery.org/license * * https://api.jqueryui.com/tabs/#theming - */ -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} -.ui-tabs .ui-tabs-nav { - margin: 0; - padding: .2em .2em 0; -} -.ui-tabs .ui-tabs-nav li { - list-style: none; - float: left; - position: relative; - top: 0; - margin: 1px .2em 0 0; - border-bottom-width: 0; - padding: 0; - white-space: nowrap; -} -.ui-tabs .ui-tabs-nav .ui-tabs-anchor { - float: left; - padding: .5em 1em; - text-decoration: none; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - margin-bottom: -1px; - padding-bottom: 1px; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { - cursor: text; -} -.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { - cursor: pointer; -} -.ui-tabs .ui-tabs-panel { - display: block; - border-width: 0; - padding: 1em 1.4em; - background: none; -} - + */.ui-tabs{padding:.2em;position:relative}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{border-bottom-width:0;float:left;list-style:none;margin:1px .2em 0 0;padding:0;position:relative;top:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{background:none;border-width:0;display:block;padding:1em 1.4em} /*! * jQuery UI Tooltip 1.14.2 * https://jqueryui.com @@ -1045,17 +179,7 @@ .ui-tabs .ui-tabs-panel { * https://jquery.org/license * * https://api.jqueryui.com/tooltip/#theming - */ -.ui-tooltip { - padding: 8px; - position: absolute; - z-index: 9999; - max-width: 300px; -} -body .ui-tooltip { - border-width: 2px; -} - + */.ui-tooltip{max-width:300px;padding:8px;position:absolute;z-index:9999}body .ui-tooltip{border-width:2px} /*! * jQuery UI CSS Framework 1.14.2 * https://jqueryui.com @@ -1066,7 +190,6 @@ body .ui-tooltip { * * https://api.jqueryui.com/category/theming/ */ - /*! * jQuery UI CSS Framework 1.14.2 * https://jqueryui.com @@ -1078,435 +201,7 @@ body .ui-tooltip { * https://api.jqueryui.com/category/theming/ * * To view and modify this theme, visit https://jqueryui.com/themeroller/ - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: Arial,Helvetica,sans-serif/*{ffDefault}*/; - font-size: 1em/*{fsDefault}*/; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: Arial,Helvetica,sans-serif/*{ffDefault}*/; - font-size: 1em; -} -.ui-widget.ui-widget-content { - border: 1px solid #c5c5c5/*{borderColorDefault}*/; -} -.ui-widget-content { - border: 1px solid #dddddd/*{borderColorContent}*/; - background: #ffffff/*{bgColorContent}*/ /*{bgImgUrlContent}*/ /*{bgContentXPos}*/ /*{bgContentYPos}*/ /*{bgContentRepeat}*/; - color: #333333/*{fcContent}*/; -} -.ui-widget-content a { - color: #333333/*{fcContent}*/; -} -.ui-widget-header { - border: 1px solid #dddddd/*{borderColorHeader}*/; - background: #e9e9e9/*{bgColorHeader}*/ /*{bgImgUrlHeader}*/ /*{bgHeaderXPos}*/ /*{bgHeaderYPos}*/ /*{bgHeaderRepeat}*/; - color: #333333/*{fcHeader}*/; - font-weight: bold; -} -.ui-widget-header a { - color: #333333/*{fcHeader}*/; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default, -.ui-button, - -/* We use html here because we need a greater specificity to make sure disabled -works properly when clicked or hovered */ -html .ui-button.ui-state-disabled:hover, -html .ui-button.ui-state-disabled:active { - border: 1px solid #c5c5c5/*{borderColorDefault}*/; - background: #f6f6f6/*{bgColorDefault}*/ /*{bgImgUrlDefault}*/ /*{bgDefaultXPos}*/ /*{bgDefaultYPos}*/ /*{bgDefaultRepeat}*/; - font-weight: normal/*{fwDefault}*/; - color: #454545/*{fcDefault}*/; -} -.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, -.ui-button { - color: #454545/*{fcDefault}*/; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus, -.ui-button:hover, -.ui-button:focus { - border: 1px solid #cccccc/*{borderColorHover}*/; - background: #ededed/*{bgColorHover}*/ /*{bgImgUrlHover}*/ /*{bgHoverXPos}*/ /*{bgHoverYPos}*/ /*{bgHoverRepeat}*/; - font-weight: normal/*{fwDefault}*/; - color: #2b2b2b/*{fcHover}*/; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited, -a.ui-button:hover, -a.ui-button:focus { - color: #2b2b2b/*{fcHover}*/; - text-decoration: none; -} - -.ui-visual-focus { - box-shadow: 0 0 3px 1px rgb(94, 158, 214); -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active, -a.ui-button:active, -.ui-button:active, -.ui-button.ui-state-active:hover { - border: 1px solid #003eff/*{borderColorActive}*/; - background: #007fff/*{bgColorActive}*/ /*{bgImgUrlActive}*/ /*{bgActiveXPos}*/ /*{bgActiveYPos}*/ /*{bgActiveRepeat}*/; - font-weight: normal/*{fwDefault}*/; - color: #ffffff/*{fcActive}*/; -} -.ui-icon-background, -.ui-state-active .ui-icon-background { - border: #003eff/*{borderColorActive}*/; - background-color: #ffffff/*{fcActive}*/; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #ffffff/*{fcActive}*/; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #dad55e/*{borderColorHighlight}*/; - background: #fffa90/*{bgColorHighlight}*/ /*{bgImgUrlHighlight}*/ /*{bgHighlightXPos}*/ /*{bgHighlightYPos}*/ /*{bgHighlightRepeat}*/; - color: #777620/*{fcHighlight}*/; -} -.ui-state-checked { - border: 1px solid #dad55e/*{borderColorHighlight}*/; - background: #fffa90/*{bgColorHighlight}*/; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #777620/*{fcHighlight}*/; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #f1a899/*{borderColorError}*/; - background: #fddfdf/*{bgColorError}*/ /*{bgImgUrlError}*/ /*{bgErrorXPos}*/ /*{bgErrorYPos}*/ /*{bgErrorRepeat}*/; - color: #5f3f3f/*{fcError}*/; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #5f3f3f/*{fcError}*/; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #5f3f3f/*{fcError}*/; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - background-image: none; -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_444444_256x240.png?d1b818587c3bc65058fe43800e4a191c)/*{iconsContent}*/; -} -.ui-widget-header .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_444444_256x240.png?d1b818587c3bc65058fe43800e4a191c)/*{iconsHeader}*/; -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon, -.ui-button:hover .ui-icon, -.ui-button:focus .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_555555_256x240.png?35d57320d9df28ec0d0d8bd1b5c75983)/*{iconsHover}*/; -} -.ui-state-active .ui-icon, -.ui-button:active .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_ffffff_256x240.png?92bef7e45fed3caba8dc9348edef4df2)/*{iconsActive}*/; -} -.ui-state-highlight .ui-icon, -.ui-button .ui-state-highlight.ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_777620_256x240.png?f423048bf942a7a33b33b1b982ecdb51)/*{iconsHighlight}*/; -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_cc0000_256x240.png?5cbbd560bcf30acb95dd3b0b0d61645a)/*{iconsError}*/; -} -.ui-button .ui-icon { - background-image: url(/images/vendor/jquery-ui/themes/base/ui-icons_777777_256x240.png?f5d5fce2f36b5776eab8b314efc2dfd8)/*{iconsDefault}*/; -} - -/* positioning */ -/* Three classes needed to override `.ui-button:hover .ui-icon` */ -.ui-icon-blank.ui-icon-blank.ui-icon-blank { - background-image: none; -} -.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 is deprecated, use ui-icon-seek-start instead */ -.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; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 3px/*{cornerRadius}*/; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 3px/*{cornerRadius}*/; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 3px/*{cornerRadius}*/; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 3px/*{cornerRadius}*/; -} - -/* Overlays */ -.ui-widget-overlay { - background: #aaaaaa/*{bgColorOverlay}*/ /*{bgImgUrlOverlay}*/ /*{bgOverlayXPos}*/ /*{bgOverlayYPos}*/ /*{bgOverlayRepeat}*/; - opacity: .3/*{opacityOverlay}*/; -} -.ui-widget-shadow { - box-shadow: 0/*{offsetLeftShadow}*/ 0/*{offsetTopShadow}*/ 5px/*{thicknessShadow}*/ #666666/*{bgColorShadow}*/; -} - + */.ui-widget{font-family:Arial,Helvetica,sans-serif}.ui-widget,.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{background:#fff;border:1px solid #ddd;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{background:#e9e9e9;border:1px solid #ddd;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{background:#f6f6f6;border:1px solid #c5c5c5;color:#454545;font-weight:400}.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{background:#ededed;border:1px solid #ccc;color:#2b2b2b;font-weight:400}.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{background:#007fff;border:1px solid #003eff;color:#fff;font-weight:400}.ui-icon-background,.ui-state-active .ui-icon-background{background-color:#fff;border:#003eff}.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{background:#fffa90;border:1px solid #dad55e;color:#777620}.ui-state-checked{background:#fffa90;border:1px solid #dad55e}.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{background:#fddfdf;border:1px solid #f1a899;color:#5f3f3f}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.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{font-weight:400;opacity:.7}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{background-image:none;opacity:.35}.ui-icon{height:16px;width:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_444444_256x240.png?d1b818587c3bc65058fe43800e4a191c)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_555555_256x240.png?35d57320d9df28ec0d0d8bd1b5c75983)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_ffffff_256x240.png?92bef7e45fed3caba8dc9348edef4df2)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_777620_256x240.png?f423048bf942a7a33b33b1b982ecdb51)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_cc0000_256x240.png?5cbbd560bcf30acb95dd3b0b0d61645a)}.ui-button .ui-icon{background-image:url(/images/vendor/jquery-ui/themes/base/ui-icons_777777_256x240.png?f5d5fce2f36b5776eab8b314efc2dfd8)}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.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-first,.ui-icon-seek-start{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}.ui-widget-shadow{box-shadow:0 0 5px #666} /*! * jQuery UI CSS Framework 1.14.2 * https://jqueryui.com @@ -1517,7 +212,6 @@ .ui-widget-shadow { * * https://api.jqueryui.com/category/theming/ */ - /*! * jQuery UI CSS Framework 1.12.0 * http://jqueryui.com @@ -1529,25476 +223,37 @@ .ui-widget-shadow { * http://api.jqueryui.com/category/theming/ * * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=ffffff&bgTextureHeader=fine_grain&bgImgOpacityHeader=15&borderColorHeader=d4d1bf&fcHeader=453821&iconColorHeader=b83400&bgColorContent=eceadf&bgTextureContent=fine_grain&bgImgOpacityContent=10&borderColorContent=d9d6c4&fcContent=1f1f1f&iconColorContent=222222&bgColorDefault=f8f7f6&bgTextureDefault=fine_grain&bgImgOpacityDefault=10&borderColorDefault=cbc7bd&fcDefault=654b24&iconColorDefault=b83400&bgColorHover=654b24&bgTextureHover=fine_grain&bgImgOpacityHover=65&borderColorHover=654b24&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=eceadf&bgTextureActive=fine_grain&bgImgOpacityActive=15&borderColorActive=d9d6c4&fcActive=140f06&iconColorActive=8c291d&bgColorHighlight=f7f3de&bgTextureHighlight=fine_grain&bgImgOpacityHighlight=15&borderColorHighlight=b2a266&fcHighlight=3a3427&iconColorHighlight=3572ac&bgColorError=b83400&bgTextureError=fine_grain&bgImgOpacityError=68&borderColorError=681818&fcError=ffffff&iconColorError=fbdb93&bgColorOverlay=6e4f1c&bgTextureOverlay=diagonal_maze&bgImgOpacityOverlay=20&opacityOverlay=60&bgColorShadow=000000&bgTextureShadow=diagonal_maze&bgImgOpacityShadow=40&opacityShadow=60&thicknessShadow=5px&offsetTopShadow=0&offsetLeftShadow=-10px&cornerRadiusShadow=18px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; - font-size: 1.1em; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; - font-size: 1em; -} -.ui-widget.ui-widget-content { - border: 1px solid #cbc7bd; -} -.ui-widget-content { - border: 1px solid #d9d6c4; - background: #eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png?fcf8539b586ee18bcdea1755486148fb) 50% 50% repeat; - color: #1f1f1f; -} -.ui-widget-content a { - color: #1f1f1f; -} -.ui-widget-header { - border: 1px solid #d4d1bf; - background: #ffffff url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png?c514e7ba7589d0f49ac63c298fcdae5e) 50% 50% repeat; - color: #453821; - font-weight: bold; -} -.ui-widget-header a { - color: #453821; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default, -.ui-button, - -/* We use html here because we need a greater specificity to make sure disabled -works properly when clicked or hovered */ -html .ui-button.ui-state-disabled:hover, -html .ui-button.ui-state-disabled:active { - border: 1px solid #cbc7bd; - background: #f8f7f6 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png?2999b2509cfc0da9d2638ce9f892d541) 50% 50% repeat; - font-weight: bold; - color: #654b24; -} -.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, -.ui-button { - color: #654b24; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus, -.ui-button:hover, -.ui-button:focus { - border: 1px solid #654b24; - background: #654b24 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png?6a53536235d962916651e5ade810be9c) 50% 50% repeat; - font-weight: bold; - color: #ffffff; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited, -a.ui-button:hover, -a.ui-button:focus { - color: #ffffff; - text-decoration: none; -} - -.ui-visual-focus { - box-shadow: 0 0 3px 1px rgb(94, 158, 214); -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active, -a.ui-button:active, -.ui-button:active, -.ui-button.ui-state-active:hover { - border: 1px solid #d9d6c4; - background: #eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png?bb99362eb46ac5b5824fabbfe6271e29) 50% 50% repeat; - font-weight: bold; - color: #140f06; -} -.ui-icon-background, -.ui-state-active .ui-icon-background { - border: #d9d6c4; - background-color: #140f06; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #140f06; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #b2a266; - background: #f7f3de url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png?9d1facfcb89e21b78242e2eb8cbd491c) 50% 50% repeat; - color: #3a3427; -} -.ui-state-checked { - border: 1px solid #b2a266; - background: #f7f3de; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #3a3427; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #681818; - background: #b83400 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png?f786ff5070a9c8cde4f9b567fc84e004) 50% 50% repeat; - color: #ffffff; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #ffffff; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #ffffff; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - filter:Alpha(Opacity=70); /* support: IE8 */ - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - filter:Alpha(Opacity=35); /* support: IE8 */ - background-image: none; -} -.ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_222222_256x240.png?bcf1cdc9c7d1486173cc9aaa8b1fc77b); -} -.ui-widget-header .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824); -} -.ui-button .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon, -.ui-button:hover .ui-icon, -.ui-button:focus .ui-icon, -.ui-state-default .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_ffffff_256x240.png?fc616163e14c52dba5af7fdb573d2e64); -} -.ui-state-active .ui-icon, -.ui-button:active .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_8c291d_256x240.png?faf8dac1c3a19fa71b3349936071548b); -} -.ui-state-highlight .ui-icon, -.ui-button .ui-state-highlight.ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_3572ac_256x240.png?6b15e6e5507d972be2e15634d0f7bc82); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_fbdb93_256x240.png?aca518e5efefaf76c067ffb0e2438334); -} - -/* positioning */ -.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 is deprecated, use ui-icon-seek-start instead */ -.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; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 6px; -} - -/* Overlays */ -.ui-widget-overlay { - background: #6e4f1c url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png?bde4cdb5c33f6a9c1c25419a4732ad98) 50% 50% repeat; - opacity: .6; - filter: Alpha(Opacity=60); /* support: IE8 */ -} -.ui-widget-shadow { - box-shadow: -10px 0 5px #000000; -} - + */.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #cbc7bd}.ui-widget-content{background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png?fcf8539b586ee18bcdea1755486148fb) 50% 50% repeat;border:1px solid #d9d6c4;color:#1f1f1f}.ui-widget-content a{color:#1f1f1f}.ui-widget-header{background:#fff url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png?c514e7ba7589d0f49ac63c298fcdae5e) 50% 50% repeat;border:1px solid #d4d1bf;color:#453821;font-weight:700}.ui-widget-header a{color:#453821}.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{background:#f8f7f6 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png?2999b2509cfc0da9d2638ce9f892d541) 50% 50% repeat;border:1px solid #cbc7bd;color:#654b24;font-weight:700}.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:#654b24;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{background:#654b24 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png?6a53536235d962916651e5ade810be9c) 50% 50% repeat;border:1px solid #654b24;color:#fff;font-weight:700}.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:#fff;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{background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png?bb99362eb46ac5b5824fabbfe6271e29) 50% 50% repeat;border:1px solid #d9d6c4;color:#140f06;font-weight:700}.ui-icon-background,.ui-state-active .ui-icon-background{background-color:#140f06;border:#d9d6c4}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#f7f3de url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png?9d1facfcb89e21b78242e2eb8cbd491c) 50% 50% repeat;border:1px solid #b2a266;color:#3a3427}.ui-state-checked{background:#f7f3de;border:1px solid #b2a266}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#3a3427}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#b83400 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png?f786ff5070a9c8cde4f9b567fc84e004) 50% 50% repeat;border:1px solid #681818;color:#fff}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#fff}.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{filter:Alpha(Opacity=70);font-weight:400;opacity:.7}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{background-image:none;filter:Alpha(Opacity=35);opacity:.35}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{height:16px;width:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_222222_256x240.png?bcf1cdc9c7d1486173cc9aaa8b1fc77b)}.ui-button .ui-icon,.ui-widget-header .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-default .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_ffffff_256x240.png?fc616163e14c52dba5af7fdb573d2e64)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_8c291d_256x240.png?faf8dac1c3a19fa71b3349936071548b)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_3572ac_256x240.png?6b15e6e5507d972be2e15634d0f7bc82)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_fbdb93_256x240.png?aca518e5efefaf76c067ffb0e2438334)}.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-first,.ui-icon-seek-start{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:6px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:6px}.ui-widget-overlay{background:#6e4f1c url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png?bde4cdb5c33f6a9c1c25419a4732ad98) 50% 50% repeat;filter:Alpha(Opacity=60);opacity:.6}.ui-widget-shadow{box-shadow:-10px 0 5px #000} /*! jQuery UI - v1.12.0 - 2016-07-08 * http://jqueryui.com * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=ffffff&bgTextureHeader=fine_grain&bgImgOpacityHeader=15&borderColorHeader=d4d1bf&fcHeader=453821&iconColorHeader=b83400&bgColorContent=eceadf&bgTextureContent=fine_grain&bgImgOpacityContent=10&borderColorContent=d9d6c4&fcContent=1f1f1f&iconColorContent=222222&bgColorDefault=f8f7f6&bgTextureDefault=fine_grain&bgImgOpacityDefault=10&borderColorDefault=cbc7bd&fcDefault=654b24&iconColorDefault=b83400&bgColorHover=654b24&bgTextureHover=fine_grain&bgImgOpacityHover=65&borderColorHover=654b24&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=eceadf&bgTextureActive=fine_grain&bgImgOpacityActive=15&borderColorActive=d9d6c4&fcActive=140f06&iconColorActive=8c291d&bgColorHighlight=f7f3de&bgTextureHighlight=fine_grain&bgImgOpacityHighlight=15&borderColorHighlight=b2a266&fcHighlight=3a3427&iconColorHighlight=3572ac&bgColorError=b83400&bgTextureError=fine_grain&bgImgOpacityError=68&borderColorError=681818&fcError=ffffff&iconColorError=fbdb93&bgColorOverlay=6e4f1c&bgTextureOverlay=diagonal_maze&bgImgOpacityOverlay=20&opacityOverlay=60&bgColorShadow=000000&bgTextureShadow=diagonal_maze&bgImgOpacityShadow=40&opacityShadow=60&thicknessShadow=5px&offsetTopShadow=0&offsetLeftShadow=-10px&cornerRadiusShadow=18px -* Copyright jQuery Foundation and other contributors; Licensed MIT */ - -.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:before,.ui-helper-clearfix:after{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-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-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-prev span,.ui-datepicker .ui-datepicker-next 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:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{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-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #cbc7bd}.ui-widget-content{border:1px solid #d9d6c4;background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png?fcf8539b586ee18bcdea1755486148fb) 50% 50% repeat;color:#1f1f1f}.ui-widget-content a{color:#1f1f1f}.ui-widget-header{border:1px solid #d4d1bf;background:#fff url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png?c514e7ba7589d0f49ac63c298fcdae5e) 50% 50% repeat;color:#453821;font-weight:bold}.ui-widget-header a{color:#453821}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #cbc7bd;background:#f8f7f6 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png?2999b2509cfc0da9d2638ce9f892d541) 50% 50% repeat;font-weight:bold;color:#654b24}.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,.ui-button{color:#654b24;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #654b24;background:#654b24 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png?6a53536235d962916651e5ade810be9c) 50% 50% repeat;font-weight:bold;color:#fff}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#fff;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #d9d6c4;background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png?bb99362eb46ac5b5824fabbfe6271e29) 50% 50% repeat;font-weight:bold;color:#140f06}.ui-icon-background,.ui-state-active .ui-icon-background{border:#d9d6c4;background-color:#140f06}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #b2a266;background:#f7f3de url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png?9d1facfcb89e21b78242e2eb8cbd491c) 50% 50% repeat;color:#3a3427}.ui-state-checked{border:1px solid #b2a266;background:#f7f3de}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#3a3427}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #681818;background:#b83400 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png?f786ff5070a9c8cde4f9b567fc84e004) 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.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/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_222222_256x240.png?bcf1cdc9c7d1486173cc9aaa8b1fc77b)}.ui-widget-header .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824)}.ui-button .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon,.ui-state-default .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_ffffff_256x240.png?fc616163e14c52dba5af7fdb573d2e64)}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_8c291d_256x240.png?faf8dac1c3a19fa71b3349936071548b)}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_3572ac_256x240.png?6b15e6e5507d972be2e15634d0f7bc82)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_fbdb93_256x240.png?aca518e5efefaf76c067ffb0e2438334)}.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-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:6px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:6px}.ui-widget-overlay{background:#6e4f1c url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png?bde4cdb5c33f6a9c1c25419a4732ad98) 50% 50% repeat;opacity:.6;filter:Alpha(Opacity=60)}.ui-widget-shadow{box-shadow:-10px 0 5px #000} -.select2-container { - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - .select2-container .select2-selection--single { - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - -moz-user-select: none; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-selection--single .select2-selection__clear { - background-color: transparent; - border: none; - font-size: 1em; } - .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - .select2-container .select2-selection--multiple { - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - -moz-user-select: none; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline; - list-style: none; - padding: 0; } - .select2-container .select2-selection--multiple .select2-selection__clear { - background-color: transparent; - border: none; - font-size: 1em; } - .select2-container .select2-search--inline .select2-search__field { - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - margin-left: 5px; - padding: 0; - max-width: 100%; - resize: none; - height: 18px; - vertical-align: bottom; - font-family: sans-serif; - overflow: hidden; - word-break: keep-all; } - .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - -moz-user-select: none; - user-select: none; - -webkit-user-select: none; } - -.select2-results__option--selectable { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - .select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - box-sizing: border-box; } - .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - .select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - clip-path: inset(50%) !important; - height: 1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; - white-space: nowrap !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - .select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - height: 26px; - margin-right: 20px; - padding-right: 0px; } - .select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - .select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - padding-bottom: 5px; - padding-right: 5px; - position: relative; } - .select2-container--default .select2-selection--multiple.select2-selection--clearable { - padding-right: 25px; } - .select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - font-weight: bold; - height: 20px; - margin-right: 10px; - margin-top: 5px; - position: absolute; - right: 0; - padding: 1px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: inline-block; - margin-left: 5px; - margin-top: 5px; - padding: 0; - padding-left: 20px; - position: relative; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - vertical-align: bottom; - white-space: nowrap; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__display { - cursor: default; - padding-left: 2px; - padding-right: 5px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - background-color: transparent; - border: none; - border-right: 1px solid #aaa; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - color: #999; - cursor: pointer; - font-size: 1em; - font-weight: bold; - padding: 0 4px; - position: absolute; - left: 0; - top: 0; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus { - background-color: #f1f1f1; - color: #333; - outline: none; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display { - padding-left: 5px; - padding-right: 2px; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - border-left: 1px solid #aaa; - border-right: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__clear { - float: left; - margin-left: 10px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--group { - padding: 0; } - -.select2-container--default .select2-results__option--disabled { - color: #999; } - -.select2-container--default .select2-results__option--selected { - background-color: #ddd; } - -.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - .select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - height: 26px; - margin-right: 20px; } - .select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - .select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; - padding-bottom: 5px; - padding-right: 5px; } - .select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - display: inline-block; - margin-left: 5px; - margin-top: 5px; - padding: 0; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__display { - cursor: default; - padding-left: 2px; - padding-right: 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - background-color: transparent; - border: none; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - color: #888; - cursor: pointer; - font-size: 1em; - font-weight: bold; - padding: 0 4px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; - outline: none; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display { - padding-left: 5px; - padding-right: 2px; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option--group { - padding: 0; } - -.select2-container--classic .select2-results__option--disabled { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } - +* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{border:0;font-size:100%;line-height:1.3;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{border-collapse:collapse;content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{filter:Alpha(Opacity=0);height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{background-repeat:no-repeat;display:inline-block;margin-top:-.25em;overflow:hidden;position:relative;text-indent:-99999px;vertical-align:middle}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}.ui-widget-overlay{height:100%;left:0;position:fixed;top:0;width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:100%;margin:2px 0 0;padding:.5em .5em .5em .7em;position:relative}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1em 2.2em}.ui-autocomplete{cursor:default;left:0;position:absolute;top:0}.ui-menu{display:block;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");margin:0}.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px .4em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0;font-size:0;height:0;line-height:0;margin:5px 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{bottom:0;left:.2em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{cursor:pointer;display:inline-block;line-height:normal;margin-right:.1em;overflow:visible;padding:.4em 1em;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{height:2.1em;padding:0;text-indent:-9999px;white-space:nowrap;width:2.1em}input.ui-button.ui-icon-notext .ui-icon{height:auto;padding:.4em 1em;text-indent:0;white-space:normal;width:auto}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{display:inline-block;vertical-align:middle}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus,.ui-controlgroup>.ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;margin-bottom:0;margin-top:0;text-align:left;width:100%}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{border:none;border-radius:.12em;box-shadow:inset 1px 1px 1px #ccc}.ui-checkboxradio-radio-label .ui-icon-background{border:none;border-radius:1em;height:16px;overflow:visible;width:16px}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;border-style:solid;border-width:4px;height:8px;width:8px}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{height:1.8em;position:absolute;top:2px;width: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;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-title{line-height:1.8em;margin:0 2.3em;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{border-collapse:collapse;font-size:.9em;margin:0 0 .4em;width:100%}.ui-datepicker th{border:0;font-weight:700;padding:.7em .3em;text-align:center}.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;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .2em .4em;overflow:visible;padding:.2em .6em .3em;width:auto}.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{margin:0 auto .4em;width:95%}.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;font-size:0;width:100%}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{left:auto;right:2px}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{left:auto;right:1px}.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-left-width:1px;border-right-width:0}.ui-datepicker .ui-icon{background-repeat:no-repeat;display:block;left:.5em;overflow:hidden;text-indent:-99999px;top:.3em}.ui-dialog{left:0;outline:0;padding:.2em;position:absolute;top:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:20px}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin-top:.5em;padding:.3em 1em .5em .4em;text-align:left}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em .4em .5em 0}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{right:0;width:2px}.ui-dialog .ui-resizable-s{bottom:0;height:2px}.ui-dialog .ui-resizable-w{left:0;width:2px}.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw,.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw{height:7px;width:7px}.ui-dialog .ui-resizable-se{bottom:0;right:0}.ui-dialog .ui-resizable-sw{bottom:0;left:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-progressbar{height:2em;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{height:100%;margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");filter:alpha(opacity=25);height:100%;opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{touch-action:none}.ui-selectable-helper{border:1px dotted #000;position:absolute;z-index:100}.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border:0;font-size:1em;font-weight:700;height:auto;line-height:1.5;margin:.5em 0 0;padding:2px .4em}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{cursor:default;height:1.2em;position:absolute;touch-action:none;width:1.2em;z-index:2}.ui-slider .ui-slider-range{background-position:0 0;border:0;display:block;font-size:.7em;position:absolute;z-index:1}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{margin-left:-.6em;top:-.3em}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:.8em}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-bottom:-.6em;margin-left:0}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{touch-action:none}.ui-spinner{display:inline-block;overflow:hidden;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{background:none;border:none;color:inherit;margin:.2em 2em .2em .4em;padding:.222em 0;vertical-align:middle}.ui-spinner-button{cursor:default;display:block;font-size:.5em;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;width:1.6em}.ui-spinner a.ui-spinner-button{border-bottom-style:none;border-right-style:none;border-top-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{padding:.2em;position:relative}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{border-bottom-width:0;float:left;list-style:none;margin:1px .2em 0 0;padding:0;position:relative;top:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{background:none;border-width:0;display:block;padding:1em 1.4em}.ui-tooltip{max-width:300px;padding:8px;position:absolute;z-index:9999}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #cbc7bd}.ui-widget-content{background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_eceadf_60x60.png?fcf8539b586ee18bcdea1755486148fb) 50% 50% repeat;border:1px solid #d9d6c4;color:#1f1f1f}.ui-widget-content a{color:#1f1f1f}.ui-widget-header{background:#fff url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_ffffff_60x60.png?c514e7ba7589d0f49ac63c298fcdae5e) 50% 50% repeat;border:1px solid #d4d1bf;color:#453821;font-weight:700}.ui-widget-header a{color:#453821}.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{background:#f8f7f6 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_10_f8f7f6_60x60.png?2999b2509cfc0da9d2638ce9f892d541) 50% 50% repeat;border:1px solid #cbc7bd;color:#654b24;font-weight:700}.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:#654b24;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{background:#654b24 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_65_654b24_60x60.png?6a53536235d962916651e5ade810be9c) 50% 50% repeat;border:1px solid #654b24;color:#fff;font-weight:700}.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:#fff;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{background:#eceadf url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_eceadf_60x60.png?bb99362eb46ac5b5824fabbfe6271e29) 50% 50% repeat;border:1px solid #d9d6c4;color:#140f06;font-weight:700}.ui-icon-background,.ui-state-active .ui-icon-background{background-color:#140f06;border:#d9d6c4}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#f7f3de url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_15_f7f3de_60x60.png?9d1facfcb89e21b78242e2eb8cbd491c) 50% 50% repeat;border:1px solid #b2a266;color:#3a3427}.ui-state-checked{background:#f7f3de;border:1px solid #b2a266}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#3a3427}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#b83400 url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_fine-grain_68_b83400_60x60.png?f786ff5070a9c8cde4f9b567fc84e004) 50% 50% repeat;border:1px solid #681818;color:#fff}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#fff}.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{filter:Alpha(Opacity=70);font-weight:400;opacity:.7}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{background-image:none;filter:Alpha(Opacity=35);opacity:.35}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{height:16px;width:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_222222_256x240.png?bcf1cdc9c7d1486173cc9aaa8b1fc77b)}.ui-button .ui-icon,.ui-widget-header .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_b83400_256x240.png?f481d1b47a462e74eed1e20ae7ac7824)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-default .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_ffffff_256x240.png?fc616163e14c52dba5af7fdb573d2e64)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_8c291d_256x240.png?faf8dac1c3a19fa71b3349936071548b)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_3572ac_256x240.png?6b15e6e5507d972be2e15634d0f7bc82)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-icons_fbdb93_256x240.png?aca518e5efefaf76c067ffb0e2438334)}.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-first,.ui-icon-seek-start{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:6px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:6px}.ui-widget-overlay{background:#6e4f1c url(/images/vendor/jquery-ui-themes/themes/pepper-grinder/ui-bg_diagonal-maze_20_6e4f1c_10x10.png?bde4cdb5c33f6a9c1c25419a4732ad98) 50% 50% repeat;filter:Alpha(Opacity=60);opacity:.6}.ui-widget-shadow{box-shadow:-10px 0 5px #000} +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;overflow:hidden;padding-left:8px;padding-right:20px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-left:20px;padding-right:8px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline;list-style:none;padding:0}.select2-container .select2-selection--multiple .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container .select2-search--inline .select2-search__field{border:none;box-sizing:border-box;font-family:sans-serif;font-size:100%;height:18px;margin-left:5px;margin-top:5px;max-width:100%;overflow:hidden;padding:0;resize:none;vertical-align:bottom;word-break:keep-all}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;left:-100000px;position:absolute;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option--selectable{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background-color:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-hidden-accessible{clip:rect(0 0 0 0)!important;border:0!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;height:26px;margin-right:20px;padding-right:0}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;right:1px;top:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;padding-bottom:5px;padding-right:5px;position:relative}.select2-container--default .select2-selection--multiple.select2-selection--clearable{padding-right:25px}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;font-weight:700;height:20px;margin-right:10px;margin-top:5px;padding:1px;position:absolute;right:0}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:inline-block;margin-left:5px;margin-top:5px;max-width:100%;overflow:hidden;padding:0 0 0 20px;position:relative;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;color:#999;cursor:pointer;font-size:1em;font-weight:700;left:0;padding:0 4px;position:absolute;top:0}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#f1f1f1;color:#333;outline:none}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-right:none;border-top-left-radius:0;border-top-right-radius:4px}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__clear{float:left;margin-left:10px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:0}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--group{padding:0}.select2-container--default .select2-results__option--disabled{color:#999}.select2-container--default .select2-results__option--selected{background-color:#ddd}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;border:1px solid #aaa;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0);outline:0}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;height:26px;margin-right:20px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;border:none;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-top-right-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0);height:26px;position:absolute;right:1px;top:1px;width:20px}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-radius:0;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;border-top:none;border-top-left-radius:0;border-top-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0;padding-bottom:5px;padding-right:5px}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;display:inline-block;margin-left:5px;margin-top:5px;padding:0}.select2-container--classic .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-bottom-left-radius:4px;border-top-left-radius:4px;color:#888;cursor:pointer;font-size:1em;font-weight:700;padding:0 4px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555;outline:none}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{box-shadow:none;outline:0}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option--group{padding:0}.select2-container--classic .select2-results__option--disabled{color:grey}.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} /*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa, -.fas, -.far, -.fal, -.fad, -.fab { - -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: 0.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 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; } - -.fa-pull-left { - float: left; } - -.fa-pull-right { - float: right; } - -.fa.fa-pull-left, -.fas.fa-pull-left, -.far.fa-pull-left, -.fal.fa-pull-left, -.fab.fa-pull-left { - margin-right: .3em; } - -.fa.fa-pull-right, -.fas.fa-pull-right, -.far.fa-pull-right, -.fal.fa-pull-right, -.fab.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(0deg); } - 100% { - transform: rotate(360deg); } } - -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - transform: rotate(90deg); } - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - transform: rotate(180deg); } - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - transform: rotate(270deg); } - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - transform: scale(-1, 1); } - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - transform: scale(1, -1); } - -.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - transform: scale(-1, -1); } - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical, -:root .fa-flip-both { - filter: none; } - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; } - -.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; } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.fa-500px:before { - content: "\f26e"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-acquisitions-incorporated:before { - content: "\f6af"; } - -.fa-ad:before { - content: "\f641"; } - -.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-air-freshener:before { - content: "\f5d0"; } - -.fa-airbnb:before { - content: "\f834"; } - -.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-alipay:before { - content: "\f642"; } - -.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-ankh:before { - content: "\f644"; } - -.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-alt:before { - content: "\f5d1"; } - -.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-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-left:before { - content: "\f060"; } - -.fa-arrow-right:before { - content: "\f061"; } - -.fa-arrow-up:before { - content: "\f062"; } - -.fa-arrows-alt:before { - content: "\f0b2"; } - -.fa-arrows-alt-h:before { - content: "\f337"; } - -.fa-arrows-alt-v:before { - content: "\f338"; } - -.fa-artstation:before { - content: "\f77a"; } - -.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-atlassian:before { - content: "\f77b"; } - -.fa-atom:before { - content: "\f5d2"; } - -.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-baby:before { - content: "\f77c"; } - -.fa-baby-carriage:before { - content: "\f77d"; } - -.fa-backspace:before { - content: "\f55a"; } - -.fa-backward:before { - content: "\f04a"; } - -.fa-bacon:before { - content: "\f7e5"; } - -.fa-bacteria:before { - content: "\e059"; } - -.fa-bacterium:before { - content: "\e05a"; } - -.fa-bahai:before { - content: "\f666"; } - -.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-bars:before { - content: "\f0c9"; } - -.fa-baseball-ball:before { - content: "\f433"; } - -.fa-basketball-ball:before { - content: "\f434"; } - -.fa-bath:before { - content: "\f2cd"; } - -.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-three-quarters:before { - content: "\f241"; } - -.fa-battle-net:before { - content: "\f835"; } - -.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-bible:before { - content: "\f647"; } - -.fa-bicycle:before { - content: "\f206"; } - -.fa-biking:before { - content: "\f84a"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-binoculars:before { - content: "\f1e5"; } - -.fa-biohazard:before { - content: "\f780"; } - -.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-blender:before { - content: "\f517"; } - -.fa-blender-phone:before { - content: "\f6b6"; } - -.fa-blind:before { - content: "\f29d"; } - -.fa-blog:before { - content: "\f781"; } - -.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-bone:before { - content: "\f5d7"; } - -.fa-bong:before { - content: "\f55c"; } - -.fa-book:before { - content: "\f02d"; } - -.fa-book-dead:before { - content: "\f6b7"; } - -.fa-book-medical:before { - content: "\f7e6"; } - -.fa-book-open:before { - content: "\f518"; } - -.fa-book-reader:before { - content: "\f5da"; } - -.fa-bookmark:before { - content: "\f02e"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-border-all:before { - content: "\f84c"; } - -.fa-border-none:before { - content: "\f850"; } - -.fa-border-style:before { - content: "\f853"; } - -.fa-bowling-ball:before { - content: "\f436"; } - -.fa-box:before { - content: "\f466"; } - -.fa-box-open:before { - content: "\f49e"; } - -.fa-box-tissue:before { - content: "\e05b"; } - -.fa-boxes:before { - content: "\f468"; } - -.fa-braille:before { - content: "\f2a1"; } - -.fa-brain:before { - content: "\f5dc"; } - -.fa-bread-slice:before { - content: "\f7ec"; } - -.fa-briefcase:before { - content: "\f0b1"; } - -.fa-briefcase-medical:before { - content: "\f469"; } - -.fa-broadcast-tower:before { - content: "\f519"; } - -.fa-broom:before { - content: "\f51a"; } - -.fa-brush:before { - content: "\f55d"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-buffer:before { - content: "\f837"; } - -.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-business-time:before { - content: "\f64a"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.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-day:before { - content: "\f783"; } - -.fa-calendar-minus:before { - content: "\f272"; } - -.fa-calendar-plus:before { - content: "\f271"; } - -.fa-calendar-times:before { - content: "\f273"; } - -.fa-calendar-week:before { - content: "\f784"; } - -.fa-camera:before { - content: "\f030"; } - -.fa-camera-retro:before { - content: "\f083"; } - -.fa-campground:before { - content: "\f6bb"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-candy-cane:before { - content: "\f786"; } - -.fa-cannabis:before { - content: "\f55f"; } - -.fa-capsules:before { - content: "\f46b"; } - -.fa-car:before { - content: "\f1b9"; } - -.fa-car-alt:before { - content: "\f5de"; } - -.fa-car-battery:before { - content: "\f5df"; } - -.fa-car-crash:before { - content: "\f5e1"; } - -.fa-car-side:before { - content: "\f5e4"; } - -.fa-caravan:before { - content: "\f8ff"; } - -.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-carrot:before { - content: "\f787"; } - -.fa-cart-arrow-down:before { - content: "\f218"; } - -.fa-cart-plus:before { - content: "\f217"; } - -.fa-cash-register:before { - content: "\f788"; } - -.fa-cat:before { - content: "\f6be"; } - -.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-centos:before { - content: "\f789"; } - -.fa-certificate:before { - content: "\f0a3"; } - -.fa-chair:before { - content: "\f6c0"; } - -.fa-chalkboard:before { - content: "\f51b"; } - -.fa-chalkboard-teacher:before { - content: "\f51c"; } - -.fa-charging-station:before { - content: "\f5e7"; } - -.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-cheese:before { - content: "\f7ef"; } - -.fa-chess:before { - content: "\f439"; } - -.fa-chess-bishop:before { - content: "\f43a"; } - -.fa-chess-board:before { - content: "\f43c"; } - -.fa-chess-king:before { - content: "\f43f"; } - -.fa-chess-knight:before { - content: "\f441"; } - -.fa-chess-pawn:before { - content: "\f443"; } - -.fa-chess-queen:before { - content: "\f445"; } - -.fa-chess-rook:before { - content: "\f447"; } - -.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-down:before { - content: "\f078"; } - -.fa-chevron-left:before { - content: "\f053"; } - -.fa-chevron-right:before { - content: "\f054"; } - -.fa-chevron-up:before { - content: "\f077"; } - -.fa-child:before { - content: "\f1ae"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-church:before { - content: "\f51d"; } - -.fa-circle:before { - content: "\f111"; } - -.fa-circle-notch:before { - content: "\f1ce"; } - -.fa-city:before { - content: "\f64f"; } - -.fa-clinic-medical:before { - content: "\f7f2"; } - -.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-alt:before { - content: "\f381"; } - -.fa-cloud-meatball:before { - content: "\f73b"; } - -.fa-cloud-moon:before { - content: "\f6c3"; } - -.fa-cloud-moon-rain:before { - content: "\f73c"; } - -.fa-cloud-rain:before { - content: "\f73d"; } - -.fa-cloud-showers-heavy:before { - content: "\f740"; } - -.fa-cloud-sun:before { - content: "\f6c4"; } - -.fa-cloud-sun-rain:before { - content: "\f743"; } - -.fa-cloud-upload-alt:before { - content: "\f382"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-cocktail:before { - content: "\f561"; } - -.fa-code:before { - content: "\f121"; } - -.fa-code-branch:before { - content: "\f126"; } - -.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-dollar:before { - content: "\f651"; } - -.fa-comment-dots:before { - content: "\f4ad"; } - -.fa-comment-medical:before { - content: "\f7f5"; } - -.fa-comment-slash:before { - content: "\f4b3"; } - -.fa-comments:before { - content: "\f086"; } - -.fa-comments-dollar:before { - content: "\f653"; } - -.fa-compact-disc:before { - content: "\f51f"; } - -.fa-compass:before { - content: "\f14e"; } - -.fa-compress:before { - content: "\f066"; } - -.fa-compress-alt:before { - content: "\f422"; } - -.fa-compress-arrows-alt:before { - content: "\f78c"; } - -.fa-concierge-bell:before { - content: "\f562"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-cookie:before { - content: "\f563"; } - -.fa-cookie-bite:before { - content: "\f564"; } - -.fa-copy:before { - content: "\f0c5"; } - -.fa-copyright:before { - content: "\f1f9"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.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-critical-role:before { - content: "\f6c9"; } - -.fa-crop:before { - content: "\f125"; } - -.fa-crop-alt:before { - content: "\f565"; } - -.fa-cross:before { - content: "\f654"; } - -.fa-crosshairs:before { - content: "\f05b"; } - -.fa-crow:before { - content: "\f520"; } - -.fa-crown:before { - content: "\f521"; } - -.fa-crutch:before { - content: "\f7f7"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-cube:before { - content: "\f1b2"; } - -.fa-cubes:before { - content: "\f1b3"; } - -.fa-cut:before { - content: "\f0c4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-database:before { - content: "\f1c0"; } - -.fa-deaf:before { - content: "\f2a4"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-democrat:before { - content: "\f747"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-desktop:before { - content: "\f108"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-dharmachakra:before { - content: "\f655"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-diagnoses:before { - content: "\f470"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-dice:before { - content: "\f522"; } - -.fa-dice-d20:before { - content: "\f6cf"; } - -.fa-dice-d6:before { - content: "\f6d1"; } - -.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-directions:before { - content: "\f5eb"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-disease:before { - content: "\f7fa"; } - -.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-dog:before { - content: "\f6d3"; } - -.fa-dollar-sign:before { - content: "\f155"; } - -.fa-dolly:before { - content: "\f472"; } - -.fa-dolly-flatbed:before { - content: "\f474"; } - -.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-dragon:before { - content: "\f6d5"; } - -.fa-draw-polygon:before { - content: "\f5ee"; } - -.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-drumstick-bite:before { - content: "\f6d7"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-dumbbell:before { - content: "\f44b"; } - -.fa-dumpster:before { - content: "\f793"; } - -.fa-dumpster-fire:before { - content: "\f794"; } - -.fa-dungeon:before { - content: "\f6d9"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-edit:before { - content: "\f044"; } - -.fa-egg:before { - content: "\f7fb"; } - -.fa-eject:before { - content: "\f052"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-ellipsis-h:before { - content: "\f141"; } - -.fa-ellipsis-v:before { - content: "\f142"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envelope:before { - content: "\f0e0"; } - -.fa-envelope-open:before { - content: "\f2b6"; } - -.fa-envelope-open-text:before { - content: "\f658"; } - -.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-ethernet:before { - content: "\f796"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-euro-sign:before { - content: "\f153"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-exchange-alt:before { - content: "\f362"; } - -.fa-exclamation:before { - content: "\f12a"; } - -.fa-exclamation-circle:before { - content: "\f06a"; } - -.fa-exclamation-triangle:before { - content: "\f071"; } - -.fa-expand:before { - content: "\f065"; } - -.fa-expand-alt:before { - content: "\f424"; } - -.fa-expand-arrows-alt:before { - content: "\f31e"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-external-link-alt:before { - content: "\f35d"; } - -.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-fan:before { - content: "\f863"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-fast-backward:before { - content: "\f049"; } - -.fa-fast-forward:before { - content: "\f050"; } - -.fa-faucet:before { - content: "\e005"; } - -.fa-fax:before { - content: "\f1ac"; } - -.fa-feather:before { - content: "\f52d"; } - -.fa-feather-alt:before { - content: "\f56b"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-female:before { - content: "\f182"; } - -.fa-fighter-jet:before { - content: "\f0fb"; } - -.fa-figma:before { - content: "\f799"; } - -.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-code:before { - content: "\f1c9"; } - -.fa-file-contract:before { - content: "\f56c"; } - -.fa-file-csv:before { - content: "\f6dd"; } - -.fa-file-download:before { - content: "\f56d"; } - -.fa-file-excel:before { - content: "\f1c3"; } - -.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-pdf:before { - content: "\f1c1"; } - -.fa-file-powerpoint:before { - content: "\f1c4"; } - -.fa-file-prescription:before { - content: "\f572"; } - -.fa-file-signature:before { - content: "\f573"; } - -.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-filter:before { - content: "\f0b0"; } - -.fa-fingerprint:before { - content: "\f577"; } - -.fa-fire:before { - content: "\f06d"; } - -.fa-fire-alt:before { - content: "\f7e4"; } - -.fa-fire-extinguisher:before { - content: "\f134"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.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-fist-raised:before { - content: "\f6de"; } - -.fa-flag:before { - content: "\f024"; } - -.fa-flag-checkered:before { - content: "\f11e"; } - -.fa-flag-usa:before { - content: "\f74d"; } - -.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-minus:before { - content: "\f65d"; } - -.fa-folder-open:before { - content: "\f07c"; } - -.fa-folder-plus:before { - content: "\f65e"; } - -.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-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-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-funnel-dollar:before { - content: "\f662"; } - -.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-ghost:before { - content: "\f6e2"; } - -.fa-gift:before { - content: "\f06b"; } - -.fa-gifts:before { - content: "\f79c"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-git-alt:before { - content: "\f841"; } - -.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-cheers:before { - content: "\f79f"; } - -.fa-glass-martini:before { - content: "\f000"; } - -.fa-glass-martini-alt:before { - content: "\f57b"; } - -.fa-glass-whiskey:before { - content: "\f7a0"; } - -.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-globe-europe:before { - content: "\f7a2"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-golf-ball:before { - content: "\f450"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-google-pay:before { - content: "\e079"; } - -.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-gopuram:before { - content: "\f664"; } - -.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-lines:before { - content: "\f7a4"; } - -.fa-grip-lines-vertical:before { - content: "\f7a5"; } - -.fa-grip-vertical:before { - content: "\f58e"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-guitar:before { - content: "\f7a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-h-square:before { - content: "\f0fd"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-hamburger:before { - content: "\f805"; } - -.fa-hammer:before { - content: "\f6e3"; } - -.fa-hamsa:before { - content: "\f665"; } - -.fa-hand-holding:before { - content: "\f4bd"; } - -.fa-hand-holding-heart:before { - content: "\f4be"; } - -.fa-hand-holding-medical:before { - content: "\e05c"; } - -.fa-hand-holding-usd:before { - content: "\f4c0"; } - -.fa-hand-holding-water:before { - content: "\f4c1"; } - -.fa-hand-lizard:before { - content: "\f258"; } - -.fa-hand-middle-finger:before { - content: "\f806"; } - -.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-rock:before { - content: "\f255"; } - -.fa-hand-scissors:before { - content: "\f257"; } - -.fa-hand-sparkles:before { - content: "\e05d"; } - -.fa-hand-spock:before { - content: "\f259"; } - -.fa-hands:before { - content: "\f4c2"; } - -.fa-hands-helping:before { - content: "\f4c4"; } - -.fa-hands-wash:before { - content: "\e05e"; } - -.fa-handshake:before { - content: "\f2b5"; } - -.fa-handshake-alt-slash:before { - content: "\e05f"; } - -.fa-handshake-slash:before { - content: "\e060"; } - -.fa-hanukiah:before { - content: "\f6e6"; } - -.fa-hard-hat:before { - content: "\f807"; } - -.fa-hashtag:before { - content: "\f292"; } - -.fa-hat-cowboy:before { - content: "\f8c0"; } - -.fa-hat-cowboy-side:before { - content: "\f8c1"; } - -.fa-hat-wizard:before { - content: "\f6e8"; } - -.fa-hdd:before { - content: "\f0a0"; } - -.fa-head-side-cough:before { - content: "\e061"; } - -.fa-head-side-cough-slash:before { - content: "\e062"; } - -.fa-head-side-mask:before { - content: "\e063"; } - -.fa-head-side-virus:before { - content: "\e064"; } - -.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-broken:before { - content: "\f7a9"; } - -.fa-heartbeat:before { - content: "\f21e"; } - -.fa-helicopter:before { - content: "\f533"; } - -.fa-highlighter:before { - content: "\f591"; } - -.fa-hiking:before { - content: "\f6ec"; } - -.fa-hippo:before { - content: "\f6ed"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-history:before { - content: "\f1da"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-hockey-puck:before { - content: "\f453"; } - -.fa-holly-berry:before { - content: "\f7aa"; } - -.fa-home:before { - content: "\f015"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-horse:before { - content: "\f6f0"; } - -.fa-horse-head:before { - content: "\f7ab"; } - -.fa-hospital:before { - content: "\f0f8"; } - -.fa-hospital-alt:before { - content: "\f47d"; } - -.fa-hospital-symbol:before { - content: "\f47e"; } - -.fa-hospital-user:before { - content: "\f80d"; } - -.fa-hot-tub:before { - content: "\f593"; } - -.fa-hotdog:before { - content: "\f80f"; } - -.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-house-damage:before { - content: "\f6f1"; } - -.fa-house-user:before { - content: "\e065"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-hryvnia:before { - content: "\f6f2"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-i-cursor:before { - content: "\f246"; } - -.fa-ice-cream:before { - content: "\f810"; } - -.fa-icicles:before { - content: "\f7ad"; } - -.fa-icons:before { - content: "\f86d"; } - -.fa-id-badge:before { - content: "\f2c1"; } - -.fa-id-card:before { - content: "\f2c2"; } - -.fa-id-card-alt:before { - content: "\f47f"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-igloo:before { - content: "\f7ae"; } - -.fa-image:before { - content: "\f03e"; } - -.fa-images:before { - content: "\f302"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-inbox:before { - content: "\f01c"; } - -.fa-indent:before { - content: "\f03c"; } - -.fa-industry:before { - content: "\f275"; } - -.fa-infinity:before { - content: "\f534"; } - -.fa-info:before { - content: "\f129"; } - -.fa-info-circle:before { - content: "\f05a"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-italic:before { - content: "\f033"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-jedi:before { - content: "\f669"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-joint:before { - content: "\f595"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-journal-whills:before { - content: "\f66a"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-kaaba:before { - content: "\f66b"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-key:before { - content: "\f084"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-keyboard:before { - content: "\f11c"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-khanda:before { - content: "\f66d"; } - -.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-landmark:before { - content: "\f66f"; } - -.fa-language:before { - content: "\f1ab"; } - -.fa-laptop:before { - content: "\f109"; } - -.fa-laptop-code:before { - content: "\f5fc"; } - -.fa-laptop-house:before { - content: "\e066"; } - -.fa-laptop-medical:before { - content: "\f812"; } - -.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-layer-group:before { - content: "\f5fd"; } - -.fa-leaf:before { - content: "\f06c"; } - -.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-alt:before { - content: "\f3be"; } - -.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-open:before { - content: "\f3c1"; } - -.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-low-vision:before { - content: "\f2a8"; } - -.fa-luggage-cart:before { - content: "\f59d"; } - -.fa-lungs:before { - content: "\f604"; } - -.fa-lungs-virus:before { - content: "\e067"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-magic:before { - content: "\f0d0"; } - -.fa-magnet:before { - content: "\f076"; } - -.fa-mail-bulk:before { - content: "\f674"; } - -.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-markdown:before { - content: "\f60f"; } - -.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-mask:before { - content: "\f6fa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.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-mendeley:before { - content: "\f7b3"; } - -.fa-menorah:before { - content: "\f676"; } - -.fa-mercury:before { - content: "\f223"; } - -.fa-meteor:before { - content: "\f753"; } - -.fa-microblog:before { - content: "\e01a"; } - -.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-microscope:before { - content: "\f610"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-minus:before { - content: "\f068"; } - -.fa-minus-circle:before { - content: "\f056"; } - -.fa-minus-square:before { - content: "\f146"; } - -.fa-mitten:before { - content: "\f7b5"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-mobile:before { - content: "\f10b"; } - -.fa-mobile-alt:before { - content: "\f3cd"; } - -.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-mosque:before { - content: "\f678"; } - -.fa-motorcycle:before { - content: "\f21c"; } - -.fa-mountain:before { - content: "\f6fc"; } - -.fa-mouse:before { - content: "\f8cc"; } - -.fa-mouse-pointer:before { - content: "\f245"; } - -.fa-mug-hot:before { - content: "\f7b6"; } - -.fa-music:before { - content: "\f001"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-network-wired:before { - content: "\f6ff"; } - -.fa-neuter:before { - content: "\f22c"; } - -.fa-newspaper:before { - content: "\f1ea"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.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-octopus-deploy:before { - content: "\e082"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-oil-can:before { - content: "\f613"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-om:before { - content: "\f679"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-otter:before { - content: "\f700"; } - -.fa-outdent:before { - content: "\f03b"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-pager:before { - content: "\f815"; } - -.fa-paint-brush:before { - content: "\f1fc"; } - -.fa-paint-roller:before { - content: "\f5aa"; } - -.fa-palette:before { - content: "\f53f"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-pallet:before { - content: "\f482"; } - -.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-pastafarianism:before { - content: "\f67b"; } - -.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-peace:before { - content: "\f67c"; } - -.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-alt:before { - content: "\f303"; } - -.fa-pencil-ruler:before { - content: "\f5ae"; } - -.fa-penny-arcade:before { - content: "\f704"; } - -.fa-people-arrows:before { - content: "\e068"; } - -.fa-people-carry:before { - content: "\f4ce"; } - -.fa-pepper-hot:before { - content: "\f816"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-percent:before { - content: "\f295"; } - -.fa-percentage:before { - content: "\f541"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-person-booth:before { - content: "\f756"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-phone:before { - content: "\f095"; } - -.fa-phone-alt:before { - content: "\f879"; } - -.fa-phone-slash:before { - content: "\f3dd"; } - -.fa-phone-square:before { - content: "\f098"; } - -.fa-phone-square-alt:before { - content: "\f87b"; } - -.fa-phone-volume:before { - content: "\f2a0"; } - -.fa-photo-video:before { - content: "\f87c"; } - -.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-pied-piper-square:before { - content: "\e01e"; } - -.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-pizza-slice:before { - content: "\f818"; } - -.fa-place-of-worship:before { - content: "\f67f"; } - -.fa-plane:before { - content: "\f072"; } - -.fa-plane-arrival:before { - content: "\f5af"; } - -.fa-plane-departure:before { - content: "\f5b0"; } - -.fa-plane-slash:before { - content: "\e069"; } - -.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-square:before { - content: "\f0fe"; } - -.fa-podcast:before { - content: "\f2ce"; } - -.fa-poll:before { - content: "\f681"; } - -.fa-poll-h:before { - content: "\f682"; } - -.fa-poo:before { - content: "\f2fe"; } - -.fa-poo-storm:before { - content: "\f75a"; } - -.fa-poop:before { - content: "\f619"; } - -.fa-portrait:before { - content: "\f3e0"; } - -.fa-pound-sign:before { - content: "\f154"; } - -.fa-power-off:before { - content: "\f011"; } - -.fa-pray:before { - content: "\f683"; } - -.fa-praying-hands:before { - content: "\f684"; } - -.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-pump-medical:before { - content: "\e06a"; } - -.fa-pump-soap:before { - content: "\e06b"; } - -.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-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-quran:before { - content: "\f687"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-radiation:before { - content: "\f7b9"; } - -.fa-radiation-alt:before { - content: "\f7ba"; } - -.fa-rainbow:before { - content: "\f75b"; } - -.fa-random:before { - content: "\f074"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-receipt:before { - content: "\f543"; } - -.fa-record-vinyl:before { - content: "\f8d9"; } - -.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-redhat:before { - content: "\f7bc"; } - -.fa-redo:before { - content: "\f01e"; } - -.fa-redo-alt:before { - content: "\f2f9"; } - -.fa-registered:before { - content: "\f25d"; } - -.fa-remove-format:before { - content: "\f87d"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-reply:before { - content: "\f3e5"; } - -.fa-reply-all:before { - content: "\f122"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-republican:before { - content: "\f75e"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-restroom:before { - content: "\f7bd"; } - -.fa-retweet:before { - content: "\f079"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-ribbon:before { - content: "\f4d6"; } - -.fa-ring:before { - content: "\f70b"; } - -.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-running:before { - content: "\f70c"; } - -.fa-rupee-sign:before { - content: "\f156"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-sad-cry:before { - content: "\f5b3"; } - -.fa-sad-tear:before { - content: "\f5b4"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-satellite:before { - content: "\f7bf"; } - -.fa-satellite-dish:before { - content: "\f7c0"; } - -.fa-save:before { - content: "\f0c7"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-school:before { - content: "\f549"; } - -.fa-screwdriver:before { - content: "\f54a"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-scroll:before { - content: "\f70e"; } - -.fa-sd-card:before { - content: "\f7c2"; } - -.fa-search:before { - content: "\f002"; } - -.fa-search-dollar:before { - content: "\f688"; } - -.fa-search-location:before { - content: "\f689"; } - -.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-shapes:before { - content: "\f61f"; } - -.fa-share:before { - content: "\f064"; } - -.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-alt:before { - content: "\f3ed"; } - -.fa-shield-virus:before { - content: "\e06c"; } - -.fa-ship:before { - content: "\f21a"; } - -.fa-shipping-fast:before { - content: "\f48b"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-shoe-prints:before { - content: "\f54b"; } - -.fa-shopify:before { - content: "\e057"; } - -.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-sign:before { - content: "\f4d9"; } - -.fa-sign-in-alt:before { - content: "\f2f6"; } - -.fa-sign-language:before { - content: "\f2a7"; } - -.fa-sign-out-alt:before { - content: "\f2f5"; } - -.fa-signal:before { - content: "\f012"; } - -.fa-signature:before { - content: "\f5b7"; } - -.fa-sim-card:before { - content: "\f7c4"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-sink:before { - content: "\e06d"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-sitemap:before { - content: "\f0e8"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-skating:before { - content: "\f7c5"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-skiing:before { - content: "\f7c9"; } - -.fa-skiing-nordic:before { - content: "\f7ca"; } - -.fa-skull:before { - content: "\f54c"; } - -.fa-skull-crossbones:before { - content: "\f714"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f3ef"; } - -.fa-slash:before { - content: "\f715"; } - -.fa-sleigh:before { - content: "\f7cc"; } - -.fa-sliders-h:before { - content: "\f1de"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-smile:before { - content: "\f118"; } - -.fa-smile-beam:before { - content: "\f5b8"; } - -.fa-smile-wink:before { - content: "\f4da"; } - -.fa-smog:before { - content: "\f75f"; } - -.fa-smoking:before { - content: "\f48d"; } - -.fa-smoking-ban:before { - content: "\f54d"; } - -.fa-sms:before { - content: "\f7cd"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ac"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-snowboarding:before { - content: "\f7ce"; } - -.fa-snowflake:before { - content: "\f2dc"; } - -.fa-snowman:before { - content: "\f7d0"; } - -.fa-snowplow:before { - content: "\f7d2"; } - -.fa-soap:before { - content: "\e06e"; } - -.fa-socks:before { - content: "\f696"; } - -.fa-solar-panel:before { - content: "\f5ba"; } - -.fa-sort:before { - content: "\f0dc"; } - -.fa-sort-alpha-down:before { - content: "\f15d"; } - -.fa-sort-alpha-down-alt:before { - content: "\f881"; } - -.fa-sort-alpha-up:before { - content: "\f15e"; } - -.fa-sort-alpha-up-alt:before { - content: "\f882"; } - -.fa-sort-amount-down:before { - content: "\f160"; } - -.fa-sort-amount-down-alt:before { - content: "\f884"; } - -.fa-sort-amount-up:before { - content: "\f161"; } - -.fa-sort-amount-up-alt:before { - content: "\f885"; } - -.fa-sort-down:before { - content: "\f0dd"; } - -.fa-sort-numeric-down:before { - content: "\f162"; } - -.fa-sort-numeric-down-alt:before { - content: "\f886"; } - -.fa-sort-numeric-up:before { - content: "\f163"; } - -.fa-sort-numeric-up-alt:before { - content: "\f887"; } - -.fa-sort-up:before { - content: "\f0de"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-spa:before { - content: "\f5bb"; } - -.fa-space-shuttle:before { - content: "\f197"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-spell-check:before { - content: "\f891"; } - -.fa-spider:before { - content: "\f717"; } - -.fa-spinner:before { - content: "\f110"; } - -.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-square-root-alt:before { - content: "\f698"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-stamp:before { - content: "\f5bf"; } - -.fa-star:before { - content: "\f005"; } - -.fa-star-and-crescent:before { - content: "\f699"; } - -.fa-star-half:before { - content: "\f089"; } - -.fa-star-half-alt:before { - content: "\f5c0"; } - -.fa-star-of-david:before { - content: "\f69a"; } - -.fa-star-of-life:before { - content: "\f621"; } - -.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-stopwatch-20:before { - content: "\e06f"; } - -.fa-store:before { - content: "\f54e"; } - -.fa-store-alt:before { - content: "\f54f"; } - -.fa-store-alt-slash:before { - content: "\e070"; } - -.fa-store-slash:before { - content: "\e071"; } - -.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-suse:before { - content: "\f7d6"; } - -.fa-swatchbook:before { - content: "\f5c3"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-swimmer:before { - content: "\f5c4"; } - -.fa-swimming-pool:before { - content: "\f5c5"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-synagogue:before { - content: "\f69b"; } - -.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-tablets:before { - content: "\f490"; } - -.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-teeth:before { - content: "\f62e"; } - -.fa-teeth-open:before { - content: "\f62f"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f3fe"; } - -.fa-temperature-high:before { - content: "\f769"; } - -.fa-temperature-low:before { - content: "\f76b"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-tenge:before { - content: "\f7d7"; } - -.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-the-red-yeti:before { - content: "\f69d"; } - -.fa-theater-masks:before { - content: "\f630"; } - -.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-think-peaks:before { - content: "\f731"; } - -.fa-thumbs-down:before { - content: "\f165"; } - -.fa-thumbs-up:before { - content: "\f164"; } - -.fa-thumbtack:before { - content: "\f08d"; } - -.fa-ticket-alt:before { - content: "\f3ff"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-times:before { - content: "\f00d"; } - -.fa-times-circle:before { - content: "\f057"; } - -.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-toilet:before { - content: "\f7d8"; } - -.fa-toilet-paper:before { - content: "\f71e"; } - -.fa-toilet-paper-slash:before { - content: "\e072"; } - -.fa-toolbox:before { - content: "\f552"; } - -.fa-tools:before { - content: "\f7d9"; } - -.fa-tooth:before { - content: "\f5c9"; } - -.fa-torah:before { - content: "\f6a0"; } - -.fa-torii-gate:before { - content: "\f6a1"; } - -.fa-tractor:before { - content: "\f722"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-trademark:before { - content: "\f25c"; } - -.fa-traffic-light:before { - content: "\f637"; } - -.fa-trailer:before { - content: "\e041"; } - -.fa-train:before { - content: "\f238"; } - -.fa-tram:before { - content: "\f7da"; } - -.fa-transgender:before { - content: "\f224"; } - -.fa-transgender-alt:before { - content: "\f225"; } - -.fa-trash:before { - content: "\f1f8"; } - -.fa-trash-alt:before { - content: "\f2ed"; } - -.fa-trash-restore:before { - content: "\f829"; } - -.fa-trash-restore-alt:before { - content: "\f82a"; } - -.fa-tree:before { - content: "\f1bb"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-trophy:before { - content: "\f091"; } - -.fa-truck:before { - content: "\f0d1"; } - -.fa-truck-loading:before { - content: "\f4de"; } - -.fa-truck-monster:before { - content: "\f63b"; } - -.fa-truck-moving:before { - content: "\f4df"; } - -.fa-truck-pickup:before { - content: "\f63c"; } - -.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-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-ubuntu:before { - content: "\f7df"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-umbrella:before { - content: "\f0e9"; } - -.fa-umbrella-beach:before { - content: "\f5ca"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-underline:before { - content: "\f0cd"; } - -.fa-undo:before { - content: "\f0e2"; } - -.fa-undo-alt:before { - content: "\f2ea"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-unity:before { - content: "\e049"; } - -.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-unsplash:before { - content: "\e07c"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-upload:before { - content: "\f093"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-usb:before { - content: "\f287"; } - -.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-injured:before { - content: "\f728"; } - -.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-nurse:before { - content: "\f82f"; } - -.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-users-slash:before { - content: "\e073"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-utensil-spoon:before { - content: "\f2e5"; } - -.fa-utensils:before { - content: "\f2e7"; } - -.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-vest:before { - content: "\e085"; } - -.fa-vest-patches:before { - content: "\e086"; } - -.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-slash:before { - content: "\f4e2"; } - -.fa-vihara:before { - content: "\f6a7"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-virus:before { - content: "\e074"; } - -.fa-virus-slash:before { - content: "\e075"; } - -.fa-viruses:before { - content: "\e076"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-voicemail:before { - content: "\f897"; } - -.fa-volleyball-ball:before { - content: "\f45f"; } - -.fa-volume-down:before { - content: "\f027"; } - -.fa-volume-mute:before { - content: "\f6a9"; } - -.fa-volume-off:before { - content: "\f026"; } - -.fa-volume-up:before { - content: "\f028"; } - -.fa-vote-yea:before { - content: "\f772"; } - -.fa-vr-cardboard:before { - content: "\f729"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-walking:before { - content: "\f554"; } - -.fa-wallet:before { - content: "\f555"; } - -.fa-warehouse:before { - content: "\f494"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-water:before { - content: "\f773"; } - -.fa-wave-square:before { - content: "\f83e"; } - -.fa-waze:before { - content: "\f83f"; } - -.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-whmcs:before { - content: "\f40d"; } - -.fa-wifi:before { - content: "\f1eb"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wind:before { - content: "\f72e"; } - -.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-bottle:before { - content: "\f72f"; } - -.fa-wine-glass:before { - content: "\f4e3"; } - -.fa-wine-glass-alt:before { - content: "\f5ce"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-wodu:before { - content: "\e088"; } - -.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-wpressr:before { - content: "\f3e4"; } - -.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-yammer:before { - content: "\f840"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-yen-sign:before { - content: "\f157"; } - -.fa-yin-yang:before { - content: "\f6ad"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.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 Brands'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453); - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453?#iefix) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.woff2?d878b0a6a1144760244ff0665888404c) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.woff?2285773e6b4b172f07d9b777c81b0775) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.ttf?527940b104eb2ea366c8630f3f038603) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.svg?2f517e09eb2ca6650ff5bec5a95157ab#fontawesome) format("svg"); } - -.fab { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.eot?77206a6bb316fa0aded5083cc57f92b9); - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.eot?77206a6bb316fa0aded5083cc57f92b9?#iefix) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.woff2?7a3337626410ca2f40718481c755640f) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.woff?bb58e57c48a3e911f15fa834ff00d44a) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.ttf?491974d108fe4002b2aaf7ffc48249a0) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.svg?4689f52cc96215721344e51e5831eec1#fontawesome) format("svg"); } - -.far { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 900; - font-display: block; - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.eot?9bbb245e67a133f6e486d8d2545e14a5); - src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.eot?9bbb245e67a133f6e486d8d2545e14a5?#iefix) format("embedded-opentype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.woff2?1551f4f60c37af51121f106501f69b80) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.woff?eeccf4f66002c6f2ba24d3d22f2434c2) format("woff"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.ttf?be9ee23c0c6390141475d519c2c5fb8f) format("truetype"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.svg?7a8b4f130182d19a2d7c67d80c090397#fontawesome) format("svg"); } - -.fa, -.fas { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; } - -/*---------------------------------------------------*/ -.speedButtonNavBar{ - margin-bottom: 1px !important; - padding-bottom: 0.2rem !important; -} -.speedButtonNavBar img{ - display: block; - margin: 0 auto 5px auto; - max-width: 64px; -} -.speedButtonNavBar ul{ - overflow: hidden; - margin-bottom: 1px; -} -.speedButtonNavBar ul li{ - text-align: center; - width: 100px; - height: 105px; - padding-top: 10px; - float: left; - /*margin: 10px;*/ - font-size: 11px; - overflow: hidden; - line-height: 1.2; - -} -.speedButtonNavBar ul li.selected{ - background-color: rgba(200,200,200,0.5); - border-radius: 10px; -} -.speedButtonNavBar ul a{ - display: block; - width: 100%; - height: 100%; -} - -/* -.speedButtonNavBar ul li{ - text-align: center; - width: 100px; - height: 100px; - padding-top: 10px; - float: left; - margin: 10px; - font-size: 11px; - overflow: hidden; - line-height: 1.2; -} -.speedButtonNavBar ul li.selected{ - background-color: rgba(200,200,200,0.5); - border-radius: 10px; -} -.speedButtonNavBar ul a{ - display: block; - width: 100%; - height: 100%; -} - -.speedButtonNavBar.smallicons{ - -} -.speedButtonNavBar.smallicons ul li{ - width: 80px; - height: 70px; - padding: 10px 10px 0 10px; - margin: 5px; -} -.speedButtonNavBar.smallicons img{ - max-width: 32px; -} -*/ - + */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.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;line-height:inherit;position:absolute;text-align:center;width:2em}.fa-border{border:.08em solid #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 linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,: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:2.5em}.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-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.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-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.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-alipay:before{content:"\f642"}.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-ankh:before{content:"\f644"}.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-alt:before{content:"\f5d1"}.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-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-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.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-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.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-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.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-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.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-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.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-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.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-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.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-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.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-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.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-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.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-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.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-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.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-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.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-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.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-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.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-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.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-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.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-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.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-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.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-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.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-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.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-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.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-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.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-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.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-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.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-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.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-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.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-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.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-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-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-funnel-dollar:before{content:"\f662"}.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-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.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-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.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-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.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-gopuram:before{content:"\f664"}.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-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.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-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.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-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.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-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.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-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.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-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.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-alt:before{content:"\f3be"}.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-open:before{content:"\f3c1"}.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-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.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-markdown:before{content:"\f60f"}.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-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.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-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.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-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.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-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.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-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.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-pastafarianism:before{content:"\f67b"}.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-peace:before{content:"\f67c"}.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-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.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-pied-piper-square:before{content:"\e01e"}.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-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.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-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.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-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.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-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-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.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-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.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-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.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-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.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-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.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-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.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-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.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-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.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-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.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-tablets:before{content:"\f490"}.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-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.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-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.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-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.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-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.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-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-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.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-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.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-injured:before{content:"\f728"}.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-nurse:before{content:"\f82f"}.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-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.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-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.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-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.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-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.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-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.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-wpressr:before{content:"\f3e4"}.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-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{clip:rect(0,0,0,0);border: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-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453);src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453?#iefix) format("embedded-opentype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.woff2?d878b0a6a1144760244ff0665888404c) format("woff2"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.woff?2285773e6b4b172f07d9b777c81b0775) format("woff"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.ttf?527940b104eb2ea366c8630f3f038603) format("truetype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.svg?2f517e09eb2ca6650ff5bec5a95157ab#fontawesome) format("svg")}.fab{font-family:Font Awesome\ 5 Brands}@font-face{font-display:block;font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.eot?77206a6bb316fa0aded5083cc57f92b9);src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.eot?77206a6bb316fa0aded5083cc57f92b9?#iefix) format("embedded-opentype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.woff2?7a3337626410ca2f40718481c755640f) format("woff2"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.woff?bb58e57c48a3e911f15fa834ff00d44a) format("woff"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.ttf?491974d108fe4002b2aaf7ffc48249a0) format("truetype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-regular-400.svg?4689f52cc96215721344e51e5831eec1#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-display:block;font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.eot?9bbb245e67a133f6e486d8d2545e14a5);src:url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.eot?9bbb245e67a133f6e486d8d2545e14a5?#iefix) format("embedded-opentype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.woff2?1551f4f60c37af51121f106501f69b80) format("woff2"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.woff?eeccf4f66002c6f2ba24d3d22f2434c2) format("woff"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.ttf?be9ee23c0c6390141475d519c2c5fb8f) format("truetype"),url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-solid-900.svg?7a8b4f130182d19a2d7c67d80c090397#fontawesome) format("svg")}.fa,.far,.fas{font-family:Font Awesome\ 5 Free}.fa,.fas{font-weight:900} +.speedButtonNavBar{margin-bottom:1px!important;padding-bottom:.2rem!important}.speedButtonNavBar img{display:block;margin:0 auto 5px;max-width:64px}.speedButtonNavBar ul{margin-bottom:1px;overflow:hidden}.speedButtonNavBar ul li{float:left;font-size:11px;height:105px;line-height:1.2;overflow:hidden;padding-top:10px;text-align:center;width:100px}.speedButtonNavBar ul li.selected{background-color:hsla(0,0%,78%,.5);border-radius:10px}.speedButtonNavBar ul a{display:block;height:100%;width:100%} @charset "UTF-8"; /*! * Bootstrap v4.6.2 (https://getbootstrap.com/) * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus:not(:focus-visible) { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - -webkit-text-decoration-skip-ink: none; - text-decoration-skip-ink: none; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 700; -} - -dd { - margin-bottom: 0.5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([class]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; - text-align: -webkit-match-parent; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus:not(:focus-visible) { - outline: 0; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -[role=button] { - cursor: pointer; -} - -select { - word-wrap: normal; -} - -button, -[type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} - -button:not(:disabled), -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled) { - cursor: pointer; -} - -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type=radio], -input[type=checkbox] { - box-sizing: border-box; - padding: 0; -} - -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-bottom: 0.5rem; - 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-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; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 0.875em; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.blockquote-footer { - display: block; - font-size: 0.875em; - color: #6c757d; -} - -.blockquote-footer::before { - content: "— "; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #6c757d; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-wrap: break-word; -} - -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; -} - -pre { - display: block; - font-size: 87.5%; - color: #212529; -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container, -.container-fluid, -.container-sm, -.container-md, -.container-lg, -.container-xl { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container, .container-sm { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container, .container-sm, .container-md { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container, .container-sm, .container-md, .container-lg { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container, .container-sm, .container-md, .container-lg, .container-xl { - max-width: 1140px; - } -} -.row { - display: flex; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*=col-] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; -} - -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; -} - -.row-cols-1 > * { - flex: 0 0 100%; - max-width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 50%; - max-width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.row-cols-4 > * { - flex: 0 0 25%; - max-width: 25%; -} - -.row-cols-5 > * { - flex: 0 0 20%; - max-width: 20%; -} - -.row-cols-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; -} - -.col-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - order: -1; -} - -.order-last { - order: 13; -} - -.order-0 { - order: 0; -} - -.order-1 { - order: 1; -} - -.order-2 { - order: 2; -} - -.order-3 { - order: 3; -} - -.order-4 { - order: 4; -} - -.order-5 { - order: 5; -} - -.order-6 { - order: 6; -} - -.order-7 { - order: 7; -} - -.order-8 { - order: 8; -} - -.order-9 { - order: 9; -} - -.order-10 { - order: 10; -} - -.order-11 { - order: 11; -} - -.order-12 { - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-sm-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-sm-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-sm-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-sm-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-sm-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-sm-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-sm-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - order: -1; - } - .order-sm-last { - order: 13; - } - .order-sm-0 { - order: 0; - } - .order-sm-1 { - order: 1; - } - .order-sm-2 { - order: 2; - } - .order-sm-3 { - order: 3; - } - .order-sm-4 { - order: 4; - } - .order-sm-5 { - order: 5; - } - .order-sm-6 { - order: 6; - } - .order-sm-7 { - order: 7; - } - .order-sm-8 { - order: 8; - } - .order-sm-9 { - order: 9; - } - .order-sm-10 { - order: 10; - } - .order-sm-11 { - order: 11; - } - .order-sm-12 { - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} -@media (min-width: 768px) { - .col-md { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-md-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-md-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-md-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-md-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-md-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-md-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-md-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - order: -1; - } - .order-md-last { - order: 13; - } - .order-md-0 { - order: 0; - } - .order-md-1 { - order: 1; - } - .order-md-2 { - order: 2; - } - .order-md-3 { - order: 3; - } - .order-md-4 { - order: 4; - } - .order-md-5 { - order: 5; - } - .order-md-6 { - order: 6; - } - .order-md-7 { - order: 7; - } - .order-md-8 { - order: 8; - } - .order-md-9 { - order: 9; - } - .order-md-10 { - order: 10; - } - .order-md-11 { - order: 11; - } - .order-md-12 { - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} -@media (min-width: 992px) { - .col-lg { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-lg-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-lg-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-lg-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-lg-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-lg-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-lg-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-lg-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - order: -1; - } - .order-lg-last { - order: 13; - } - .order-lg-0 { - order: 0; - } - .order-lg-1 { - order: 1; - } - .order-lg-2 { - order: 2; - } - .order-lg-3 { - order: 3; - } - .order-lg-4 { - order: 4; - } - .order-lg-5 { - order: 5; - } - .order-lg-6 { - order: 6; - } - .order-lg-7 { - order: 7; - } - .order-lg-8 { - order: 8; - } - .order-lg-9 { - order: 9; - } - .order-lg-10 { - order: 10; - } - .order-lg-11 { - order: 11; - } - .order-lg-12 { - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} -@media (min-width: 1200px) { - .col-xl { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-xl-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-xl-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-xl-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-xl-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-xl-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-xl-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-xl-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - order: -1; - } - .order-xl-last { - order: 13; - } - .order-xl-0 { - order: 0; - } - .order-xl-1 { - order: 1; - } - .order-xl-2 { - order: 2; - } - .order-xl-3 { - order: 3; - } - .order-xl-4 { - order: 4; - } - .order-xl-5 { - order: 5; - } - .order-xl-6 { - order: 6; - } - .order-xl-7 { - order: 7; - } - .order-xl-8 { - order: 8; - } - .order-xl-9 { - order: 9; - } - .order-xl-10 { - order: 10; - } - .order-xl-11 { - order: 11; - } - .order-xl-12 { - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; -} - -.table tbody + tbody { - border-top: 2px solid #dee2e6; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #dee2e6; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #dee2e6; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: rgba(0, 0, 0, 0.075); -} - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; -} - -.table-primary th, -.table-primary td, -.table-primary thead th, -.table-primary tbody + tbody { - border-color: #7abaff; -} - -.table-hover .table-primary:hover { - background-color: #9fcdff; -} - -.table-hover .table-primary:hover > td, -.table-hover .table-primary:hover > th { - background-color: #9fcdff; -} - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; -} - -.table-secondary th, -.table-secondary td, -.table-secondary thead th, -.table-secondary tbody + tbody { - border-color: #b3b7bb; -} - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; -} - -.table-hover .table-secondary:hover > td, -.table-hover .table-secondary:hover > th { - background-color: #c8cbcf; -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; -} - -.table-success th, -.table-success td, -.table-success thead th, -.table-success tbody + tbody { - border-color: #8fd19e; -} - -.table-hover .table-success:hover { - background-color: #b1dfbb; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #b1dfbb; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; -} - -.table-info th, -.table-info td, -.table-info thead th, -.table-info tbody + tbody { - border-color: #86cfda; -} - -.table-hover .table-info:hover { - background-color: #abdde5; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #abdde5; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; -} - -.table-warning th, -.table-warning td, -.table-warning thead th, -.table-warning tbody + tbody { - border-color: #ffdf7e; -} - -.table-hover .table-warning:hover { - background-color: #ffe8a1; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #ffe8a1; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; -} - -.table-danger th, -.table-danger td, -.table-danger thead th, -.table-danger tbody + tbody { - border-color: #ed969e; -} - -.table-hover .table-danger:hover { - background-color: #f1b0b7; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #f1b0b7; -} - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; -} - -.table-light th, -.table-light td, -.table-light thead th, -.table-light tbody + tbody { - border-color: #fbfcfc; -} - -.table-hover .table-light:hover { - background-color: #ececf6; -} - -.table-hover .table-light:hover > td, -.table-hover .table-light:hover > th { - background-color: #ececf6; -} - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; -} - -.table-dark th, -.table-dark td, -.table-dark thead th, -.table-dark tbody + tbody { - border-color: #95999c; -} - -.table-hover .table-dark:hover { - background-color: #b9bbbe; -} - -.table-hover .table-dark:hover > td, -.table-hover .table-dark:hover > th { - background-color: #b9bbbe; -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; -} - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.table-dark { - color: #fff; - background-color: #343a40; -} - -.table-dark th, -.table-dark td, -.table-dark thead th { - border-color: #454d55; -} - -.table-dark.table-bordered { - border: 0; -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); -} - -.table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, 0.075); -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-sm > .table-bordered { - border: 0; - } -} -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-lg > .table-bordered { - border: 0; - } -} -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -.table-responsive > .table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -input[type=date].form-control, -input[type=time].form-control, -input[type=datetime-local].form-control, -input[type=month].form-control { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -select.form-control:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #495057; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; -} - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.375rem 0; - margin-bottom: 0; - font-size: 1rem; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-row { - display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; -} - -.form-row > .col, -.form-row > [class*=col-] { - padding-right: 5px; - padding-left: 5px; -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; -} - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; -} - -.form-check-input[disabled] ~ .form-check-label, -.form-check-input:disabled ~ .form-check-label { - color: #6c757d; -} - -.form-check-label { - margin-bottom: 0; -} - -.form-check-inline { - display: inline-flex; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: #28a745; -} - -.valid-tooltip { - position: absolute; - top: 100%; - left: 0; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; -} - -.form-row > .col > .valid-tooltip, -.form-row > [class*=col-] > .valid-tooltip { - left: 5px; -} - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #28a745; - padding-right: calc(1.5em + 0.75rem) !important; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated select.form-control:valid, select.form-control.is-valid { - padding-right: 3rem !important; - background-position: right 1.5rem center; -} - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #28a745; - padding-right: calc(0.75em + 2.3125rem) !important; - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; -} - -.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; -} - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57; -} - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - left: 0; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.form-row > .col > .invalid-tooltip, -.form-row > [class*=col-] > .invalid-tooltip { - left: 5px; -} - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem) !important; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated select.form-control:invalid, select.form-control.is-invalid { - padding-right: 3rem !important; - background-position: right 1.5rem center; -} - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dc3545; - padding-right: calc(0.75em + 2.3125rem) !important; - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; -} - -.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d; -} - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.form-inline { - display: flex; - flex-flow: row wrap; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: flex; - flex: 0 0 auto; - flex-flow: row wrap; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; - } - .form-inline .form-check { - display: flex; - align-items: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - align-items: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} -.btn:hover { - color: #212529; - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.btn.disabled, .btn:disabled { - opacity: 0.65; -} - -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; -} - -.btn-primary:focus, .btn-primary.focus { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} - -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} - -.btn-secondary:focus, .btn-secondary.focus { - color: #fff; - background-color: #5a6268; - border-color: #545b62; - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} - -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} - -.btn-success:focus, .btn-success.focus { - color: #fff; - background-color: #218838; - border-color: #1e7e34; - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} - -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; -} - -.btn-info:focus, .btn-info.focus { - color: #fff; - background-color: #138496; - border-color: #117a8b; - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; -} - -.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; -} - -.btn-warning:focus, .btn-warning.focus { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; -} - -.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} - -.btn-danger:focus, .btn-danger.focus { - color: #fff; - background-color: #c82333; - border-color: #bd2130; - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} - -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; -} - -.btn-light:focus, .btn-light.focus { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-light.disabled, .btn-light:disabled { - color: #212529; - 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: #212529; - background-color: #dae0e5; - border-color: #d3d9df; -} - -.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; -} - -.btn-dark:focus, .btn-dark.focus { - color: #fff; - background-color: #23272b; - border-color: #1d2124; - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-dark.disabled, .btn-dark:disabled { - color: #fff; - 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: #fff; - background-color: #1d2124; - border-color: #171a1d; -} - -.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-outline-primary { - color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; -} - -.btn-link:hover { - color: #0056b3; - text-decoration: underline; -} - -.btn-link:focus, .btn-link.focus { - text-decoration: underline; -} - -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type=submit].btn-block, -input[type=reset].btn-block, -input[type=button].btn-block { - width: 100%; -} - -.fade { - transition: opacity 0.15s linear; -} - -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} - -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} -.collapsing.width { - width: 0; - height: auto; - transition: width 0.35s ease; -} - -@media (prefers-reduced-motion: reduce) { - .collapsing.width { - transition: none; - } -} -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} - -.dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-menu-left { - right: auto; - left: 0; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -@media (min-width: 576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0; - } - .dropdown-menu-sm-right { - right: 0; - left: auto; - } -} -@media (min-width: 768px) { - .dropdown-menu-md-left { - right: auto; - left: 0; - } - .dropdown-menu-md-right { - right: 0; - left: auto; - } -} -@media (min-width: 992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; - } - .dropdown-menu-lg-right { - right: 0; - left: auto; - } -} -@media (min-width: 1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0; - } - .dropdown-menu-xl-right { - right: 0; - left: auto; - } -} -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; -} - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-toggle::after { - vertical-align: 0; -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; -} - -.dropleft .dropdown-toggle::after { - display: none; -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] { - right: auto; - bottom: auto; -} - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} - -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #e9ecef; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #adb5bd; - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - flex: 1 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 1; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; -} - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; -} - -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group { - width: 100%; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; -} - -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; -} - -.btn-group-toggle > .btn input[type=radio], -.btn-group-toggle > .btn input[type=checkbox], -.btn-group-toggle > .btn-group > .btn input[type=radio], -.btn-group-toggle > .btn-group > .btn input[type=checkbox] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; -} - -.input-group > .form-control, -.input-group > .form-control-plaintext, -.input-group > .custom-select, -.input-group > .custom-file { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; - margin-bottom: 0; -} - -.input-group > .form-control + .form-control, -.input-group > .form-control + .custom-select, -.input-group > .form-control + .custom-file, -.input-group > .form-control-plaintext + .form-control, -.input-group > .form-control-plaintext + .custom-select, -.input-group > .form-control-plaintext + .custom-file, -.input-group > .custom-select + .form-control, -.input-group > .custom-select + .custom-select, -.input-group > .custom-select + .custom-file, -.input-group > .custom-file + .form-control, -.input-group > .custom-file + .custom-select, -.input-group > .custom-file + .custom-file { - margin-left: -1px; -} - -.input-group > .form-control:focus, -.input-group > .custom-select:focus, -.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; -} - -.input-group > .custom-file .custom-file-input:focus { - z-index: 4; -} - -.input-group > .form-control:not(:first-child), -.input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group > .custom-file { - display: flex; - align-items: center; -} - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group:not(.has-validation) > .form-control:not(:last-child), -.input-group:not(.has-validation) > .custom-select:not(:last-child), -.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label, -.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group.has-validation > .form-control:nth-last-child(n+3), -.input-group.has-validation > .custom-select:nth-last-child(n+3), -.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label, -.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group-prepend, -.input-group-append { - display: flex; -} - -.input-group-prepend .btn, -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-prepend .btn:focus, -.input-group-append .btn:focus { - z-index: 3; -} - -.input-group-prepend .btn + .btn, -.input-group-prepend .btn + .input-group-text, -.input-group-prepend .input-group-text + .input-group-text, -.input-group-prepend .input-group-text + .btn, -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-prepend { - margin-right: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.input-group-text input[type=radio], -.input-group-text input[type=checkbox] { - margin-top: 0; -} - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: calc(1.5em + 1rem + 2px); -} - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: calc(1.5em + 0.5rem + 2px); -} - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: 1.75rem; -} - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, -.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, -.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn, -.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - z-index: 1; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; - -webkit-print-color-adjust: exact; - print-color-adjust: exact; -} - -.custom-control-inline { - display: inline-flex; - margin-right: 1rem; -} - -.custom-control-input { - position: absolute; - left: 0; - z-index: -1; - width: 1rem; - height: 1.25rem; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: #007bff; - background-color: #007bff; -} - -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #80bdff; -} - -.custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff; -} - -.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} - -.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; -} - -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fff; - border: 1px solid #adb5bd; -} - -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: 50%/50% 50% no-repeat; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: #007bff; - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-radio .custom-control-label::before { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); -} - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-switch { - padding-left: 2.25rem; -} - -.custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; -} - -.custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - background-color: #adb5bd; - border-radius: 0.5rem; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; - } -} -.custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fff; - transform: translateX(0.75rem); -} - -.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; -} - -.custom-select::-ms-expand { - display: none; -} - -.custom-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #495057; -} - -.custom-select-sm { - height: calc(1.5em + 0.5rem + 2px); - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; -} - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin: 0; - overflow: hidden; - opacity: 0; -} - -.custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-file-input[disabled] ~ .custom-file-label, -.custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; -} - -.custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; -} - -.custom-file-input ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - overflow: hidden; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + 0.75rem); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-range { - width: 100%; - height: 1.4rem; - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-range:focus { - outline: 0; -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range::-moz-focus-outer { - border: 0; -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none; - } -} -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - -moz-transition: none; - transition: none; - } -} -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - -ms-transition: none; - transition: none; - } -} -.custom-range::-ms-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-webkit-slider-runnable-track { - cursor: default; -} - -.custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-moz-range-track { - cursor: default; -} - -.custom-range:disabled::-ms-thumb { - background-color: #adb5bd; -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; - } -} -.nav { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} - -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} - -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6; -} - -.nav-tabs .nav-link { - margin-bottom: -1px; - background-color: transparent; - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; - border-color: #e9ecef #e9ecef #dee2e6; -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - background: none; - border: 0; - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; -} - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; -} - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: 0.5rem 1rem; -} - -.navbar .container, -.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: 50%/100% 100% no-repeat; -} - -.navbar-nav-scroll { - max-height: 75vh; - overflow-y: auto; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 576px) { - .navbar-expand-sm { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } -} -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 768px) { - .navbar-expand-md { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 992px) { - .navbar-expand-lg { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } -} -.navbar-expand { - flex-flow: row nowrap; - justify-content: flex-start; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { - padding-right: 0; - padding-left: 0; -} - -.navbar-expand .navbar-nav { - flex-direction: row; -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { - flex-wrap: nowrap; -} - -.navbar-expand .navbar-nav-scroll { - overflow: visible; -} - -.navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; -} - -.navbar-expand .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-brand { - color: #fff; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: #fff; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; -} - -.card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card > hr { - margin-right: 0; - margin-left: 0; -} - -.card > .list-group { - border-top: inherit; - border-bottom: inherit; -} - -.card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card > .card-header + .list-group, -.card > .list-group + .card-footer { - border-top: 0; -} - -.card-body { - flex: 1 1 auto; - min-height: 1px; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; - border-radius: calc(0.25rem - 1px); -} - -.card-img, -.card-img-top, -.card-img-bottom { - flex-shrink: 0; - width: 100%; -} - -.card-img, -.card-img-top { - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card-img, -.card-img-bottom { - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card-deck .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-deck { - display: flex; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { - flex: 1 0 0%; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} -.card-group > .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; - } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; - } -} -.card-columns .card { - margin-bottom: 0.75rem; -} - -@media (min-width: 576px) { - .card-columns { - -moz-column-count: 3; - column-count: 3; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} -.accordion { - overflow-anchor: none; -} - -.accordion > .card { - overflow: hidden; -} - -.accordion > .card:not(:last-of-type) { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.accordion > .card:not(:first-of-type) { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.accordion > .card > .card-header { - border-radius: 0; - margin-bottom: -1px; -} - -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; -} - -.breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #6c757d; -} - -.pagination { - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.page-link:focus { - z-index: 3; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 3; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .badge { - transition: none; - } -} -a.badge:hover, a.badge:focus { - text-decoration: none; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-primary { - color: #fff; - background-color: #007bff; -} - -a.badge-primary:hover, a.badge-primary:focus { - color: #fff; - background-color: #0062cc; -} - -a.badge-primary:focus, a.badge-primary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} - -a.badge-secondary:hover, a.badge-secondary:focus { - color: #fff; - background-color: #545b62; -} - -a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.badge-success { - color: #fff; - background-color: #28a745; -} - -a.badge-success:hover, a.badge-success:focus { - color: #fff; - background-color: #1e7e34; -} - -a.badge-success:focus, a.badge-success.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.badge-info { - color: #fff; - background-color: #17a2b8; -} - -a.badge-info:hover, a.badge-info:focus { - color: #fff; - background-color: #117a8b; -} - -a.badge-info:focus, a.badge-info.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.badge-warning { - color: #212529; - background-color: #ffc107; -} - -a.badge-warning:hover, a.badge-warning:focus { - color: #212529; - background-color: #d39e00; -} - -a.badge-warning:focus, a.badge-warning.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} - -a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #bd2130; -} - -a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.badge-light { - color: #212529; - background-color: #f8f9fa; -} - -a.badge-light:hover, a.badge-light:focus { - color: #212529; - background-color: #dae0e5; -} - -a.badge-light:focus, a.badge-light.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.badge-dark { - color: #fff; - background-color: #343a40; -} - -a.badge-dark:hover, a.badge-dark:focus { - color: #fff; - background-color: #1d2124; -} - -a.badge-dark:focus, a.badge-dark.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: 700; -} - -.alert-dismissible { - padding-right: 4rem; -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; -} - -.alert-primary hr { - border-top-color: #9fcdff; -} - -.alert-primary .alert-link { - color: #002752; -} - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; -} - -.alert-secondary hr { - border-top-color: #c8cbcf; -} - -.alert-secondary .alert-link { - color: #202326; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} - -.alert-success hr { - border-top-color: #b1dfbb; -} - -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; -} - -.alert-info hr { - border-top-color: #abdde5; -} - -.alert-info .alert-link { - color: #062c33; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} - -.alert-warning hr { - border-top-color: #ffe8a1; -} - -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} - -.alert-danger hr { - border-top-color: #f1b0b7; -} - -.alert-danger .alert-link { - color: #491217; -} - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; -} - -.alert-light hr { - border-top-color: #ececf6; -} - -.alert-light .alert-link { - color: #686868; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -.alert-dark hr { - border-top-color: #b9bbbe; -} - -.alert-dark .alert-link { - color: #040505; -} -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} -.progress { - display: flex; - height: 1rem; - overflow: hidden; - line-height: 0; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - transition: width 0.6s ease; -} - -@media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; -} - -.progress-bar-animated { - animation: 1s linear infinite progress-bar-stripes; -} - -@media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - animation: none; - } -} -.media { - display: flex; - align-items: flex-start; -} - -.media-body { - flex: 1; -} - -.list-group { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: 0.25rem; -} - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; -} - -.list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa; -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; -} - -.list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.list-group-item + .list-group-item { - border-top-width: 0; -} - -.list-group-item + .list-group-item.active { - margin-top: -1px; - border-top-width: 1px; -} - -.list-group-horizontal { - flex-direction: row; -} - -.list-group-horizontal > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; -} - -.list-group-horizontal > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; -} - -.list-group-horizontal > .list-group-item.active { - margin-top: 0; -} - -.list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; -} - -.list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; -} - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; - } - .list-group-horizontal-sm > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-sm > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; - } - .list-group-horizontal-md > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-md > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; - } - .list-group-horizontal-lg > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-lg > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; - } - .list-group-horizontal-xl > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-xl > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} -.list-group-flush { - border-radius: 0; -} - -.list-group-flush > .list-group-item { - border-width: 0 0 1px; -} - -.list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; -} - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; -} - -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; -} - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; -} - -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; -} - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; -} - -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; -} - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; -} - -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; -} - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; -} - -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; -} - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; -} - -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; -} - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; -} - -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; -} - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; -} - -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: 0.5; -} - -.close:hover { - color: #000; - text-decoration: none; -} - -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: 0.75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; -} - -a.close.disabled { - pointer-events: none; -} - -.toast { - flex-basis: 350px; - max-width: 350px; - font-size: 0.875rem; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - opacity: 0; - border-radius: 0.25rem; -} - -.toast:not(:last-child) { - margin-bottom: 0.75rem; -} - -.toast.showing { - opacity: 1; -} - -.toast.show { - display: block; - opacity: 1; -} - -.toast.hide { - display: none; -} - -.toast-header { - display: flex; - align-items: center; - padding: 0.25rem 0.75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.toast-body { - padding: 0.75rem; -} - -.modal-open { - overflow: hidden; -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} - -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); -} - -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} -.modal.show .modal-dialog { - transform: none; -} - -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - display: flex; - max-height: calc(100% - 1rem); -} - -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; -} - -.modal-dialog-scrollable .modal-header, -.modal-dialog-scrollable .modal-footer { - flex-shrink: 0; -} - -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - 1rem); -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - height: -moz-min-content; - height: min-content; - content: ""; -} - -.modal-dialog-centered.modal-dialog-scrollable { - flex-direction: column; - justify-content: center; - height: 100%; -} - -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; -} - -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none; -} - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: flex; - align-items: flex-start; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: 0.75rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: calc(0.3rem - 1px); - border-bottom-left-radius: calc(0.3rem - 1px); -} - -.modal-footer > * { - margin: 0.25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); - } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); - } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); - height: -moz-min-content; - height: min-content; - } - .modal-sm { - max-width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - max-width: 800px; - } -} -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^=top] { - margin-bottom: 0.5rem; -} - -.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow { - bottom: calc(-0.5rem - 1px); -} - -.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^=right] { - margin-left: 0.5rem; -} - -.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow { - left: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] { - margin-top: 0.5rem; -} - -.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow { - top: calc(-0.5rem - 1px); -} - -.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^=left] { - margin-right: 0.5rem; -} - -.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow { - right: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-inner::after { - display: block; - clear: both; - content: ""; -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next:not(.carousel-item-left), -.active.carousel-item-right { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - transform: translateX(-100%); -} - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; -} - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - transition: none; - } -} -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #fff; - text-align: center; - background: none; - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; - } -} -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: 50%/100% 100% no-repeat; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - transition: none; - } -} -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} -@keyframes spinner-border { - to { - transform: rotate(360deg); - } -} -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: -0.125em; - border: 0.25em solid currentcolor; - border-right-color: transparent; - border-radius: 50%; - animation: 0.75s linear infinite spinner-border; -} - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: 0.2em; -} -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: -0.125em; - background-color: currentcolor; - border-radius: 50%; - opacity: 0; - animation: 0.75s linear infinite spinner-grow; -} - -.spinner-grow-sm { - width: 1rem; - height: 1rem; -} - -@media (prefers-reduced-motion: reduce) { - .spinner-border, - .spinner-grow { - animation-duration: 1.5s; - } -} -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-primary { - background-color: #007bff !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; -} - -.bg-white { - background-color: #fff !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid #dee2e6 !important; -} - -.border-top { - border-top: 1px solid #dee2e6 !important; -} - -.border-right { - border-right: 1px solid #dee2e6 !important; -} - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; -} - -.border-left { - border-left: 1px solid #dee2e6 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.border-primary { - border-color: #007bff !important; -} - -.border-secondary { - border-color: #6c757d !important; -} - -.border-success { - border-color: #28a745 !important; -} - -.border-info { - border-color: #17a2b8 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-danger { - border-color: #dc3545 !important; -} - -.border-light { - border-color: #f8f9fa !important; -} - -.border-dark { - border-color: #343a40 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded-sm { - border-radius: 0.2rem !important; -} - -.rounded { - border-radius: 0.25rem !important; -} - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; -} - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-lg { - border-radius: 0.3rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: 50rem !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } -} -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } -} -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } -} -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } -} -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: flex !important; - } - .d-print-inline-flex { - display: inline-flex !important; - } -} -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.flex-row { - flex-direction: row !important; -} - -.flex-column { - flex-direction: column !important; -} - -.flex-row-reverse { - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - flex-direction: column-reverse !important; -} - -.flex-wrap { - flex-wrap: wrap !important; -} - -.flex-nowrap { - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - flex: 1 1 auto !important; -} - -.flex-grow-0 { - flex-grow: 0 !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.flex-shrink-0 { - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - flex-shrink: 1 !important; -} - -.justify-content-start { - justify-content: flex-start !important; -} - -.justify-content-end { - justify-content: flex-end !important; -} - -.justify-content-center { - justify-content: center !important; -} - -.justify-content-between { - justify-content: space-between !important; -} - -.justify-content-around { - justify-content: space-around !important; -} - -.align-items-start { - align-items: flex-start !important; -} - -.align-items-end { - align-items: flex-end !important; -} - -.align-items-center { - align-items: center !important; -} - -.align-items-baseline { - align-items: baseline !important; -} - -.align-items-stretch { - align-items: stretch !important; -} - -.align-content-start { - align-content: flex-start !important; -} - -.align-content-end { - align-content: flex-end !important; -} - -.align-content-center { - align-content: center !important; -} - -.align-content-between { - align-content: space-between !important; -} - -.align-content-around { - align-content: space-around !important; -} - -.align-content-stretch { - align-content: stretch !important; -} - -.align-self-auto { - align-self: auto !important; -} - -.align-self-start { - align-self: flex-start !important; -} - -.align-self-end { - align-self: flex-end !important; -} - -.align-self-center { - align-self: center !important; -} - -.align-self-baseline { - align-self: baseline !important; -} - -.align-self-stretch { - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - flex-direction: row !important; - } - .flex-sm-column { - flex-direction: column !important; - } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-sm-start { - justify-content: flex-start !important; - } - .justify-content-sm-end { - justify-content: flex-end !important; - } - .justify-content-sm-center { - justify-content: center !important; - } - .justify-content-sm-between { - justify-content: space-between !important; - } - .justify-content-sm-around { - justify-content: space-around !important; - } - .align-items-sm-start { - align-items: flex-start !important; - } - .align-items-sm-end { - align-items: flex-end !important; - } - .align-items-sm-center { - align-items: center !important; - } - .align-items-sm-baseline { - align-items: baseline !important; - } - .align-items-sm-stretch { - align-items: stretch !important; - } - .align-content-sm-start { - align-content: flex-start !important; - } - .align-content-sm-end { - align-content: flex-end !important; - } - .align-content-sm-center { - align-content: center !important; - } - .align-content-sm-between { - align-content: space-between !important; - } - .align-content-sm-around { - align-content: space-around !important; - } - .align-content-sm-stretch { - align-content: stretch !important; - } - .align-self-sm-auto { - align-self: auto !important; - } - .align-self-sm-start { - align-self: flex-start !important; - } - .align-self-sm-end { - align-self: flex-end !important; - } - .align-self-sm-center { - align-self: center !important; - } - .align-self-sm-baseline { - align-self: baseline !important; - } - .align-self-sm-stretch { - align-self: stretch !important; - } -} -@media (min-width: 768px) { - .flex-md-row { - flex-direction: row !important; - } - .flex-md-column { - flex-direction: column !important; - } - .flex-md-row-reverse { - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - flex-direction: column-reverse !important; - } - .flex-md-wrap { - flex-wrap: wrap !important; - } - .flex-md-nowrap { - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - flex-grow: 0 !important; - } - .flex-md-grow-1 { - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-md-start { - justify-content: flex-start !important; - } - .justify-content-md-end { - justify-content: flex-end !important; - } - .justify-content-md-center { - justify-content: center !important; - } - .justify-content-md-between { - justify-content: space-between !important; - } - .justify-content-md-around { - justify-content: space-around !important; - } - .align-items-md-start { - align-items: flex-start !important; - } - .align-items-md-end { - align-items: flex-end !important; - } - .align-items-md-center { - align-items: center !important; - } - .align-items-md-baseline { - align-items: baseline !important; - } - .align-items-md-stretch { - align-items: stretch !important; - } - .align-content-md-start { - align-content: flex-start !important; - } - .align-content-md-end { - align-content: flex-end !important; - } - .align-content-md-center { - align-content: center !important; - } - .align-content-md-between { - align-content: space-between !important; - } - .align-content-md-around { - align-content: space-around !important; - } - .align-content-md-stretch { - align-content: stretch !important; - } - .align-self-md-auto { - align-self: auto !important; - } - .align-self-md-start { - align-self: flex-start !important; - } - .align-self-md-end { - align-self: flex-end !important; - } - .align-self-md-center { - align-self: center !important; - } - .align-self-md-baseline { - align-self: baseline !important; - } - .align-self-md-stretch { - align-self: stretch !important; - } -} -@media (min-width: 992px) { - .flex-lg-row { - flex-direction: row !important; - } - .flex-lg-column { - flex-direction: column !important; - } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-lg-start { - justify-content: flex-start !important; - } - .justify-content-lg-end { - justify-content: flex-end !important; - } - .justify-content-lg-center { - justify-content: center !important; - } - .justify-content-lg-between { - justify-content: space-between !important; - } - .justify-content-lg-around { - justify-content: space-around !important; - } - .align-items-lg-start { - align-items: flex-start !important; - } - .align-items-lg-end { - align-items: flex-end !important; - } - .align-items-lg-center { - align-items: center !important; - } - .align-items-lg-baseline { - align-items: baseline !important; - } - .align-items-lg-stretch { - align-items: stretch !important; - } - .align-content-lg-start { - align-content: flex-start !important; - } - .align-content-lg-end { - align-content: flex-end !important; - } - .align-content-lg-center { - align-content: center !important; - } - .align-content-lg-between { - align-content: space-between !important; - } - .align-content-lg-around { - align-content: space-around !important; - } - .align-content-lg-stretch { - align-content: stretch !important; - } - .align-self-lg-auto { - align-self: auto !important; - } - .align-self-lg-start { - align-self: flex-start !important; - } - .align-self-lg-end { - align-self: flex-end !important; - } - .align-self-lg-center { - align-self: center !important; - } - .align-self-lg-baseline { - align-self: baseline !important; - } - .align-self-lg-stretch { - align-self: stretch !important; - } -} -@media (min-width: 1200px) { - .flex-xl-row { - flex-direction: row !important; - } - .flex-xl-column { - flex-direction: column !important; - } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-xl-start { - justify-content: flex-start !important; - } - .justify-content-xl-end { - justify-content: flex-end !important; - } - .justify-content-xl-center { - justify-content: center !important; - } - .justify-content-xl-between { - justify-content: space-between !important; - } - .justify-content-xl-around { - justify-content: space-around !important; - } - .align-items-xl-start { - align-items: flex-start !important; - } - .align-items-xl-end { - align-items: flex-end !important; - } - .align-items-xl-center { - align-items: center !important; - } - .align-items-xl-baseline { - align-items: baseline !important; - } - .align-items-xl-stretch { - align-items: stretch !important; - } - .align-content-xl-start { - align-content: flex-start !important; - } - .align-content-xl-end { - align-content: flex-end !important; - } - .align-content-xl-center { - align-content: center !important; - } - .align-content-xl-between { - align-content: space-between !important; - } - .align-content-xl-around { - align-content: space-around !important; - } - .align-content-xl-stretch { - align-content: stretch !important; - } - .align-self-xl-auto { - align-self: auto !important; - } - .align-self-xl-start { - align-self: flex-start !important; - } - .align-self-xl-end { - align-self: flex-end !important; - } - .align-self-xl-center { - align-self: center !important; - } - .align-self-xl-baseline { - align-self: baseline !important; - } - .align-self-xl-stretch { - align-self: stretch !important; - } -} -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} -.user-select-all { - -webkit-user-select: all !important; - -moz-user-select: all !important; - user-select: all !important; -} - -.user-select-auto { - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - user-select: auto !important; -} - -.user-select-none { - -webkit-user-select: none !important; - -moz-user-select: none !important; - user-select: none !important; -} - -.overflow-auto { - overflow: auto !important; -} - -.overflow-hidden { - overflow: hidden !important; -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: sticky !important; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -@supports (position: sticky) { - .sticky-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.min-vw-100 { - min-width: 100vw !important; -} - -.min-vh-100 { - min-height: 100vh !important; -} - -.vw-100 { - width: 100vw !important; -} - -.vh-100 { - height: 100vh !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-n1 { - margin: -0.25rem !important; -} - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; -} - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; -} - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; -} - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; -} - -.m-n2 { - margin: -0.5rem !important; -} - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; -} - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; -} - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; -} - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; -} - -.m-n3 { - margin: -1rem !important; -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; -} - -.m-n4 { - margin: -1.5rem !important; -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; -} - -.m-n5 { - margin: -3rem !important; -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-n1 { - margin: -0.25rem !important; - } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; - } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; - } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; - } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; - } - .m-sm-n2 { - margin: -0.5rem !important; - } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; - } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; - } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; - } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; - } - .m-sm-n3 { - margin: -1rem !important; - } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; - } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; - } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; - } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; - } - .m-sm-n4 { - margin: -1.5rem !important; - } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; - } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; - } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; - } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; - } - .m-sm-n5 { - margin: -3rem !important; - } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; - } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; - } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; - } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-n1 { - margin: -0.25rem !important; - } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; - } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; - } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; - } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; - } - .m-md-n2 { - margin: -0.5rem !important; - } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; - } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; - } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; - } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; - } - .m-md-n3 { - margin: -1rem !important; - } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; - } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; - } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; - } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; - } - .m-md-n4 { - margin: -1.5rem !important; - } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; - } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; - } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; - } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; - } - .m-md-n5 { - margin: -3rem !important; - } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; - } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; - } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; - } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-n1 { - margin: -0.25rem !important; - } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; - } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; - } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; - } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; - } - .m-lg-n2 { - margin: -0.5rem !important; - } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; - } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; - } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; - } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; - } - .m-lg-n3 { - margin: -1rem !important; - } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; - } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; - } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; - } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; - } - .m-lg-n4 { - margin: -1.5rem !important; - } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; - } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; - } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; - } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; - } - .m-lg-n5 { - margin: -3rem !important; - } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; - } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; - } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; - } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-n1 { - margin: -0.25rem !important; - } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; - } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; - } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; - } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; - } - .m-xl-n2 { - margin: -0.5rem !important; - } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; - } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; - } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; - } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; - } - .m-xl-n3 { - margin: -1rem !important; - } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; - } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; - } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; - } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; - } - .m-xl-n4 { - margin: -1.5rem !important; - } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; - } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; - } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; - } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; - } - .m-xl-n5 { - margin: -3rem !important; - } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; - } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; - } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; - } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; -} - -.text-justify { - text-align: justify !important; -} - -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-light { - font-weight: 300 !important; -} - -.font-weight-lighter { - font-weight: lighter !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 700 !important; -} - -.font-weight-bolder { - font-weight: bolder !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: #007bff !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0056b3 !important; -} - -.text-secondary { - color: #6c757d !important; -} - -a.text-secondary:hover, a.text-secondary:focus { - color: #494f54 !important; -} - -.text-success { - color: #28a745 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #19692c !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #0f6674 !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #ba8b00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #a71d2a !important; -} - -.text-light { - color: #f8f9fa !important; -} - -a.text-light:hover, a.text-light:focus { - color: #cbd3da !important; -} - -.text-dark { - color: #343a40 !important; -} - -a.text-dark:hover, a.text-dark:focus { - color: #121416 !important; -} - -.text-body { - color: #212529 !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-break { - word-break: break-word !important; - word-wrap: break-word !important; -} - -.text-reset { - color: inherit !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a:not(.btn) { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - @page { - size: a3; - } - body { - min-width: 992px !important; - } - .container { - min-width: 992px !important; - } - .navbar { - display: none; - } - .badge { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; - } - .table-dark { - color: inherit; - } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; - } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; - } -} + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{background-color:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;margin-top:0}p{margin-bottom:1rem;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;color:#007bff;text-decoration:none}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:1rem;margin-top:1rem}.small,small{font-size:.875em;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#6c757d;display:block;font-size:.875em}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:90%}code{word-wrap:break-word;color:#e83e8c;font-size:87.5%}a>code{color:inherit}kbd{background-color:#212529;border-radius:.2rem;color:#fff;font-size:87.5%;padding:.2rem .4rem}kbd kbd{font-size:100%;font-weight:700;padding:0}pre{color:#212529;display:block;font-size:87.5%}pre code{color:inherit;font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;max-width:100%;width:auto}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;max-width:100%;width:auto}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{color:#212529;margin-bottom:1rem;width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{background-color:#343a40;border-color:#454d55;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark{background-color:#343a40;color:#fff}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive>.table-bordered{border:0}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{background-color:#fff;border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);color:#495057;outline:0}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:.2rem;font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#28a745;display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:rgba(40,167,69,.9);border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#28a745;padding-right:calc(1.5em + .75rem)!important}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#34ce57;border-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{color:#dc3545;display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:rgba(220,53,69,.9);border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e4606d;border-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#212529;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:transparent;color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:transparent;color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:transparent;color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:transparent;color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:transparent;color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:transparent;color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{color:#007bff;font-weight:400;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;position:relative;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{height:auto;transition:width .35s ease;width:0}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:transparent;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:#e9ecef;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:#adb5bd;pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.custom-file{align-items:center;display:flex}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-bottom-left-radius:0;border-top-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:flex;font-size:1rem;font-weight:400;line-height:1.5;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:checked~.custom-control-label:before{background-color:#007bff;border-color:#007bff;color:#fff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#b3d7ff;border-color:#b3d7ff;color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#007bff;border-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:inline-block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle;width:100%}.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;overflow:hidden;z-index:2}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;overflow:hidden;z-index:1}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.4rem;padding:0;width:100%}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{background-color:transparent;border-color:transparent;border-width:.5rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{background-color:transparent;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin-bottom:-1px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{background-color:transparent;border-color:transparent;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#007bff;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{padding:.5rem 1rem;position:relative}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:1px solid transparent;border-radius:.25rem;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1);color:rgba(0,0,0,.5)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{border-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{word-wrap:break-word;background-clip:border-box;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0 0%;margin-bottom:0;margin-left:15px;margin-right:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{background-color:#e9ecef;border-radius:.25rem;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:1rem;padding:.75rem 1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{color:#6c757d;content:"/";float:left;padding-right:.5rem}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#007bff;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem;position:relative}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#0056b3;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#007bff;border-color:#007bff;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:baseline;white-space:nowrap}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#007bff;color:#fff}a.badge-primary:focus,a.badge-primary:hover{background-color:#0062cc;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5);outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5);outline:0}.badge-success{background-color:#28a745;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#1e7e34;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5);outline:0}.badge-info{background-color:#17a2b8;color:#fff}a.badge-info:focus,a.badge-info:hover{background-color:#117a8b;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5);outline:0}.badge-warning{background-color:#ffc107;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#d39e00;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5);outline:0}.badge-danger{background-color:#dc3545;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#bd2130;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5);outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5);outline:0}.badge-dark{background-color:#343a40;color:#fff}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5);outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid transparent;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{background-color:#cce5ff;border-color:#b8daff;color:#004085}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;font-size:.75rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:#007bff;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease;white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{align-items:flex-start;display:flex}.media-body{flex:1}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem;position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#007bff;border-color:#007bff;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#b8daff;color:#004085}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#9fcdff;color:#004085}.list-group-item-primary.list-group-item-action.active{background-color:#004085;border-color:#004085;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c3e6cb;color:#155724}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b1dfbb;color:#155724}.list-group-item-success.list-group-item-action.active{background-color:#155724;border-color:#155724;color:#fff}.list-group-item-info{background-color:#bee5eb;color:#0c5460}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#abdde5;color:#0c5460}.list-group-item-info.list-group-item-action.active{background-color:#0c5460;border-color:#0c5460;color:#fff}.list-group-item-warning{background-color:#ffeeba;color:#856404}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#ffe8a1;color:#856404}.list-group-item-warning.list-group-item-action.active{background-color:#856404;border-color:#856404;color:#fff}.list-group-item-danger{background-color:#f5c6cb;color:#721c24}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f1b0b7;color:#721c24}.list-group-item-danger.list-group-item-action.active{background-color:#721c24;border-color:#721c24;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:transparent;border:0;padding:0}a.close.disabled{pointer-events:none}.toast{background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border:1px solid rgba(0,0,0,.1);border-radius:.25rem;box-shadow:0 .25rem .75rem rgba(0,0,0,.1);flex-basis:350px;font-size:.875rem;max-width:350px;opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:-moz-min-content;height:min-content}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{line-height:1.5;margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:576px){.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{word-wrap:break-word;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:0;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.popover{word-wrap:break-word;background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:276px;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:transparent;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:rgba(0,0,0,.25);border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:rgba(0,0,0,.25);border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:rgba(0,0,0,.25);border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:rgba(0,0,0,.25);border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-header:empty{display:none}.popover-body{color:#212529;padding:.5rem .75rem}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:content-box;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid transparent;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:spinner-grow .75s linear infinite;background-color:currentcolor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}.spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{clear:both;content:"";display:block}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{background-color:transparent;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}} /*! * Bootstrap Icons v1.13.1 (https://icons.getbootstrap.com/) * Copyright 2019-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) - */ -@font-face { - font-display: block; - font-family: "bootstrap-icons"; - src: url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?92ea18a81d737146ff044ddb52010366) format("woff2"), url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff?1295669cd4e305c97f2cfc16d56614b8) format("woff"); -} -.bi::before, -[class^=bi-]::before, -[class*=" bi-"]::before { - display: inline-block; - font-family: "bootstrap-icons" !important; - font-style: normal; - font-weight: normal !important; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: -0.125em; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.bi-123::before { - content: "\f67f"; -} - -.bi-alarm-fill::before { - content: "\f101"; -} - -.bi-alarm::before { - content: "\f102"; -} - -.bi-align-bottom::before { - content: "\f103"; -} - -.bi-align-center::before { - content: "\f104"; -} - -.bi-align-end::before { - content: "\f105"; -} - -.bi-align-middle::before { - content: "\f106"; -} - -.bi-align-start::before { - content: "\f107"; -} - -.bi-align-top::before { - content: "\f108"; -} - -.bi-alt::before { - content: "\f109"; -} - -.bi-app-indicator::before { - content: "\f10a"; -} - -.bi-app::before { - content: "\f10b"; -} - -.bi-archive-fill::before { - content: "\f10c"; -} - -.bi-archive::before { - content: "\f10d"; -} - -.bi-arrow-90deg-down::before { - content: "\f10e"; -} - -.bi-arrow-90deg-left::before { - content: "\f10f"; -} - -.bi-arrow-90deg-right::before { - content: "\f110"; -} - -.bi-arrow-90deg-up::before { - content: "\f111"; -} - -.bi-arrow-bar-down::before { - content: "\f112"; -} - -.bi-arrow-bar-left::before { - content: "\f113"; -} - -.bi-arrow-bar-right::before { - content: "\f114"; -} - -.bi-arrow-bar-up::before { - content: "\f115"; -} - -.bi-arrow-clockwise::before { - content: "\f116"; -} - -.bi-arrow-counterclockwise::before { - content: "\f117"; -} - -.bi-arrow-down-circle-fill::before { - content: "\f118"; -} - -.bi-arrow-down-circle::before { - content: "\f119"; -} - -.bi-arrow-down-left-circle-fill::before { - content: "\f11a"; -} - -.bi-arrow-down-left-circle::before { - content: "\f11b"; -} - -.bi-arrow-down-left-square-fill::before { - content: "\f11c"; -} - -.bi-arrow-down-left-square::before { - content: "\f11d"; -} - -.bi-arrow-down-left::before { - content: "\f11e"; -} - -.bi-arrow-down-right-circle-fill::before { - content: "\f11f"; -} - -.bi-arrow-down-right-circle::before { - content: "\f120"; -} - -.bi-arrow-down-right-square-fill::before { - content: "\f121"; -} - -.bi-arrow-down-right-square::before { - content: "\f122"; -} - -.bi-arrow-down-right::before { - content: "\f123"; -} - -.bi-arrow-down-short::before { - content: "\f124"; -} - -.bi-arrow-down-square-fill::before { - content: "\f125"; -} - -.bi-arrow-down-square::before { - content: "\f126"; -} - -.bi-arrow-down-up::before { - content: "\f127"; -} - -.bi-arrow-down::before { - content: "\f128"; -} - -.bi-arrow-left-circle-fill::before { - content: "\f129"; -} - -.bi-arrow-left-circle::before { - content: "\f12a"; -} - -.bi-arrow-left-right::before { - content: "\f12b"; -} - -.bi-arrow-left-short::before { - content: "\f12c"; -} - -.bi-arrow-left-square-fill::before { - content: "\f12d"; -} - -.bi-arrow-left-square::before { - content: "\f12e"; -} - -.bi-arrow-left::before { - content: "\f12f"; -} - -.bi-arrow-repeat::before { - content: "\f130"; -} - -.bi-arrow-return-left::before { - content: "\f131"; -} - -.bi-arrow-return-right::before { - content: "\f132"; -} - -.bi-arrow-right-circle-fill::before { - content: "\f133"; -} - -.bi-arrow-right-circle::before { - content: "\f134"; -} - -.bi-arrow-right-short::before { - content: "\f135"; -} - -.bi-arrow-right-square-fill::before { - content: "\f136"; -} - -.bi-arrow-right-square::before { - content: "\f137"; -} - -.bi-arrow-right::before { - content: "\f138"; -} - -.bi-arrow-up-circle-fill::before { - content: "\f139"; -} - -.bi-arrow-up-circle::before { - content: "\f13a"; -} - -.bi-arrow-up-left-circle-fill::before { - content: "\f13b"; -} - -.bi-arrow-up-left-circle::before { - content: "\f13c"; -} - -.bi-arrow-up-left-square-fill::before { - content: "\f13d"; -} - -.bi-arrow-up-left-square::before { - content: "\f13e"; -} - -.bi-arrow-up-left::before { - content: "\f13f"; -} - -.bi-arrow-up-right-circle-fill::before { - content: "\f140"; -} - -.bi-arrow-up-right-circle::before { - content: "\f141"; -} - -.bi-arrow-up-right-square-fill::before { - content: "\f142"; -} - -.bi-arrow-up-right-square::before { - content: "\f143"; -} - -.bi-arrow-up-right::before { - content: "\f144"; -} - -.bi-arrow-up-short::before { - content: "\f145"; -} - -.bi-arrow-up-square-fill::before { - content: "\f146"; -} - -.bi-arrow-up-square::before { - content: "\f147"; -} - -.bi-arrow-up::before { - content: "\f148"; -} - -.bi-arrows-angle-contract::before { - content: "\f149"; -} - -.bi-arrows-angle-expand::before { - content: "\f14a"; -} - -.bi-arrows-collapse::before { - content: "\f14b"; -} - -.bi-arrows-expand::before { - content: "\f14c"; -} - -.bi-arrows-fullscreen::before { - content: "\f14d"; -} - -.bi-arrows-move::before { - content: "\f14e"; -} - -.bi-aspect-ratio-fill::before { - content: "\f14f"; -} - -.bi-aspect-ratio::before { - content: "\f150"; -} - -.bi-asterisk::before { - content: "\f151"; -} - -.bi-at::before { - content: "\f152"; -} - -.bi-award-fill::before { - content: "\f153"; -} - -.bi-award::before { - content: "\f154"; -} - -.bi-back::before { - content: "\f155"; -} - -.bi-backspace-fill::before { - content: "\f156"; -} - -.bi-backspace-reverse-fill::before { - content: "\f157"; -} - -.bi-backspace-reverse::before { - content: "\f158"; -} - -.bi-backspace::before { - content: "\f159"; -} - -.bi-badge-3d-fill::before { - content: "\f15a"; -} - -.bi-badge-3d::before { - content: "\f15b"; -} - -.bi-badge-4k-fill::before { - content: "\f15c"; -} - -.bi-badge-4k::before { - content: "\f15d"; -} - -.bi-badge-8k-fill::before { - content: "\f15e"; -} - -.bi-badge-8k::before { - content: "\f15f"; -} - -.bi-badge-ad-fill::before { - content: "\f160"; -} - -.bi-badge-ad::before { - content: "\f161"; -} - -.bi-badge-ar-fill::before { - content: "\f162"; -} - -.bi-badge-ar::before { - content: "\f163"; -} - -.bi-badge-cc-fill::before { - content: "\f164"; -} - -.bi-badge-cc::before { - content: "\f165"; -} - -.bi-badge-hd-fill::before { - content: "\f166"; -} - -.bi-badge-hd::before { - content: "\f167"; -} - -.bi-badge-tm-fill::before { - content: "\f168"; -} - -.bi-badge-tm::before { - content: "\f169"; -} - -.bi-badge-vo-fill::before { - content: "\f16a"; -} - -.bi-badge-vo::before { - content: "\f16b"; -} - -.bi-badge-vr-fill::before { - content: "\f16c"; -} - -.bi-badge-vr::before { - content: "\f16d"; -} - -.bi-badge-wc-fill::before { - content: "\f16e"; -} - -.bi-badge-wc::before { - content: "\f16f"; -} - -.bi-bag-check-fill::before { - content: "\f170"; -} - -.bi-bag-check::before { - content: "\f171"; -} - -.bi-bag-dash-fill::before { - content: "\f172"; -} - -.bi-bag-dash::before { - content: "\f173"; -} - -.bi-bag-fill::before { - content: "\f174"; -} - -.bi-bag-plus-fill::before { - content: "\f175"; -} - -.bi-bag-plus::before { - content: "\f176"; -} - -.bi-bag-x-fill::before { - content: "\f177"; -} - -.bi-bag-x::before { - content: "\f178"; -} - -.bi-bag::before { - content: "\f179"; -} - -.bi-bar-chart-fill::before { - content: "\f17a"; -} - -.bi-bar-chart-line-fill::before { - content: "\f17b"; -} - -.bi-bar-chart-line::before { - content: "\f17c"; -} - -.bi-bar-chart-steps::before { - content: "\f17d"; -} - -.bi-bar-chart::before { - content: "\f17e"; -} - -.bi-basket-fill::before { - content: "\f17f"; -} - -.bi-basket::before { - content: "\f180"; -} - -.bi-basket2-fill::before { - content: "\f181"; -} - -.bi-basket2::before { - content: "\f182"; -} - -.bi-basket3-fill::before { - content: "\f183"; -} - -.bi-basket3::before { - content: "\f184"; -} - -.bi-battery-charging::before { - content: "\f185"; -} - -.bi-battery-full::before { - content: "\f186"; -} - -.bi-battery-half::before { - content: "\f187"; -} - -.bi-battery::before { - content: "\f188"; -} - -.bi-bell-fill::before { - content: "\f189"; -} - -.bi-bell::before { - content: "\f18a"; -} - -.bi-bezier::before { - content: "\f18b"; -} - -.bi-bezier2::before { - content: "\f18c"; -} - -.bi-bicycle::before { - content: "\f18d"; -} - -.bi-binoculars-fill::before { - content: "\f18e"; -} - -.bi-binoculars::before { - content: "\f18f"; -} - -.bi-blockquote-left::before { - content: "\f190"; -} - -.bi-blockquote-right::before { - content: "\f191"; -} - -.bi-book-fill::before { - content: "\f192"; -} - -.bi-book-half::before { - content: "\f193"; -} - -.bi-book::before { - content: "\f194"; -} - -.bi-bookmark-check-fill::before { - content: "\f195"; -} - -.bi-bookmark-check::before { - content: "\f196"; -} - -.bi-bookmark-dash-fill::before { - content: "\f197"; -} - -.bi-bookmark-dash::before { - content: "\f198"; -} - -.bi-bookmark-fill::before { - content: "\f199"; -} - -.bi-bookmark-heart-fill::before { - content: "\f19a"; -} - -.bi-bookmark-heart::before { - content: "\f19b"; -} - -.bi-bookmark-plus-fill::before { - content: "\f19c"; -} - -.bi-bookmark-plus::before { - content: "\f19d"; -} - -.bi-bookmark-star-fill::before { - content: "\f19e"; -} - -.bi-bookmark-star::before { - content: "\f19f"; -} - -.bi-bookmark-x-fill::before { - content: "\f1a0"; -} - -.bi-bookmark-x::before { - content: "\f1a1"; -} - -.bi-bookmark::before { - content: "\f1a2"; -} - -.bi-bookmarks-fill::before { - content: "\f1a3"; -} - -.bi-bookmarks::before { - content: "\f1a4"; -} - -.bi-bookshelf::before { - content: "\f1a5"; -} - -.bi-bootstrap-fill::before { - content: "\f1a6"; -} - -.bi-bootstrap-reboot::before { - content: "\f1a7"; -} - -.bi-bootstrap::before { - content: "\f1a8"; -} - -.bi-border-all::before { - content: "\f1a9"; -} - -.bi-border-bottom::before { - content: "\f1aa"; -} - -.bi-border-center::before { - content: "\f1ab"; -} - -.bi-border-inner::before { - content: "\f1ac"; -} - -.bi-border-left::before { - content: "\f1ad"; -} - -.bi-border-middle::before { - content: "\f1ae"; -} - -.bi-border-outer::before { - content: "\f1af"; -} - -.bi-border-right::before { - content: "\f1b0"; -} - -.bi-border-style::before { - content: "\f1b1"; -} - -.bi-border-top::before { - content: "\f1b2"; -} - -.bi-border-width::before { - content: "\f1b3"; -} - -.bi-border::before { - content: "\f1b4"; -} - -.bi-bounding-box-circles::before { - content: "\f1b5"; -} - -.bi-bounding-box::before { - content: "\f1b6"; -} - -.bi-box-arrow-down-left::before { - content: "\f1b7"; -} - -.bi-box-arrow-down-right::before { - content: "\f1b8"; -} - -.bi-box-arrow-down::before { - content: "\f1b9"; -} - -.bi-box-arrow-in-down-left::before { - content: "\f1ba"; -} - -.bi-box-arrow-in-down-right::before { - content: "\f1bb"; -} - -.bi-box-arrow-in-down::before { - content: "\f1bc"; -} - -.bi-box-arrow-in-left::before { - content: "\f1bd"; -} - -.bi-box-arrow-in-right::before { - content: "\f1be"; -} - -.bi-box-arrow-in-up-left::before { - content: "\f1bf"; -} - -.bi-box-arrow-in-up-right::before { - content: "\f1c0"; -} - -.bi-box-arrow-in-up::before { - content: "\f1c1"; -} - -.bi-box-arrow-left::before { - content: "\f1c2"; -} - -.bi-box-arrow-right::before { - content: "\f1c3"; -} - -.bi-box-arrow-up-left::before { - content: "\f1c4"; -} - -.bi-box-arrow-up-right::before { - content: "\f1c5"; -} - -.bi-box-arrow-up::before { - content: "\f1c6"; -} - -.bi-box-seam::before { - content: "\f1c7"; -} - -.bi-box::before { - content: "\f1c8"; -} - -.bi-braces::before { - content: "\f1c9"; -} - -.bi-bricks::before { - content: "\f1ca"; -} - -.bi-briefcase-fill::before { - content: "\f1cb"; -} - -.bi-briefcase::before { - content: "\f1cc"; -} - -.bi-brightness-alt-high-fill::before { - content: "\f1cd"; -} - -.bi-brightness-alt-high::before { - content: "\f1ce"; -} - -.bi-brightness-alt-low-fill::before { - content: "\f1cf"; -} - -.bi-brightness-alt-low::before { - content: "\f1d0"; -} - -.bi-brightness-high-fill::before { - content: "\f1d1"; -} - -.bi-brightness-high::before { - content: "\f1d2"; -} - -.bi-brightness-low-fill::before { - content: "\f1d3"; -} - -.bi-brightness-low::before { - content: "\f1d4"; -} - -.bi-broadcast-pin::before { - content: "\f1d5"; -} - -.bi-broadcast::before { - content: "\f1d6"; -} - -.bi-brush-fill::before { - content: "\f1d7"; -} - -.bi-brush::before { - content: "\f1d8"; -} - -.bi-bucket-fill::before { - content: "\f1d9"; -} - -.bi-bucket::before { - content: "\f1da"; -} - -.bi-bug-fill::before { - content: "\f1db"; -} - -.bi-bug::before { - content: "\f1dc"; -} - -.bi-building::before { - content: "\f1dd"; -} - -.bi-bullseye::before { - content: "\f1de"; -} - -.bi-calculator-fill::before { - content: "\f1df"; -} - -.bi-calculator::before { - content: "\f1e0"; -} - -.bi-calendar-check-fill::before { - content: "\f1e1"; -} - -.bi-calendar-check::before { - content: "\f1e2"; -} - -.bi-calendar-date-fill::before { - content: "\f1e3"; -} - -.bi-calendar-date::before { - content: "\f1e4"; -} - -.bi-calendar-day-fill::before { - content: "\f1e5"; -} - -.bi-calendar-day::before { - content: "\f1e6"; -} - -.bi-calendar-event-fill::before { - content: "\f1e7"; -} - -.bi-calendar-event::before { - content: "\f1e8"; -} - -.bi-calendar-fill::before { - content: "\f1e9"; -} - -.bi-calendar-minus-fill::before { - content: "\f1ea"; -} - -.bi-calendar-minus::before { - content: "\f1eb"; -} - -.bi-calendar-month-fill::before { - content: "\f1ec"; -} - -.bi-calendar-month::before { - content: "\f1ed"; -} - -.bi-calendar-plus-fill::before { - content: "\f1ee"; -} - -.bi-calendar-plus::before { - content: "\f1ef"; -} - -.bi-calendar-range-fill::before { - content: "\f1f0"; -} - -.bi-calendar-range::before { - content: "\f1f1"; -} - -.bi-calendar-week-fill::before { - content: "\f1f2"; -} - -.bi-calendar-week::before { - content: "\f1f3"; -} - -.bi-calendar-x-fill::before { - content: "\f1f4"; -} - -.bi-calendar-x::before { - content: "\f1f5"; -} - -.bi-calendar::before { - content: "\f1f6"; -} - -.bi-calendar2-check-fill::before { - content: "\f1f7"; -} - -.bi-calendar2-check::before { - content: "\f1f8"; -} - -.bi-calendar2-date-fill::before { - content: "\f1f9"; -} - -.bi-calendar2-date::before { - content: "\f1fa"; -} - -.bi-calendar2-day-fill::before { - content: "\f1fb"; -} - -.bi-calendar2-day::before { - content: "\f1fc"; -} - -.bi-calendar2-event-fill::before { - content: "\f1fd"; -} - -.bi-calendar2-event::before { - content: "\f1fe"; -} - -.bi-calendar2-fill::before { - content: "\f1ff"; -} - -.bi-calendar2-minus-fill::before { - content: "\f200"; -} - -.bi-calendar2-minus::before { - content: "\f201"; -} - -.bi-calendar2-month-fill::before { - content: "\f202"; -} - -.bi-calendar2-month::before { - content: "\f203"; -} - -.bi-calendar2-plus-fill::before { - content: "\f204"; -} - -.bi-calendar2-plus::before { - content: "\f205"; -} - -.bi-calendar2-range-fill::before { - content: "\f206"; -} - -.bi-calendar2-range::before { - content: "\f207"; -} - -.bi-calendar2-week-fill::before { - content: "\f208"; -} - -.bi-calendar2-week::before { - content: "\f209"; -} - -.bi-calendar2-x-fill::before { - content: "\f20a"; -} - -.bi-calendar2-x::before { - content: "\f20b"; -} - -.bi-calendar2::before { - content: "\f20c"; -} - -.bi-calendar3-event-fill::before { - content: "\f20d"; -} - -.bi-calendar3-event::before { - content: "\f20e"; -} - -.bi-calendar3-fill::before { - content: "\f20f"; -} - -.bi-calendar3-range-fill::before { - content: "\f210"; -} - -.bi-calendar3-range::before { - content: "\f211"; -} - -.bi-calendar3-week-fill::before { - content: "\f212"; -} - -.bi-calendar3-week::before { - content: "\f213"; -} - -.bi-calendar3::before { - content: "\f214"; -} - -.bi-calendar4-event::before { - content: "\f215"; -} - -.bi-calendar4-range::before { - content: "\f216"; -} - -.bi-calendar4-week::before { - content: "\f217"; -} - -.bi-calendar4::before { - content: "\f218"; -} - -.bi-camera-fill::before { - content: "\f219"; -} - -.bi-camera-reels-fill::before { - content: "\f21a"; -} - -.bi-camera-reels::before { - content: "\f21b"; -} - -.bi-camera-video-fill::before { - content: "\f21c"; -} - -.bi-camera-video-off-fill::before { - content: "\f21d"; -} - -.bi-camera-video-off::before { - content: "\f21e"; -} - -.bi-camera-video::before { - content: "\f21f"; -} - -.bi-camera::before { - content: "\f220"; -} - -.bi-camera2::before { - content: "\f221"; -} - -.bi-capslock-fill::before { - content: "\f222"; -} - -.bi-capslock::before { - content: "\f223"; -} - -.bi-card-checklist::before { - content: "\f224"; -} - -.bi-card-heading::before { - content: "\f225"; -} - -.bi-card-image::before { - content: "\f226"; -} - -.bi-card-list::before { - content: "\f227"; -} - -.bi-card-text::before { - content: "\f228"; -} - -.bi-caret-down-fill::before { - content: "\f229"; -} - -.bi-caret-down-square-fill::before { - content: "\f22a"; -} - -.bi-caret-down-square::before { - content: "\f22b"; -} - -.bi-caret-down::before { - content: "\f22c"; -} - -.bi-caret-left-fill::before { - content: "\f22d"; -} - -.bi-caret-left-square-fill::before { - content: "\f22e"; -} - -.bi-caret-left-square::before { - content: "\f22f"; -} - -.bi-caret-left::before { - content: "\f230"; -} - -.bi-caret-right-fill::before { - content: "\f231"; -} - -.bi-caret-right-square-fill::before { - content: "\f232"; -} - -.bi-caret-right-square::before { - content: "\f233"; -} - -.bi-caret-right::before { - content: "\f234"; -} - -.bi-caret-up-fill::before { - content: "\f235"; -} - -.bi-caret-up-square-fill::before { - content: "\f236"; -} - -.bi-caret-up-square::before { - content: "\f237"; -} - -.bi-caret-up::before { - content: "\f238"; -} - -.bi-cart-check-fill::before { - content: "\f239"; -} - -.bi-cart-check::before { - content: "\f23a"; -} - -.bi-cart-dash-fill::before { - content: "\f23b"; -} - -.bi-cart-dash::before { - content: "\f23c"; -} - -.bi-cart-fill::before { - content: "\f23d"; -} - -.bi-cart-plus-fill::before { - content: "\f23e"; -} - -.bi-cart-plus::before { - content: "\f23f"; -} - -.bi-cart-x-fill::before { - content: "\f240"; -} - -.bi-cart-x::before { - content: "\f241"; -} - -.bi-cart::before { - content: "\f242"; -} - -.bi-cart2::before { - content: "\f243"; -} - -.bi-cart3::before { - content: "\f244"; -} - -.bi-cart4::before { - content: "\f245"; -} - -.bi-cash-stack::before { - content: "\f246"; -} - -.bi-cash::before { - content: "\f247"; -} - -.bi-cast::before { - content: "\f248"; -} - -.bi-chat-dots-fill::before { - content: "\f249"; -} - -.bi-chat-dots::before { - content: "\f24a"; -} - -.bi-chat-fill::before { - content: "\f24b"; -} - -.bi-chat-left-dots-fill::before { - content: "\f24c"; -} - -.bi-chat-left-dots::before { - content: "\f24d"; -} - -.bi-chat-left-fill::before { - content: "\f24e"; -} - -.bi-chat-left-quote-fill::before { - content: "\f24f"; -} - -.bi-chat-left-quote::before { - content: "\f250"; -} - -.bi-chat-left-text-fill::before { - content: "\f251"; -} - -.bi-chat-left-text::before { - content: "\f252"; -} - -.bi-chat-left::before { - content: "\f253"; -} - -.bi-chat-quote-fill::before { - content: "\f254"; -} - -.bi-chat-quote::before { - content: "\f255"; -} - -.bi-chat-right-dots-fill::before { - content: "\f256"; -} - -.bi-chat-right-dots::before { - content: "\f257"; -} - -.bi-chat-right-fill::before { - content: "\f258"; -} - -.bi-chat-right-quote-fill::before { - content: "\f259"; -} - -.bi-chat-right-quote::before { - content: "\f25a"; -} - -.bi-chat-right-text-fill::before { - content: "\f25b"; -} - -.bi-chat-right-text::before { - content: "\f25c"; -} - -.bi-chat-right::before { - content: "\f25d"; -} - -.bi-chat-square-dots-fill::before { - content: "\f25e"; -} - -.bi-chat-square-dots::before { - content: "\f25f"; -} - -.bi-chat-square-fill::before { - content: "\f260"; -} - -.bi-chat-square-quote-fill::before { - content: "\f261"; -} - -.bi-chat-square-quote::before { - content: "\f262"; -} - -.bi-chat-square-text-fill::before { - content: "\f263"; -} - -.bi-chat-square-text::before { - content: "\f264"; -} - -.bi-chat-square::before { - content: "\f265"; -} - -.bi-chat-text-fill::before { - content: "\f266"; -} - -.bi-chat-text::before { - content: "\f267"; -} - -.bi-chat::before { - content: "\f268"; -} - -.bi-check-all::before { - content: "\f269"; -} - -.bi-check-circle-fill::before { - content: "\f26a"; -} - -.bi-check-circle::before { - content: "\f26b"; -} - -.bi-check-square-fill::before { - content: "\f26c"; -} - -.bi-check-square::before { - content: "\f26d"; -} - -.bi-check::before { - content: "\f26e"; -} - -.bi-check2-all::before { - content: "\f26f"; -} - -.bi-check2-circle::before { - content: "\f270"; -} - -.bi-check2-square::before { - content: "\f271"; -} - -.bi-check2::before { - content: "\f272"; -} - -.bi-chevron-bar-contract::before { - content: "\f273"; -} - -.bi-chevron-bar-down::before { - content: "\f274"; -} - -.bi-chevron-bar-expand::before { - content: "\f275"; -} - -.bi-chevron-bar-left::before { - content: "\f276"; -} - -.bi-chevron-bar-right::before { - content: "\f277"; -} - -.bi-chevron-bar-up::before { - content: "\f278"; -} - -.bi-chevron-compact-down::before { - content: "\f279"; -} - -.bi-chevron-compact-left::before { - content: "\f27a"; -} - -.bi-chevron-compact-right::before { - content: "\f27b"; -} - -.bi-chevron-compact-up::before { - content: "\f27c"; -} - -.bi-chevron-contract::before { - content: "\f27d"; -} - -.bi-chevron-double-down::before { - content: "\f27e"; -} - -.bi-chevron-double-left::before { - content: "\f27f"; -} - -.bi-chevron-double-right::before { - content: "\f280"; -} - -.bi-chevron-double-up::before { - content: "\f281"; -} - -.bi-chevron-down::before { - content: "\f282"; -} - -.bi-chevron-expand::before { - content: "\f283"; -} - -.bi-chevron-left::before { - content: "\f284"; -} - -.bi-chevron-right::before { - content: "\f285"; -} - -.bi-chevron-up::before { - content: "\f286"; -} - -.bi-circle-fill::before { - content: "\f287"; -} - -.bi-circle-half::before { - content: "\f288"; -} - -.bi-circle-square::before { - content: "\f289"; -} - -.bi-circle::before { - content: "\f28a"; -} - -.bi-clipboard-check::before { - content: "\f28b"; -} - -.bi-clipboard-data::before { - content: "\f28c"; -} - -.bi-clipboard-minus::before { - content: "\f28d"; -} - -.bi-clipboard-plus::before { - content: "\f28e"; -} - -.bi-clipboard-x::before { - content: "\f28f"; -} - -.bi-clipboard::before { - content: "\f290"; -} - -.bi-clock-fill::before { - content: "\f291"; -} - -.bi-clock-history::before { - content: "\f292"; -} - -.bi-clock::before { - content: "\f293"; -} - -.bi-cloud-arrow-down-fill::before { - content: "\f294"; -} - -.bi-cloud-arrow-down::before { - content: "\f295"; -} - -.bi-cloud-arrow-up-fill::before { - content: "\f296"; -} - -.bi-cloud-arrow-up::before { - content: "\f297"; -} - -.bi-cloud-check-fill::before { - content: "\f298"; -} - -.bi-cloud-check::before { - content: "\f299"; -} - -.bi-cloud-download-fill::before { - content: "\f29a"; -} - -.bi-cloud-download::before { - content: "\f29b"; -} - -.bi-cloud-drizzle-fill::before { - content: "\f29c"; -} - -.bi-cloud-drizzle::before { - content: "\f29d"; -} - -.bi-cloud-fill::before { - content: "\f29e"; -} - -.bi-cloud-fog-fill::before { - content: "\f29f"; -} - -.bi-cloud-fog::before { - content: "\f2a0"; -} - -.bi-cloud-fog2-fill::before { - content: "\f2a1"; -} - -.bi-cloud-fog2::before { - content: "\f2a2"; -} - -.bi-cloud-hail-fill::before { - content: "\f2a3"; -} - -.bi-cloud-hail::before { - content: "\f2a4"; -} - -.bi-cloud-haze-fill::before { - content: "\f2a6"; -} - -.bi-cloud-haze::before { - content: "\f2a7"; -} - -.bi-cloud-haze2-fill::before { - content: "\f2a8"; -} - -.bi-cloud-lightning-fill::before { - content: "\f2a9"; -} - -.bi-cloud-lightning-rain-fill::before { - content: "\f2aa"; -} - -.bi-cloud-lightning-rain::before { - content: "\f2ab"; -} - -.bi-cloud-lightning::before { - content: "\f2ac"; -} - -.bi-cloud-minus-fill::before { - content: "\f2ad"; -} - -.bi-cloud-minus::before { - content: "\f2ae"; -} - -.bi-cloud-moon-fill::before { - content: "\f2af"; -} - -.bi-cloud-moon::before { - content: "\f2b0"; -} - -.bi-cloud-plus-fill::before { - content: "\f2b1"; -} - -.bi-cloud-plus::before { - content: "\f2b2"; -} - -.bi-cloud-rain-fill::before { - content: "\f2b3"; -} - -.bi-cloud-rain-heavy-fill::before { - content: "\f2b4"; -} - -.bi-cloud-rain-heavy::before { - content: "\f2b5"; -} - -.bi-cloud-rain::before { - content: "\f2b6"; -} - -.bi-cloud-slash-fill::before { - content: "\f2b7"; -} - -.bi-cloud-slash::before { - content: "\f2b8"; -} - -.bi-cloud-sleet-fill::before { - content: "\f2b9"; -} - -.bi-cloud-sleet::before { - content: "\f2ba"; -} - -.bi-cloud-snow-fill::before { - content: "\f2bb"; -} - -.bi-cloud-snow::before { - content: "\f2bc"; -} - -.bi-cloud-sun-fill::before { - content: "\f2bd"; -} - -.bi-cloud-sun::before { - content: "\f2be"; -} - -.bi-cloud-upload-fill::before { - content: "\f2bf"; -} - -.bi-cloud-upload::before { - content: "\f2c0"; -} - -.bi-cloud::before { - content: "\f2c1"; -} - -.bi-clouds-fill::before { - content: "\f2c2"; -} - -.bi-clouds::before { - content: "\f2c3"; -} - -.bi-cloudy-fill::before { - content: "\f2c4"; -} - -.bi-cloudy::before { - content: "\f2c5"; -} - -.bi-code-slash::before { - content: "\f2c6"; -} - -.bi-code-square::before { - content: "\f2c7"; -} - -.bi-code::before { - content: "\f2c8"; -} - -.bi-collection-fill::before { - content: "\f2c9"; -} - -.bi-collection-play-fill::before { - content: "\f2ca"; -} - -.bi-collection-play::before { - content: "\f2cb"; -} - -.bi-collection::before { - content: "\f2cc"; -} - -.bi-columns-gap::before { - content: "\f2cd"; -} - -.bi-columns::before { - content: "\f2ce"; -} - -.bi-command::before { - content: "\f2cf"; -} - -.bi-compass-fill::before { - content: "\f2d0"; -} - -.bi-compass::before { - content: "\f2d1"; -} - -.bi-cone-striped::before { - content: "\f2d2"; -} - -.bi-cone::before { - content: "\f2d3"; -} - -.bi-controller::before { - content: "\f2d4"; -} - -.bi-cpu-fill::before { - content: "\f2d5"; -} - -.bi-cpu::before { - content: "\f2d6"; -} - -.bi-credit-card-2-back-fill::before { - content: "\f2d7"; -} - -.bi-credit-card-2-back::before { - content: "\f2d8"; -} - -.bi-credit-card-2-front-fill::before { - content: "\f2d9"; -} - -.bi-credit-card-2-front::before { - content: "\f2da"; -} - -.bi-credit-card-fill::before { - content: "\f2db"; -} - -.bi-credit-card::before { - content: "\f2dc"; -} - -.bi-crop::before { - content: "\f2dd"; -} - -.bi-cup-fill::before { - content: "\f2de"; -} - -.bi-cup-straw::before { - content: "\f2df"; -} - -.bi-cup::before { - content: "\f2e0"; -} - -.bi-cursor-fill::before { - content: "\f2e1"; -} - -.bi-cursor-text::before { - content: "\f2e2"; -} - -.bi-cursor::before { - content: "\f2e3"; -} - -.bi-dash-circle-dotted::before { - content: "\f2e4"; -} - -.bi-dash-circle-fill::before { - content: "\f2e5"; -} - -.bi-dash-circle::before { - content: "\f2e6"; -} - -.bi-dash-square-dotted::before { - content: "\f2e7"; -} - -.bi-dash-square-fill::before { - content: "\f2e8"; -} - -.bi-dash-square::before { - content: "\f2e9"; -} - -.bi-dash::before { - content: "\f2ea"; -} - -.bi-diagram-2-fill::before { - content: "\f2eb"; -} - -.bi-diagram-2::before { - content: "\f2ec"; -} - -.bi-diagram-3-fill::before { - content: "\f2ed"; -} - -.bi-diagram-3::before { - content: "\f2ee"; -} - -.bi-diamond-fill::before { - content: "\f2ef"; -} - -.bi-diamond-half::before { - content: "\f2f0"; -} - -.bi-diamond::before { - content: "\f2f1"; -} - -.bi-dice-1-fill::before { - content: "\f2f2"; -} - -.bi-dice-1::before { - content: "\f2f3"; -} - -.bi-dice-2-fill::before { - content: "\f2f4"; -} - -.bi-dice-2::before { - content: "\f2f5"; -} - -.bi-dice-3-fill::before { - content: "\f2f6"; -} - -.bi-dice-3::before { - content: "\f2f7"; -} - -.bi-dice-4-fill::before { - content: "\f2f8"; -} - -.bi-dice-4::before { - content: "\f2f9"; -} - -.bi-dice-5-fill::before { - content: "\f2fa"; -} - -.bi-dice-5::before { - content: "\f2fb"; -} - -.bi-dice-6-fill::before { - content: "\f2fc"; -} - -.bi-dice-6::before { - content: "\f2fd"; -} - -.bi-disc-fill::before { - content: "\f2fe"; -} - -.bi-disc::before { - content: "\f2ff"; -} - -.bi-discord::before { - content: "\f300"; -} - -.bi-display-fill::before { - content: "\f301"; -} - -.bi-display::before { - content: "\f302"; -} - -.bi-distribute-horizontal::before { - content: "\f303"; -} - -.bi-distribute-vertical::before { - content: "\f304"; -} - -.bi-door-closed-fill::before { - content: "\f305"; -} - -.bi-door-closed::before { - content: "\f306"; -} - -.bi-door-open-fill::before { - content: "\f307"; -} - -.bi-door-open::before { - content: "\f308"; -} - -.bi-dot::before { - content: "\f309"; -} - -.bi-download::before { - content: "\f30a"; -} - -.bi-droplet-fill::before { - content: "\f30b"; -} - -.bi-droplet-half::before { - content: "\f30c"; -} - -.bi-droplet::before { - content: "\f30d"; -} - -.bi-earbuds::before { - content: "\f30e"; -} - -.bi-easel-fill::before { - content: "\f30f"; -} - -.bi-easel::before { - content: "\f310"; -} - -.bi-egg-fill::before { - content: "\f311"; -} - -.bi-egg-fried::before { - content: "\f312"; -} - -.bi-egg::before { - content: "\f313"; -} - -.bi-eject-fill::before { - content: "\f314"; -} - -.bi-eject::before { - content: "\f315"; -} - -.bi-emoji-angry-fill::before { - content: "\f316"; -} - -.bi-emoji-angry::before { - content: "\f317"; -} - -.bi-emoji-dizzy-fill::before { - content: "\f318"; -} - -.bi-emoji-dizzy::before { - content: "\f319"; -} - -.bi-emoji-expressionless-fill::before { - content: "\f31a"; -} - -.bi-emoji-expressionless::before { - content: "\f31b"; -} - -.bi-emoji-frown-fill::before { - content: "\f31c"; -} - -.bi-emoji-frown::before { - content: "\f31d"; -} - -.bi-emoji-heart-eyes-fill::before { - content: "\f31e"; -} - -.bi-emoji-heart-eyes::before { - content: "\f31f"; -} - -.bi-emoji-laughing-fill::before { - content: "\f320"; -} - -.bi-emoji-laughing::before { - content: "\f321"; -} - -.bi-emoji-neutral-fill::before { - content: "\f322"; -} - -.bi-emoji-neutral::before { - content: "\f323"; -} - -.bi-emoji-smile-fill::before { - content: "\f324"; -} - -.bi-emoji-smile-upside-down-fill::before { - content: "\f325"; -} - -.bi-emoji-smile-upside-down::before { - content: "\f326"; -} - -.bi-emoji-smile::before { - content: "\f327"; -} - -.bi-emoji-sunglasses-fill::before { - content: "\f328"; -} - -.bi-emoji-sunglasses::before { - content: "\f329"; -} - -.bi-emoji-wink-fill::before { - content: "\f32a"; -} - -.bi-emoji-wink::before { - content: "\f32b"; -} - -.bi-envelope-fill::before { - content: "\f32c"; -} - -.bi-envelope-open-fill::before { - content: "\f32d"; -} - -.bi-envelope-open::before { - content: "\f32e"; -} - -.bi-envelope::before { - content: "\f32f"; -} - -.bi-eraser-fill::before { - content: "\f330"; -} - -.bi-eraser::before { - content: "\f331"; -} - -.bi-exclamation-circle-fill::before { - content: "\f332"; -} - -.bi-exclamation-circle::before { - content: "\f333"; -} - -.bi-exclamation-diamond-fill::before { - content: "\f334"; -} - -.bi-exclamation-diamond::before { - content: "\f335"; -} - -.bi-exclamation-octagon-fill::before { - content: "\f336"; -} - -.bi-exclamation-octagon::before { - content: "\f337"; -} - -.bi-exclamation-square-fill::before { - content: "\f338"; -} - -.bi-exclamation-square::before { - content: "\f339"; -} - -.bi-exclamation-triangle-fill::before { - content: "\f33a"; -} - -.bi-exclamation-triangle::before { - content: "\f33b"; -} - -.bi-exclamation::before { - content: "\f33c"; -} - -.bi-exclude::before { - content: "\f33d"; -} - -.bi-eye-fill::before { - content: "\f33e"; -} - -.bi-eye-slash-fill::before { - content: "\f33f"; -} - -.bi-eye-slash::before { - content: "\f340"; -} - -.bi-eye::before { - content: "\f341"; -} - -.bi-eyedropper::before { - content: "\f342"; -} - -.bi-eyeglasses::before { - content: "\f343"; -} - -.bi-facebook::before { - content: "\f344"; -} - -.bi-file-arrow-down-fill::before { - content: "\f345"; -} - -.bi-file-arrow-down::before { - content: "\f346"; -} - -.bi-file-arrow-up-fill::before { - content: "\f347"; -} - -.bi-file-arrow-up::before { - content: "\f348"; -} - -.bi-file-bar-graph-fill::before { - content: "\f349"; -} - -.bi-file-bar-graph::before { - content: "\f34a"; -} - -.bi-file-binary-fill::before { - content: "\f34b"; -} - -.bi-file-binary::before { - content: "\f34c"; -} - -.bi-file-break-fill::before { - content: "\f34d"; -} - -.bi-file-break::before { - content: "\f34e"; -} - -.bi-file-check-fill::before { - content: "\f34f"; -} - -.bi-file-check::before { - content: "\f350"; -} - -.bi-file-code-fill::before { - content: "\f351"; -} - -.bi-file-code::before { - content: "\f352"; -} - -.bi-file-diff-fill::before { - content: "\f353"; -} - -.bi-file-diff::before { - content: "\f354"; -} - -.bi-file-earmark-arrow-down-fill::before { - content: "\f355"; -} - -.bi-file-earmark-arrow-down::before { - content: "\f356"; -} - -.bi-file-earmark-arrow-up-fill::before { - content: "\f357"; -} - -.bi-file-earmark-arrow-up::before { - content: "\f358"; -} - -.bi-file-earmark-bar-graph-fill::before { - content: "\f359"; -} - -.bi-file-earmark-bar-graph::before { - content: "\f35a"; -} - -.bi-file-earmark-binary-fill::before { - content: "\f35b"; -} - -.bi-file-earmark-binary::before { - content: "\f35c"; -} - -.bi-file-earmark-break-fill::before { - content: "\f35d"; -} - -.bi-file-earmark-break::before { - content: "\f35e"; -} - -.bi-file-earmark-check-fill::before { - content: "\f35f"; -} - -.bi-file-earmark-check::before { - content: "\f360"; -} - -.bi-file-earmark-code-fill::before { - content: "\f361"; -} - -.bi-file-earmark-code::before { - content: "\f362"; -} - -.bi-file-earmark-diff-fill::before { - content: "\f363"; -} - -.bi-file-earmark-diff::before { - content: "\f364"; -} - -.bi-file-earmark-easel-fill::before { - content: "\f365"; -} - -.bi-file-earmark-easel::before { - content: "\f366"; -} - -.bi-file-earmark-excel-fill::before { - content: "\f367"; -} - -.bi-file-earmark-excel::before { - content: "\f368"; -} - -.bi-file-earmark-fill::before { - content: "\f369"; -} - -.bi-file-earmark-font-fill::before { - content: "\f36a"; -} - -.bi-file-earmark-font::before { - content: "\f36b"; -} - -.bi-file-earmark-image-fill::before { - content: "\f36c"; -} - -.bi-file-earmark-image::before { - content: "\f36d"; -} - -.bi-file-earmark-lock-fill::before { - content: "\f36e"; -} - -.bi-file-earmark-lock::before { - content: "\f36f"; -} - -.bi-file-earmark-lock2-fill::before { - content: "\f370"; -} - -.bi-file-earmark-lock2::before { - content: "\f371"; -} - -.bi-file-earmark-medical-fill::before { - content: "\f372"; -} - -.bi-file-earmark-medical::before { - content: "\f373"; -} - -.bi-file-earmark-minus-fill::before { - content: "\f374"; -} - -.bi-file-earmark-minus::before { - content: "\f375"; -} - -.bi-file-earmark-music-fill::before { - content: "\f376"; -} - -.bi-file-earmark-music::before { - content: "\f377"; -} - -.bi-file-earmark-person-fill::before { - content: "\f378"; -} - -.bi-file-earmark-person::before { - content: "\f379"; -} - -.bi-file-earmark-play-fill::before { - content: "\f37a"; -} - -.bi-file-earmark-play::before { - content: "\f37b"; -} - -.bi-file-earmark-plus-fill::before { - content: "\f37c"; -} - -.bi-file-earmark-plus::before { - content: "\f37d"; -} - -.bi-file-earmark-post-fill::before { - content: "\f37e"; -} - -.bi-file-earmark-post::before { - content: "\f37f"; -} - -.bi-file-earmark-ppt-fill::before { - content: "\f380"; -} - -.bi-file-earmark-ppt::before { - content: "\f381"; -} - -.bi-file-earmark-richtext-fill::before { - content: "\f382"; -} - -.bi-file-earmark-richtext::before { - content: "\f383"; -} - -.bi-file-earmark-ruled-fill::before { - content: "\f384"; -} - -.bi-file-earmark-ruled::before { - content: "\f385"; -} - -.bi-file-earmark-slides-fill::before { - content: "\f386"; -} - -.bi-file-earmark-slides::before { - content: "\f387"; -} - -.bi-file-earmark-spreadsheet-fill::before { - content: "\f388"; -} - -.bi-file-earmark-spreadsheet::before { - content: "\f389"; -} - -.bi-file-earmark-text-fill::before { - content: "\f38a"; -} - -.bi-file-earmark-text::before { - content: "\f38b"; -} - -.bi-file-earmark-word-fill::before { - content: "\f38c"; -} - -.bi-file-earmark-word::before { - content: "\f38d"; -} - -.bi-file-earmark-x-fill::before { - content: "\f38e"; -} - -.bi-file-earmark-x::before { - content: "\f38f"; -} - -.bi-file-earmark-zip-fill::before { - content: "\f390"; -} - -.bi-file-earmark-zip::before { - content: "\f391"; -} - -.bi-file-earmark::before { - content: "\f392"; -} - -.bi-file-easel-fill::before { - content: "\f393"; -} - -.bi-file-easel::before { - content: "\f394"; -} - -.bi-file-excel-fill::before { - content: "\f395"; -} - -.bi-file-excel::before { - content: "\f396"; -} - -.bi-file-fill::before { - content: "\f397"; -} - -.bi-file-font-fill::before { - content: "\f398"; -} - -.bi-file-font::before { - content: "\f399"; -} - -.bi-file-image-fill::before { - content: "\f39a"; -} - -.bi-file-image::before { - content: "\f39b"; -} - -.bi-file-lock-fill::before { - content: "\f39c"; -} - -.bi-file-lock::before { - content: "\f39d"; -} - -.bi-file-lock2-fill::before { - content: "\f39e"; -} - -.bi-file-lock2::before { - content: "\f39f"; -} - -.bi-file-medical-fill::before { - content: "\f3a0"; -} - -.bi-file-medical::before { - content: "\f3a1"; -} - -.bi-file-minus-fill::before { - content: "\f3a2"; -} - -.bi-file-minus::before { - content: "\f3a3"; -} - -.bi-file-music-fill::before { - content: "\f3a4"; -} - -.bi-file-music::before { - content: "\f3a5"; -} - -.bi-file-person-fill::before { - content: "\f3a6"; -} - -.bi-file-person::before { - content: "\f3a7"; -} - -.bi-file-play-fill::before { - content: "\f3a8"; -} - -.bi-file-play::before { - content: "\f3a9"; -} - -.bi-file-plus-fill::before { - content: "\f3aa"; -} - -.bi-file-plus::before { - content: "\f3ab"; -} - -.bi-file-post-fill::before { - content: "\f3ac"; -} - -.bi-file-post::before { - content: "\f3ad"; -} - -.bi-file-ppt-fill::before { - content: "\f3ae"; -} - -.bi-file-ppt::before { - content: "\f3af"; -} - -.bi-file-richtext-fill::before { - content: "\f3b0"; -} - -.bi-file-richtext::before { - content: "\f3b1"; -} - -.bi-file-ruled-fill::before { - content: "\f3b2"; -} - -.bi-file-ruled::before { - content: "\f3b3"; -} - -.bi-file-slides-fill::before { - content: "\f3b4"; -} - -.bi-file-slides::before { - content: "\f3b5"; -} - -.bi-file-spreadsheet-fill::before { - content: "\f3b6"; -} - -.bi-file-spreadsheet::before { - content: "\f3b7"; -} - -.bi-file-text-fill::before { - content: "\f3b8"; -} - -.bi-file-text::before { - content: "\f3b9"; -} - -.bi-file-word-fill::before { - content: "\f3ba"; -} - -.bi-file-word::before { - content: "\f3bb"; -} - -.bi-file-x-fill::before { - content: "\f3bc"; -} - -.bi-file-x::before { - content: "\f3bd"; -} - -.bi-file-zip-fill::before { - content: "\f3be"; -} - -.bi-file-zip::before { - content: "\f3bf"; -} - -.bi-file::before { - content: "\f3c0"; -} - -.bi-files-alt::before { - content: "\f3c1"; -} - -.bi-files::before { - content: "\f3c2"; -} - -.bi-film::before { - content: "\f3c3"; -} - -.bi-filter-circle-fill::before { - content: "\f3c4"; -} - -.bi-filter-circle::before { - content: "\f3c5"; -} - -.bi-filter-left::before { - content: "\f3c6"; -} - -.bi-filter-right::before { - content: "\f3c7"; -} - -.bi-filter-square-fill::before { - content: "\f3c8"; -} - -.bi-filter-square::before { - content: "\f3c9"; -} - -.bi-filter::before { - content: "\f3ca"; -} - -.bi-flag-fill::before { - content: "\f3cb"; -} - -.bi-flag::before { - content: "\f3cc"; -} - -.bi-flower1::before { - content: "\f3cd"; -} - -.bi-flower2::before { - content: "\f3ce"; -} - -.bi-flower3::before { - content: "\f3cf"; -} - -.bi-folder-check::before { - content: "\f3d0"; -} - -.bi-folder-fill::before { - content: "\f3d1"; -} - -.bi-folder-minus::before { - content: "\f3d2"; -} - -.bi-folder-plus::before { - content: "\f3d3"; -} - -.bi-folder-symlink-fill::before { - content: "\f3d4"; -} - -.bi-folder-symlink::before { - content: "\f3d5"; -} - -.bi-folder-x::before { - content: "\f3d6"; -} - -.bi-folder::before { - content: "\f3d7"; -} - -.bi-folder2-open::before { - content: "\f3d8"; -} - -.bi-folder2::before { - content: "\f3d9"; -} - -.bi-fonts::before { - content: "\f3da"; -} - -.bi-forward-fill::before { - content: "\f3db"; -} - -.bi-forward::before { - content: "\f3dc"; -} - -.bi-front::before { - content: "\f3dd"; -} - -.bi-fullscreen-exit::before { - content: "\f3de"; -} - -.bi-fullscreen::before { - content: "\f3df"; -} - -.bi-funnel-fill::before { - content: "\f3e0"; -} - -.bi-funnel::before { - content: "\f3e1"; -} - -.bi-gear-fill::before { - content: "\f3e2"; -} - -.bi-gear-wide-connected::before { - content: "\f3e3"; -} - -.bi-gear-wide::before { - content: "\f3e4"; -} - -.bi-gear::before { - content: "\f3e5"; -} - -.bi-gem::before { - content: "\f3e6"; -} - -.bi-geo-alt-fill::before { - content: "\f3e7"; -} - -.bi-geo-alt::before { - content: "\f3e8"; -} - -.bi-geo-fill::before { - content: "\f3e9"; -} - -.bi-geo::before { - content: "\f3ea"; -} - -.bi-gift-fill::before { - content: "\f3eb"; -} - -.bi-gift::before { - content: "\f3ec"; -} - -.bi-github::before { - content: "\f3ed"; -} - -.bi-globe::before { - content: "\f3ee"; -} - -.bi-globe2::before { - content: "\f3ef"; -} - -.bi-google::before { - content: "\f3f0"; -} - -.bi-graph-down::before { - content: "\f3f1"; -} - -.bi-graph-up::before { - content: "\f3f2"; -} - -.bi-grid-1x2-fill::before { - content: "\f3f3"; -} - -.bi-grid-1x2::before { - content: "\f3f4"; -} - -.bi-grid-3x2-gap-fill::before { - content: "\f3f5"; -} - -.bi-grid-3x2-gap::before { - content: "\f3f6"; -} - -.bi-grid-3x2::before { - content: "\f3f7"; -} - -.bi-grid-3x3-gap-fill::before { - content: "\f3f8"; -} - -.bi-grid-3x3-gap::before { - content: "\f3f9"; -} - -.bi-grid-3x3::before { - content: "\f3fa"; -} - -.bi-grid-fill::before { - content: "\f3fb"; -} - -.bi-grid::before { - content: "\f3fc"; -} - -.bi-grip-horizontal::before { - content: "\f3fd"; -} - -.bi-grip-vertical::before { - content: "\f3fe"; -} - -.bi-hammer::before { - content: "\f3ff"; -} - -.bi-hand-index-fill::before { - content: "\f400"; -} - -.bi-hand-index-thumb-fill::before { - content: "\f401"; -} - -.bi-hand-index-thumb::before { - content: "\f402"; -} - -.bi-hand-index::before { - content: "\f403"; -} - -.bi-hand-thumbs-down-fill::before { - content: "\f404"; -} - -.bi-hand-thumbs-down::before { - content: "\f405"; -} - -.bi-hand-thumbs-up-fill::before { - content: "\f406"; -} - -.bi-hand-thumbs-up::before { - content: "\f407"; -} - -.bi-handbag-fill::before { - content: "\f408"; -} - -.bi-handbag::before { - content: "\f409"; -} - -.bi-hash::before { - content: "\f40a"; -} - -.bi-hdd-fill::before { - content: "\f40b"; -} - -.bi-hdd-network-fill::before { - content: "\f40c"; -} - -.bi-hdd-network::before { - content: "\f40d"; -} - -.bi-hdd-rack-fill::before { - content: "\f40e"; -} - -.bi-hdd-rack::before { - content: "\f40f"; -} - -.bi-hdd-stack-fill::before { - content: "\f410"; -} - -.bi-hdd-stack::before { - content: "\f411"; -} - -.bi-hdd::before { - content: "\f412"; -} - -.bi-headphones::before { - content: "\f413"; -} - -.bi-headset::before { - content: "\f414"; -} - -.bi-heart-fill::before { - content: "\f415"; -} - -.bi-heart-half::before { - content: "\f416"; -} - -.bi-heart::before { - content: "\f417"; -} - -.bi-heptagon-fill::before { - content: "\f418"; -} - -.bi-heptagon-half::before { - content: "\f419"; -} - -.bi-heptagon::before { - content: "\f41a"; -} - -.bi-hexagon-fill::before { - content: "\f41b"; -} - -.bi-hexagon-half::before { - content: "\f41c"; -} - -.bi-hexagon::before { - content: "\f41d"; -} - -.bi-hourglass-bottom::before { - content: "\f41e"; -} - -.bi-hourglass-split::before { - content: "\f41f"; -} - -.bi-hourglass-top::before { - content: "\f420"; -} - -.bi-hourglass::before { - content: "\f421"; -} - -.bi-house-door-fill::before { - content: "\f422"; -} - -.bi-house-door::before { - content: "\f423"; -} - -.bi-house-fill::before { - content: "\f424"; -} - -.bi-house::before { - content: "\f425"; -} - -.bi-hr::before { - content: "\f426"; -} - -.bi-hurricane::before { - content: "\f427"; -} - -.bi-image-alt::before { - content: "\f428"; -} - -.bi-image-fill::before { - content: "\f429"; -} - -.bi-image::before { - content: "\f42a"; -} - -.bi-images::before { - content: "\f42b"; -} - -.bi-inbox-fill::before { - content: "\f42c"; -} - -.bi-inbox::before { - content: "\f42d"; -} - -.bi-inboxes-fill::before { - content: "\f42e"; -} - -.bi-inboxes::before { - content: "\f42f"; -} - -.bi-info-circle-fill::before { - content: "\f430"; -} - -.bi-info-circle::before { - content: "\f431"; -} - -.bi-info-square-fill::before { - content: "\f432"; -} - -.bi-info-square::before { - content: "\f433"; -} - -.bi-info::before { - content: "\f434"; -} - -.bi-input-cursor-text::before { - content: "\f435"; -} - -.bi-input-cursor::before { - content: "\f436"; -} - -.bi-instagram::before { - content: "\f437"; -} - -.bi-intersect::before { - content: "\f438"; -} - -.bi-journal-album::before { - content: "\f439"; -} - -.bi-journal-arrow-down::before { - content: "\f43a"; -} - -.bi-journal-arrow-up::before { - content: "\f43b"; -} - -.bi-journal-bookmark-fill::before { - content: "\f43c"; -} - -.bi-journal-bookmark::before { - content: "\f43d"; -} - -.bi-journal-check::before { - content: "\f43e"; -} - -.bi-journal-code::before { - content: "\f43f"; -} - -.bi-journal-medical::before { - content: "\f440"; -} - -.bi-journal-minus::before { - content: "\f441"; -} - -.bi-journal-plus::before { - content: "\f442"; -} - -.bi-journal-richtext::before { - content: "\f443"; -} - -.bi-journal-text::before { - content: "\f444"; -} - -.bi-journal-x::before { - content: "\f445"; -} - -.bi-journal::before { - content: "\f446"; -} - -.bi-journals::before { - content: "\f447"; -} - -.bi-joystick::before { - content: "\f448"; -} - -.bi-justify-left::before { - content: "\f449"; -} - -.bi-justify-right::before { - content: "\f44a"; -} - -.bi-justify::before { - content: "\f44b"; -} - -.bi-kanban-fill::before { - content: "\f44c"; -} - -.bi-kanban::before { - content: "\f44d"; -} - -.bi-key-fill::before { - content: "\f44e"; -} - -.bi-key::before { - content: "\f44f"; -} - -.bi-keyboard-fill::before { - content: "\f450"; -} - -.bi-keyboard::before { - content: "\f451"; -} - -.bi-ladder::before { - content: "\f452"; -} - -.bi-lamp-fill::before { - content: "\f453"; -} - -.bi-lamp::before { - content: "\f454"; -} - -.bi-laptop-fill::before { - content: "\f455"; -} - -.bi-laptop::before { - content: "\f456"; -} - -.bi-layer-backward::before { - content: "\f457"; -} - -.bi-layer-forward::before { - content: "\f458"; -} - -.bi-layers-fill::before { - content: "\f459"; -} - -.bi-layers-half::before { - content: "\f45a"; -} - -.bi-layers::before { - content: "\f45b"; -} - -.bi-layout-sidebar-inset-reverse::before { - content: "\f45c"; -} - -.bi-layout-sidebar-inset::before { - content: "\f45d"; -} - -.bi-layout-sidebar-reverse::before { - content: "\f45e"; -} - -.bi-layout-sidebar::before { - content: "\f45f"; -} - -.bi-layout-split::before { - content: "\f460"; -} - -.bi-layout-text-sidebar-reverse::before { - content: "\f461"; -} - -.bi-layout-text-sidebar::before { - content: "\f462"; -} - -.bi-layout-text-window-reverse::before { - content: "\f463"; -} - -.bi-layout-text-window::before { - content: "\f464"; -} - -.bi-layout-three-columns::before { - content: "\f465"; -} - -.bi-layout-wtf::before { - content: "\f466"; -} - -.bi-life-preserver::before { - content: "\f467"; -} - -.bi-lightbulb-fill::before { - content: "\f468"; -} - -.bi-lightbulb-off-fill::before { - content: "\f469"; -} - -.bi-lightbulb-off::before { - content: "\f46a"; -} - -.bi-lightbulb::before { - content: "\f46b"; -} - -.bi-lightning-charge-fill::before { - content: "\f46c"; -} - -.bi-lightning-charge::before { - content: "\f46d"; -} - -.bi-lightning-fill::before { - content: "\f46e"; -} - -.bi-lightning::before { - content: "\f46f"; -} - -.bi-link-45deg::before { - content: "\f470"; -} - -.bi-link::before { - content: "\f471"; -} - -.bi-linkedin::before { - content: "\f472"; -} - -.bi-list-check::before { - content: "\f473"; -} - -.bi-list-nested::before { - content: "\f474"; -} - -.bi-list-ol::before { - content: "\f475"; -} - -.bi-list-stars::before { - content: "\f476"; -} - -.bi-list-task::before { - content: "\f477"; -} - -.bi-list-ul::before { - content: "\f478"; -} - -.bi-list::before { - content: "\f479"; -} - -.bi-lock-fill::before { - content: "\f47a"; -} - -.bi-lock::before { - content: "\f47b"; -} - -.bi-mailbox::before { - content: "\f47c"; -} - -.bi-mailbox2::before { - content: "\f47d"; -} - -.bi-map-fill::before { - content: "\f47e"; -} - -.bi-map::before { - content: "\f47f"; -} - -.bi-markdown-fill::before { - content: "\f480"; -} - -.bi-markdown::before { - content: "\f481"; -} - -.bi-mask::before { - content: "\f482"; -} - -.bi-megaphone-fill::before { - content: "\f483"; -} - -.bi-megaphone::before { - content: "\f484"; -} - -.bi-menu-app-fill::before { - content: "\f485"; -} - -.bi-menu-app::before { - content: "\f486"; -} - -.bi-menu-button-fill::before { - content: "\f487"; -} - -.bi-menu-button-wide-fill::before { - content: "\f488"; -} - -.bi-menu-button-wide::before { - content: "\f489"; -} - -.bi-menu-button::before { - content: "\f48a"; -} - -.bi-menu-down::before { - content: "\f48b"; -} - -.bi-menu-up::before { - content: "\f48c"; -} - -.bi-mic-fill::before { - content: "\f48d"; -} - -.bi-mic-mute-fill::before { - content: "\f48e"; -} - -.bi-mic-mute::before { - content: "\f48f"; -} - -.bi-mic::before { - content: "\f490"; -} - -.bi-minecart-loaded::before { - content: "\f491"; -} - -.bi-minecart::before { - content: "\f492"; -} - -.bi-moisture::before { - content: "\f493"; -} - -.bi-moon-fill::before { - content: "\f494"; -} - -.bi-moon-stars-fill::before { - content: "\f495"; -} - -.bi-moon-stars::before { - content: "\f496"; -} - -.bi-moon::before { - content: "\f497"; -} - -.bi-mouse-fill::before { - content: "\f498"; -} - -.bi-mouse::before { - content: "\f499"; -} - -.bi-mouse2-fill::before { - content: "\f49a"; -} - -.bi-mouse2::before { - content: "\f49b"; -} - -.bi-mouse3-fill::before { - content: "\f49c"; -} - -.bi-mouse3::before { - content: "\f49d"; -} - -.bi-music-note-beamed::before { - content: "\f49e"; -} - -.bi-music-note-list::before { - content: "\f49f"; -} - -.bi-music-note::before { - content: "\f4a0"; -} - -.bi-music-player-fill::before { - content: "\f4a1"; -} - -.bi-music-player::before { - content: "\f4a2"; -} - -.bi-newspaper::before { - content: "\f4a3"; -} - -.bi-node-minus-fill::before { - content: "\f4a4"; -} - -.bi-node-minus::before { - content: "\f4a5"; -} - -.bi-node-plus-fill::before { - content: "\f4a6"; -} - -.bi-node-plus::before { - content: "\f4a7"; -} - -.bi-nut-fill::before { - content: "\f4a8"; -} - -.bi-nut::before { - content: "\f4a9"; -} - -.bi-octagon-fill::before { - content: "\f4aa"; -} - -.bi-octagon-half::before { - content: "\f4ab"; -} - -.bi-octagon::before { - content: "\f4ac"; -} - -.bi-option::before { - content: "\f4ad"; -} - -.bi-outlet::before { - content: "\f4ae"; -} - -.bi-paint-bucket::before { - content: "\f4af"; -} - -.bi-palette-fill::before { - content: "\f4b0"; -} - -.bi-palette::before { - content: "\f4b1"; -} - -.bi-palette2::before { - content: "\f4b2"; -} - -.bi-paperclip::before { - content: "\f4b3"; -} - -.bi-paragraph::before { - content: "\f4b4"; -} - -.bi-patch-check-fill::before { - content: "\f4b5"; -} - -.bi-patch-check::before { - content: "\f4b6"; -} - -.bi-patch-exclamation-fill::before { - content: "\f4b7"; -} - -.bi-patch-exclamation::before { - content: "\f4b8"; -} - -.bi-patch-minus-fill::before { - content: "\f4b9"; -} - -.bi-patch-minus::before { - content: "\f4ba"; -} - -.bi-patch-plus-fill::before { - content: "\f4bb"; -} - -.bi-patch-plus::before { - content: "\f4bc"; -} - -.bi-patch-question-fill::before { - content: "\f4bd"; -} - -.bi-patch-question::before { - content: "\f4be"; -} - -.bi-pause-btn-fill::before { - content: "\f4bf"; -} - -.bi-pause-btn::before { - content: "\f4c0"; -} - -.bi-pause-circle-fill::before { - content: "\f4c1"; -} - -.bi-pause-circle::before { - content: "\f4c2"; -} - -.bi-pause-fill::before { - content: "\f4c3"; -} - -.bi-pause::before { - content: "\f4c4"; -} - -.bi-peace-fill::before { - content: "\f4c5"; -} - -.bi-peace::before { - content: "\f4c6"; -} - -.bi-pen-fill::before { - content: "\f4c7"; -} - -.bi-pen::before { - content: "\f4c8"; -} - -.bi-pencil-fill::before { - content: "\f4c9"; -} - -.bi-pencil-square::before { - content: "\f4ca"; -} - -.bi-pencil::before { - content: "\f4cb"; -} - -.bi-pentagon-fill::before { - content: "\f4cc"; -} - -.bi-pentagon-half::before { - content: "\f4cd"; -} - -.bi-pentagon::before { - content: "\f4ce"; -} - -.bi-people-fill::before { - content: "\f4cf"; -} - -.bi-people::before { - content: "\f4d0"; -} - -.bi-percent::before { - content: "\f4d1"; -} - -.bi-person-badge-fill::before { - content: "\f4d2"; -} - -.bi-person-badge::before { - content: "\f4d3"; -} - -.bi-person-bounding-box::before { - content: "\f4d4"; -} - -.bi-person-check-fill::before { - content: "\f4d5"; -} - -.bi-person-check::before { - content: "\f4d6"; -} - -.bi-person-circle::before { - content: "\f4d7"; -} - -.bi-person-dash-fill::before { - content: "\f4d8"; -} - -.bi-person-dash::before { - content: "\f4d9"; -} - -.bi-person-fill::before { - content: "\f4da"; -} - -.bi-person-lines-fill::before { - content: "\f4db"; -} - -.bi-person-plus-fill::before { - content: "\f4dc"; -} - -.bi-person-plus::before { - content: "\f4dd"; -} - -.bi-person-square::before { - content: "\f4de"; -} - -.bi-person-x-fill::before { - content: "\f4df"; -} - -.bi-person-x::before { - content: "\f4e0"; -} - -.bi-person::before { - content: "\f4e1"; -} - -.bi-phone-fill::before { - content: "\f4e2"; -} - -.bi-phone-landscape-fill::before { - content: "\f4e3"; -} - -.bi-phone-landscape::before { - content: "\f4e4"; -} - -.bi-phone-vibrate-fill::before { - content: "\f4e5"; -} - -.bi-phone-vibrate::before { - content: "\f4e6"; -} - -.bi-phone::before { - content: "\f4e7"; -} - -.bi-pie-chart-fill::before { - content: "\f4e8"; -} - -.bi-pie-chart::before { - content: "\f4e9"; -} - -.bi-pin-angle-fill::before { - content: "\f4ea"; -} - -.bi-pin-angle::before { - content: "\f4eb"; -} - -.bi-pin-fill::before { - content: "\f4ec"; -} - -.bi-pin::before { - content: "\f4ed"; -} - -.bi-pip-fill::before { - content: "\f4ee"; -} - -.bi-pip::before { - content: "\f4ef"; -} - -.bi-play-btn-fill::before { - content: "\f4f0"; -} - -.bi-play-btn::before { - content: "\f4f1"; -} - -.bi-play-circle-fill::before { - content: "\f4f2"; -} - -.bi-play-circle::before { - content: "\f4f3"; -} - -.bi-play-fill::before { - content: "\f4f4"; -} - -.bi-play::before { - content: "\f4f5"; -} - -.bi-plug-fill::before { - content: "\f4f6"; -} - -.bi-plug::before { - content: "\f4f7"; -} - -.bi-plus-circle-dotted::before { - content: "\f4f8"; -} - -.bi-plus-circle-fill::before { - content: "\f4f9"; -} - -.bi-plus-circle::before { - content: "\f4fa"; -} - -.bi-plus-square-dotted::before { - content: "\f4fb"; -} - -.bi-plus-square-fill::before { - content: "\f4fc"; -} - -.bi-plus-square::before { - content: "\f4fd"; -} - -.bi-plus::before { - content: "\f4fe"; -} - -.bi-power::before { - content: "\f4ff"; -} - -.bi-printer-fill::before { - content: "\f500"; -} - -.bi-printer::before { - content: "\f501"; -} - -.bi-puzzle-fill::before { - content: "\f502"; -} - -.bi-puzzle::before { - content: "\f503"; -} - -.bi-question-circle-fill::before { - content: "\f504"; -} - -.bi-question-circle::before { - content: "\f505"; -} - -.bi-question-diamond-fill::before { - content: "\f506"; -} - -.bi-question-diamond::before { - content: "\f507"; -} - -.bi-question-octagon-fill::before { - content: "\f508"; -} - -.bi-question-octagon::before { - content: "\f509"; -} - -.bi-question-square-fill::before { - content: "\f50a"; -} - -.bi-question-square::before { - content: "\f50b"; -} - -.bi-question::before { - content: "\f50c"; -} - -.bi-rainbow::before { - content: "\f50d"; -} - -.bi-receipt-cutoff::before { - content: "\f50e"; -} - -.bi-receipt::before { - content: "\f50f"; -} - -.bi-reception-0::before { - content: "\f510"; -} - -.bi-reception-1::before { - content: "\f511"; -} - -.bi-reception-2::before { - content: "\f512"; -} - -.bi-reception-3::before { - content: "\f513"; -} - -.bi-reception-4::before { - content: "\f514"; -} - -.bi-record-btn-fill::before { - content: "\f515"; -} - -.bi-record-btn::before { - content: "\f516"; -} - -.bi-record-circle-fill::before { - content: "\f517"; -} - -.bi-record-circle::before { - content: "\f518"; -} - -.bi-record-fill::before { - content: "\f519"; -} - -.bi-record::before { - content: "\f51a"; -} - -.bi-record2-fill::before { - content: "\f51b"; -} - -.bi-record2::before { - content: "\f51c"; -} - -.bi-reply-all-fill::before { - content: "\f51d"; -} - -.bi-reply-all::before { - content: "\f51e"; -} - -.bi-reply-fill::before { - content: "\f51f"; -} - -.bi-reply::before { - content: "\f520"; -} - -.bi-rss-fill::before { - content: "\f521"; -} - -.bi-rss::before { - content: "\f522"; -} - -.bi-rulers::before { - content: "\f523"; -} - -.bi-save-fill::before { - content: "\f524"; -} - -.bi-save::before { - content: "\f525"; -} - -.bi-save2-fill::before { - content: "\f526"; -} - -.bi-save2::before { - content: "\f527"; -} - -.bi-scissors::before { - content: "\f528"; -} - -.bi-screwdriver::before { - content: "\f529"; -} - -.bi-search::before { - content: "\f52a"; -} - -.bi-segmented-nav::before { - content: "\f52b"; -} - -.bi-server::before { - content: "\f52c"; -} - -.bi-share-fill::before { - content: "\f52d"; -} - -.bi-share::before { - content: "\f52e"; -} - -.bi-shield-check::before { - content: "\f52f"; -} - -.bi-shield-exclamation::before { - content: "\f530"; -} - -.bi-shield-fill-check::before { - content: "\f531"; -} - -.bi-shield-fill-exclamation::before { - content: "\f532"; -} - -.bi-shield-fill-minus::before { - content: "\f533"; -} - -.bi-shield-fill-plus::before { - content: "\f534"; -} - -.bi-shield-fill-x::before { - content: "\f535"; -} - -.bi-shield-fill::before { - content: "\f536"; -} - -.bi-shield-lock-fill::before { - content: "\f537"; -} - -.bi-shield-lock::before { - content: "\f538"; -} - -.bi-shield-minus::before { - content: "\f539"; -} - -.bi-shield-plus::before { - content: "\f53a"; -} - -.bi-shield-shaded::before { - content: "\f53b"; -} - -.bi-shield-slash-fill::before { - content: "\f53c"; -} - -.bi-shield-slash::before { - content: "\f53d"; -} - -.bi-shield-x::before { - content: "\f53e"; -} - -.bi-shield::before { - content: "\f53f"; -} - -.bi-shift-fill::before { - content: "\f540"; -} - -.bi-shift::before { - content: "\f541"; -} - -.bi-shop-window::before { - content: "\f542"; -} - -.bi-shop::before { - content: "\f543"; -} - -.bi-shuffle::before { - content: "\f544"; -} - -.bi-signpost-2-fill::before { - content: "\f545"; -} - -.bi-signpost-2::before { - content: "\f546"; -} - -.bi-signpost-fill::before { - content: "\f547"; -} - -.bi-signpost-split-fill::before { - content: "\f548"; -} - -.bi-signpost-split::before { - content: "\f549"; -} - -.bi-signpost::before { - content: "\f54a"; -} - -.bi-sim-fill::before { - content: "\f54b"; -} - -.bi-sim::before { - content: "\f54c"; -} - -.bi-skip-backward-btn-fill::before { - content: "\f54d"; -} - -.bi-skip-backward-btn::before { - content: "\f54e"; -} - -.bi-skip-backward-circle-fill::before { - content: "\f54f"; -} - -.bi-skip-backward-circle::before { - content: "\f550"; -} - -.bi-skip-backward-fill::before { - content: "\f551"; -} - -.bi-skip-backward::before { - content: "\f552"; -} - -.bi-skip-end-btn-fill::before { - content: "\f553"; -} - -.bi-skip-end-btn::before { - content: "\f554"; -} - -.bi-skip-end-circle-fill::before { - content: "\f555"; -} - -.bi-skip-end-circle::before { - content: "\f556"; -} - -.bi-skip-end-fill::before { - content: "\f557"; -} - -.bi-skip-end::before { - content: "\f558"; -} - -.bi-skip-forward-btn-fill::before { - content: "\f559"; -} - -.bi-skip-forward-btn::before { - content: "\f55a"; -} - -.bi-skip-forward-circle-fill::before { - content: "\f55b"; -} - -.bi-skip-forward-circle::before { - content: "\f55c"; -} - -.bi-skip-forward-fill::before { - content: "\f55d"; -} - -.bi-skip-forward::before { - content: "\f55e"; -} - -.bi-skip-start-btn-fill::before { - content: "\f55f"; -} - -.bi-skip-start-btn::before { - content: "\f560"; -} - -.bi-skip-start-circle-fill::before { - content: "\f561"; -} - -.bi-skip-start-circle::before { - content: "\f562"; -} - -.bi-skip-start-fill::before { - content: "\f563"; -} - -.bi-skip-start::before { - content: "\f564"; -} - -.bi-slack::before { - content: "\f565"; -} - -.bi-slash-circle-fill::before { - content: "\f566"; -} - -.bi-slash-circle::before { - content: "\f567"; -} - -.bi-slash-square-fill::before { - content: "\f568"; -} - -.bi-slash-square::before { - content: "\f569"; -} - -.bi-slash::before { - content: "\f56a"; -} - -.bi-sliders::before { - content: "\f56b"; -} - -.bi-smartwatch::before { - content: "\f56c"; -} - -.bi-snow::before { - content: "\f56d"; -} - -.bi-snow2::before { - content: "\f56e"; -} - -.bi-snow3::before { - content: "\f56f"; -} - -.bi-sort-alpha-down-alt::before { - content: "\f570"; -} - -.bi-sort-alpha-down::before { - content: "\f571"; -} - -.bi-sort-alpha-up-alt::before { - content: "\f572"; -} - -.bi-sort-alpha-up::before { - content: "\f573"; -} - -.bi-sort-down-alt::before { - content: "\f574"; -} - -.bi-sort-down::before { - content: "\f575"; -} - -.bi-sort-numeric-down-alt::before { - content: "\f576"; -} - -.bi-sort-numeric-down::before { - content: "\f577"; -} - -.bi-sort-numeric-up-alt::before { - content: "\f578"; -} - -.bi-sort-numeric-up::before { - content: "\f579"; -} - -.bi-sort-up-alt::before { - content: "\f57a"; -} - -.bi-sort-up::before { - content: "\f57b"; -} - -.bi-soundwave::before { - content: "\f57c"; -} - -.bi-speaker-fill::before { - content: "\f57d"; -} - -.bi-speaker::before { - content: "\f57e"; -} - -.bi-speedometer::before { - content: "\f57f"; -} - -.bi-speedometer2::before { - content: "\f580"; -} - -.bi-spellcheck::before { - content: "\f581"; -} - -.bi-square-fill::before { - content: "\f582"; -} - -.bi-square-half::before { - content: "\f583"; -} - -.bi-square::before { - content: "\f584"; -} - -.bi-stack::before { - content: "\f585"; -} - -.bi-star-fill::before { - content: "\f586"; -} - -.bi-star-half::before { - content: "\f587"; -} - -.bi-star::before { - content: "\f588"; -} - -.bi-stars::before { - content: "\f589"; -} - -.bi-stickies-fill::before { - content: "\f58a"; -} - -.bi-stickies::before { - content: "\f58b"; -} - -.bi-sticky-fill::before { - content: "\f58c"; -} - -.bi-sticky::before { - content: "\f58d"; -} - -.bi-stop-btn-fill::before { - content: "\f58e"; -} - -.bi-stop-btn::before { - content: "\f58f"; -} - -.bi-stop-circle-fill::before { - content: "\f590"; -} - -.bi-stop-circle::before { - content: "\f591"; -} - -.bi-stop-fill::before { - content: "\f592"; -} - -.bi-stop::before { - content: "\f593"; -} - -.bi-stoplights-fill::before { - content: "\f594"; -} - -.bi-stoplights::before { - content: "\f595"; -} - -.bi-stopwatch-fill::before { - content: "\f596"; -} - -.bi-stopwatch::before { - content: "\f597"; -} - -.bi-subtract::before { - content: "\f598"; -} - -.bi-suit-club-fill::before { - content: "\f599"; -} - -.bi-suit-club::before { - content: "\f59a"; -} - -.bi-suit-diamond-fill::before { - content: "\f59b"; -} - -.bi-suit-diamond::before { - content: "\f59c"; -} - -.bi-suit-heart-fill::before { - content: "\f59d"; -} - -.bi-suit-heart::before { - content: "\f59e"; -} - -.bi-suit-spade-fill::before { - content: "\f59f"; -} - -.bi-suit-spade::before { - content: "\f5a0"; -} - -.bi-sun-fill::before { - content: "\f5a1"; -} - -.bi-sun::before { - content: "\f5a2"; -} - -.bi-sunglasses::before { - content: "\f5a3"; -} - -.bi-sunrise-fill::before { - content: "\f5a4"; -} - -.bi-sunrise::before { - content: "\f5a5"; -} - -.bi-sunset-fill::before { - content: "\f5a6"; -} - -.bi-sunset::before { - content: "\f5a7"; -} - -.bi-symmetry-horizontal::before { - content: "\f5a8"; -} - -.bi-symmetry-vertical::before { - content: "\f5a9"; -} - -.bi-table::before { - content: "\f5aa"; -} - -.bi-tablet-fill::before { - content: "\f5ab"; -} - -.bi-tablet-landscape-fill::before { - content: "\f5ac"; -} - -.bi-tablet-landscape::before { - content: "\f5ad"; -} - -.bi-tablet::before { - content: "\f5ae"; -} - -.bi-tag-fill::before { - content: "\f5af"; -} - -.bi-tag::before { - content: "\f5b0"; -} - -.bi-tags-fill::before { - content: "\f5b1"; -} - -.bi-tags::before { - content: "\f5b2"; -} - -.bi-telegram::before { - content: "\f5b3"; -} - -.bi-telephone-fill::before { - content: "\f5b4"; -} - -.bi-telephone-forward-fill::before { - content: "\f5b5"; -} - -.bi-telephone-forward::before { - content: "\f5b6"; -} - -.bi-telephone-inbound-fill::before { - content: "\f5b7"; -} - -.bi-telephone-inbound::before { - content: "\f5b8"; -} - -.bi-telephone-minus-fill::before { - content: "\f5b9"; -} - -.bi-telephone-minus::before { - content: "\f5ba"; -} - -.bi-telephone-outbound-fill::before { - content: "\f5bb"; -} - -.bi-telephone-outbound::before { - content: "\f5bc"; -} - -.bi-telephone-plus-fill::before { - content: "\f5bd"; -} - -.bi-telephone-plus::before { - content: "\f5be"; -} - -.bi-telephone-x-fill::before { - content: "\f5bf"; -} - -.bi-telephone-x::before { - content: "\f5c0"; -} - -.bi-telephone::before { - content: "\f5c1"; -} - -.bi-terminal-fill::before { - content: "\f5c2"; -} - -.bi-terminal::before { - content: "\f5c3"; -} - -.bi-text-center::before { - content: "\f5c4"; -} - -.bi-text-indent-left::before { - content: "\f5c5"; -} - -.bi-text-indent-right::before { - content: "\f5c6"; -} - -.bi-text-left::before { - content: "\f5c7"; -} - -.bi-text-paragraph::before { - content: "\f5c8"; -} - -.bi-text-right::before { - content: "\f5c9"; -} - -.bi-textarea-resize::before { - content: "\f5ca"; -} - -.bi-textarea-t::before { - content: "\f5cb"; -} - -.bi-textarea::before { - content: "\f5cc"; -} - -.bi-thermometer-half::before { - content: "\f5cd"; -} - -.bi-thermometer-high::before { - content: "\f5ce"; -} - -.bi-thermometer-low::before { - content: "\f5cf"; -} - -.bi-thermometer-snow::before { - content: "\f5d0"; -} - -.bi-thermometer-sun::before { - content: "\f5d1"; -} - -.bi-thermometer::before { - content: "\f5d2"; -} - -.bi-three-dots-vertical::before { - content: "\f5d3"; -} - -.bi-three-dots::before { - content: "\f5d4"; -} - -.bi-toggle-off::before { - content: "\f5d5"; -} - -.bi-toggle-on::before { - content: "\f5d6"; -} - -.bi-toggle2-off::before { - content: "\f5d7"; -} - -.bi-toggle2-on::before { - content: "\f5d8"; -} - -.bi-toggles::before { - content: "\f5d9"; -} - -.bi-toggles2::before { - content: "\f5da"; -} - -.bi-tools::before { - content: "\f5db"; -} - -.bi-tornado::before { - content: "\f5dc"; -} - -.bi-trash-fill::before { - content: "\f5dd"; -} - -.bi-trash::before { - content: "\f5de"; -} - -.bi-trash2-fill::before { - content: "\f5df"; -} - -.bi-trash2::before { - content: "\f5e0"; -} - -.bi-tree-fill::before { - content: "\f5e1"; -} - -.bi-tree::before { - content: "\f5e2"; -} - -.bi-triangle-fill::before { - content: "\f5e3"; -} - -.bi-triangle-half::before { - content: "\f5e4"; -} - -.bi-triangle::before { - content: "\f5e5"; -} - -.bi-trophy-fill::before { - content: "\f5e6"; -} - -.bi-trophy::before { - content: "\f5e7"; -} - -.bi-tropical-storm::before { - content: "\f5e8"; -} - -.bi-truck-flatbed::before { - content: "\f5e9"; -} - -.bi-truck::before { - content: "\f5ea"; -} - -.bi-tsunami::before { - content: "\f5eb"; -} - -.bi-tv-fill::before { - content: "\f5ec"; -} - -.bi-tv::before { - content: "\f5ed"; -} - -.bi-twitch::before { - content: "\f5ee"; -} - -.bi-twitter::before { - content: "\f5ef"; -} - -.bi-type-bold::before { - content: "\f5f0"; -} - -.bi-type-h1::before { - content: "\f5f1"; -} - -.bi-type-h2::before { - content: "\f5f2"; -} - -.bi-type-h3::before { - content: "\f5f3"; -} - -.bi-type-italic::before { - content: "\f5f4"; -} - -.bi-type-strikethrough::before { - content: "\f5f5"; -} - -.bi-type-underline::before { - content: "\f5f6"; -} - -.bi-type::before { - content: "\f5f7"; -} - -.bi-ui-checks-grid::before { - content: "\f5f8"; -} - -.bi-ui-checks::before { - content: "\f5f9"; -} - -.bi-ui-radios-grid::before { - content: "\f5fa"; -} - -.bi-ui-radios::before { - content: "\f5fb"; -} - -.bi-umbrella-fill::before { - content: "\f5fc"; -} - -.bi-umbrella::before { - content: "\f5fd"; -} - -.bi-union::before { - content: "\f5fe"; -} - -.bi-unlock-fill::before { - content: "\f5ff"; -} - -.bi-unlock::before { - content: "\f600"; -} - -.bi-upc-scan::before { - content: "\f601"; -} - -.bi-upc::before { - content: "\f602"; -} - -.bi-upload::before { - content: "\f603"; -} - -.bi-vector-pen::before { - content: "\f604"; -} - -.bi-view-list::before { - content: "\f605"; -} - -.bi-view-stacked::before { - content: "\f606"; -} - -.bi-vinyl-fill::before { - content: "\f607"; -} - -.bi-vinyl::before { - content: "\f608"; -} - -.bi-voicemail::before { - content: "\f609"; -} - -.bi-volume-down-fill::before { - content: "\f60a"; -} - -.bi-volume-down::before { - content: "\f60b"; -} - -.bi-volume-mute-fill::before { - content: "\f60c"; -} - -.bi-volume-mute::before { - content: "\f60d"; -} - -.bi-volume-off-fill::before { - content: "\f60e"; -} - -.bi-volume-off::before { - content: "\f60f"; -} - -.bi-volume-up-fill::before { - content: "\f610"; -} - -.bi-volume-up::before { - content: "\f611"; -} - -.bi-vr::before { - content: "\f612"; -} - -.bi-wallet-fill::before { - content: "\f613"; -} - -.bi-wallet::before { - content: "\f614"; -} - -.bi-wallet2::before { - content: "\f615"; -} - -.bi-watch::before { - content: "\f616"; -} - -.bi-water::before { - content: "\f617"; -} - -.bi-whatsapp::before { - content: "\f618"; -} - -.bi-wifi-1::before { - content: "\f619"; -} - -.bi-wifi-2::before { - content: "\f61a"; -} - -.bi-wifi-off::before { - content: "\f61b"; -} - -.bi-wifi::before { - content: "\f61c"; -} - -.bi-wind::before { - content: "\f61d"; -} - -.bi-window-dock::before { - content: "\f61e"; -} - -.bi-window-sidebar::before { - content: "\f61f"; -} - -.bi-window::before { - content: "\f620"; -} - -.bi-wrench::before { - content: "\f621"; -} - -.bi-x-circle-fill::before { - content: "\f622"; -} - -.bi-x-circle::before { - content: "\f623"; -} - -.bi-x-diamond-fill::before { - content: "\f624"; -} - -.bi-x-diamond::before { - content: "\f625"; -} - -.bi-x-octagon-fill::before { - content: "\f626"; -} - -.bi-x-octagon::before { - content: "\f627"; -} - -.bi-x-square-fill::before { - content: "\f628"; -} - -.bi-x-square::before { - content: "\f629"; -} - -.bi-x::before { - content: "\f62a"; -} - -.bi-youtube::before { - content: "\f62b"; -} - -.bi-zoom-in::before { - content: "\f62c"; -} - -.bi-zoom-out::before { - content: "\f62d"; -} - -.bi-bank::before { - content: "\f62e"; -} - -.bi-bank2::before { - content: "\f62f"; -} - -.bi-bell-slash-fill::before { - content: "\f630"; -} - -.bi-bell-slash::before { - content: "\f631"; -} - -.bi-cash-coin::before { - content: "\f632"; -} - -.bi-check-lg::before { - content: "\f633"; -} - -.bi-coin::before { - content: "\f634"; -} - -.bi-currency-bitcoin::before { - content: "\f635"; -} - -.bi-currency-dollar::before { - content: "\f636"; -} - -.bi-currency-euro::before { - content: "\f637"; -} - -.bi-currency-exchange::before { - content: "\f638"; -} - -.bi-currency-pound::before { - content: "\f639"; -} - -.bi-currency-yen::before { - content: "\f63a"; -} - -.bi-dash-lg::before { - content: "\f63b"; -} - -.bi-exclamation-lg::before { - content: "\f63c"; -} - -.bi-file-earmark-pdf-fill::before { - content: "\f63d"; -} - -.bi-file-earmark-pdf::before { - content: "\f63e"; -} - -.bi-file-pdf-fill::before { - content: "\f63f"; -} - -.bi-file-pdf::before { - content: "\f640"; -} - -.bi-gender-ambiguous::before { - content: "\f641"; -} - -.bi-gender-female::before { - content: "\f642"; -} - -.bi-gender-male::before { - content: "\f643"; -} - -.bi-gender-trans::before { - content: "\f644"; -} - -.bi-headset-vr::before { - content: "\f645"; -} - -.bi-info-lg::before { - content: "\f646"; -} - -.bi-mastodon::before { - content: "\f647"; -} - -.bi-messenger::before { - content: "\f648"; -} - -.bi-piggy-bank-fill::before { - content: "\f649"; -} - -.bi-piggy-bank::before { - content: "\f64a"; -} - -.bi-pin-map-fill::before { - content: "\f64b"; -} - -.bi-pin-map::before { - content: "\f64c"; -} - -.bi-plus-lg::before { - content: "\f64d"; -} - -.bi-question-lg::before { - content: "\f64e"; -} - -.bi-recycle::before { - content: "\f64f"; -} - -.bi-reddit::before { - content: "\f650"; -} - -.bi-safe-fill::before { - content: "\f651"; -} - -.bi-safe2-fill::before { - content: "\f652"; -} - -.bi-safe2::before { - content: "\f653"; -} - -.bi-sd-card-fill::before { - content: "\f654"; -} - -.bi-sd-card::before { - content: "\f655"; -} - -.bi-skype::before { - content: "\f656"; -} - -.bi-slash-lg::before { - content: "\f657"; -} - -.bi-translate::before { - content: "\f658"; -} - -.bi-x-lg::before { - content: "\f659"; -} - -.bi-safe::before { - content: "\f65a"; -} - -.bi-apple::before { - content: "\f65b"; -} - -.bi-microsoft::before { - content: "\f65d"; -} - -.bi-windows::before { - content: "\f65e"; -} - -.bi-behance::before { - content: "\f65c"; -} - -.bi-dribbble::before { - content: "\f65f"; -} - -.bi-line::before { - content: "\f660"; -} - -.bi-medium::before { - content: "\f661"; -} - -.bi-paypal::before { - content: "\f662"; -} - -.bi-pinterest::before { - content: "\f663"; -} - -.bi-signal::before { - content: "\f664"; -} - -.bi-snapchat::before { - content: "\f665"; -} - -.bi-spotify::before { - content: "\f666"; -} - -.bi-stack-overflow::before { - content: "\f667"; -} - -.bi-strava::before { - content: "\f668"; -} - -.bi-wordpress::before { - content: "\f669"; -} - -.bi-vimeo::before { - content: "\f66a"; -} - -.bi-activity::before { - content: "\f66b"; -} - -.bi-easel2-fill::before { - content: "\f66c"; -} - -.bi-easel2::before { - content: "\f66d"; -} - -.bi-easel3-fill::before { - content: "\f66e"; -} - -.bi-easel3::before { - content: "\f66f"; -} - -.bi-fan::before { - content: "\f670"; -} - -.bi-fingerprint::before { - content: "\f671"; -} - -.bi-graph-down-arrow::before { - content: "\f672"; -} - -.bi-graph-up-arrow::before { - content: "\f673"; -} - -.bi-hypnotize::before { - content: "\f674"; -} - -.bi-magic::before { - content: "\f675"; -} - -.bi-person-rolodex::before { - content: "\f676"; -} - -.bi-person-video::before { - content: "\f677"; -} - -.bi-person-video2::before { - content: "\f678"; -} - -.bi-person-video3::before { - content: "\f679"; -} - -.bi-person-workspace::before { - content: "\f67a"; -} - -.bi-radioactive::before { - content: "\f67b"; -} - -.bi-webcam-fill::before { - content: "\f67c"; -} - -.bi-webcam::before { - content: "\f67d"; -} - -.bi-yin-yang::before { - content: "\f67e"; -} - -.bi-bandaid-fill::before { - content: "\f680"; -} - -.bi-bandaid::before { - content: "\f681"; -} - -.bi-bluetooth::before { - content: "\f682"; -} - -.bi-body-text::before { - content: "\f683"; -} - -.bi-boombox::before { - content: "\f684"; -} - -.bi-boxes::before { - content: "\f685"; -} - -.bi-dpad-fill::before { - content: "\f686"; -} - -.bi-dpad::before { - content: "\f687"; -} - -.bi-ear-fill::before { - content: "\f688"; -} - -.bi-ear::before { - content: "\f689"; -} - -.bi-envelope-check-fill::before { - content: "\f68b"; -} - -.bi-envelope-check::before { - content: "\f68c"; -} - -.bi-envelope-dash-fill::before { - content: "\f68e"; -} - -.bi-envelope-dash::before { - content: "\f68f"; -} - -.bi-envelope-exclamation-fill::before { - content: "\f691"; -} - -.bi-envelope-exclamation::before { - content: "\f692"; -} - -.bi-envelope-plus-fill::before { - content: "\f693"; -} - -.bi-envelope-plus::before { - content: "\f694"; -} - -.bi-envelope-slash-fill::before { - content: "\f696"; -} - -.bi-envelope-slash::before { - content: "\f697"; -} - -.bi-envelope-x-fill::before { - content: "\f699"; -} - -.bi-envelope-x::before { - content: "\f69a"; -} - -.bi-explicit-fill::before { - content: "\f69b"; -} - -.bi-explicit::before { - content: "\f69c"; -} - -.bi-git::before { - content: "\f69d"; -} - -.bi-infinity::before { - content: "\f69e"; -} - -.bi-list-columns-reverse::before { - content: "\f69f"; -} - -.bi-list-columns::before { - content: "\f6a0"; -} - -.bi-meta::before { - content: "\f6a1"; -} - -.bi-nintendo-switch::before { - content: "\f6a4"; -} - -.bi-pc-display-horizontal::before { - content: "\f6a5"; -} - -.bi-pc-display::before { - content: "\f6a6"; -} - -.bi-pc-horizontal::before { - content: "\f6a7"; -} - -.bi-pc::before { - content: "\f6a8"; -} - -.bi-playstation::before { - content: "\f6a9"; -} - -.bi-plus-slash-minus::before { - content: "\f6aa"; -} - -.bi-projector-fill::before { - content: "\f6ab"; -} - -.bi-projector::before { - content: "\f6ac"; -} - -.bi-qr-code-scan::before { - content: "\f6ad"; -} - -.bi-qr-code::before { - content: "\f6ae"; -} - -.bi-quora::before { - content: "\f6af"; -} - -.bi-quote::before { - content: "\f6b0"; -} - -.bi-robot::before { - content: "\f6b1"; -} - -.bi-send-check-fill::before { - content: "\f6b2"; -} - -.bi-send-check::before { - content: "\f6b3"; -} - -.bi-send-dash-fill::before { - content: "\f6b4"; -} - -.bi-send-dash::before { - content: "\f6b5"; -} - -.bi-send-exclamation-fill::before { - content: "\f6b7"; -} - -.bi-send-exclamation::before { - content: "\f6b8"; -} - -.bi-send-fill::before { - content: "\f6b9"; -} - -.bi-send-plus-fill::before { - content: "\f6ba"; -} - -.bi-send-plus::before { - content: "\f6bb"; -} - -.bi-send-slash-fill::before { - content: "\f6bc"; -} - -.bi-send-slash::before { - content: "\f6bd"; -} - -.bi-send-x-fill::before { - content: "\f6be"; -} - -.bi-send-x::before { - content: "\f6bf"; -} - -.bi-send::before { - content: "\f6c0"; -} - -.bi-steam::before { - content: "\f6c1"; -} - -.bi-terminal-dash::before { - content: "\f6c3"; -} - -.bi-terminal-plus::before { - content: "\f6c4"; -} - -.bi-terminal-split::before { - content: "\f6c5"; -} - -.bi-ticket-detailed-fill::before { - content: "\f6c6"; -} - -.bi-ticket-detailed::before { - content: "\f6c7"; -} - -.bi-ticket-fill::before { - content: "\f6c8"; -} - -.bi-ticket-perforated-fill::before { - content: "\f6c9"; -} - -.bi-ticket-perforated::before { - content: "\f6ca"; -} - -.bi-ticket::before { - content: "\f6cb"; -} - -.bi-tiktok::before { - content: "\f6cc"; -} - -.bi-window-dash::before { - content: "\f6cd"; -} - -.bi-window-desktop::before { - content: "\f6ce"; -} - -.bi-window-fullscreen::before { - content: "\f6cf"; -} - -.bi-window-plus::before { - content: "\f6d0"; -} - -.bi-window-split::before { - content: "\f6d1"; -} - -.bi-window-stack::before { - content: "\f6d2"; -} - -.bi-window-x::before { - content: "\f6d3"; -} - -.bi-xbox::before { - content: "\f6d4"; -} - -.bi-ethernet::before { - content: "\f6d5"; -} - -.bi-hdmi-fill::before { - content: "\f6d6"; -} - -.bi-hdmi::before { - content: "\f6d7"; -} - -.bi-usb-c-fill::before { - content: "\f6d8"; -} - -.bi-usb-c::before { - content: "\f6d9"; -} - -.bi-usb-fill::before { - content: "\f6da"; -} - -.bi-usb-plug-fill::before { - content: "\f6db"; -} - -.bi-usb-plug::before { - content: "\f6dc"; -} - -.bi-usb-symbol::before { - content: "\f6dd"; -} - -.bi-usb::before { - content: "\f6de"; -} - -.bi-boombox-fill::before { - content: "\f6df"; -} - -.bi-displayport::before { - content: "\f6e1"; -} - -.bi-gpu-card::before { - content: "\f6e2"; -} - -.bi-memory::before { - content: "\f6e3"; -} - -.bi-modem-fill::before { - content: "\f6e4"; -} - -.bi-modem::before { - content: "\f6e5"; -} - -.bi-motherboard-fill::before { - content: "\f6e6"; -} - -.bi-motherboard::before { - content: "\f6e7"; -} - -.bi-optical-audio-fill::before { - content: "\f6e8"; -} - -.bi-optical-audio::before { - content: "\f6e9"; -} - -.bi-pci-card::before { - content: "\f6ea"; -} - -.bi-router-fill::before { - content: "\f6eb"; -} - -.bi-router::before { - content: "\f6ec"; -} - -.bi-thunderbolt-fill::before { - content: "\f6ef"; -} - -.bi-thunderbolt::before { - content: "\f6f0"; -} - -.bi-usb-drive-fill::before { - content: "\f6f1"; -} - -.bi-usb-drive::before { - content: "\f6f2"; -} - -.bi-usb-micro-fill::before { - content: "\f6f3"; -} - -.bi-usb-micro::before { - content: "\f6f4"; -} - -.bi-usb-mini-fill::before { - content: "\f6f5"; -} - -.bi-usb-mini::before { - content: "\f6f6"; -} - -.bi-cloud-haze2::before { - content: "\f6f7"; -} - -.bi-device-hdd-fill::before { - content: "\f6f8"; -} - -.bi-device-hdd::before { - content: "\f6f9"; -} - -.bi-device-ssd-fill::before { - content: "\f6fa"; -} - -.bi-device-ssd::before { - content: "\f6fb"; -} - -.bi-displayport-fill::before { - content: "\f6fc"; -} - -.bi-mortarboard-fill::before { - content: "\f6fd"; -} - -.bi-mortarboard::before { - content: "\f6fe"; -} - -.bi-terminal-x::before { - content: "\f6ff"; -} - -.bi-arrow-through-heart-fill::before { - content: "\f700"; -} - -.bi-arrow-through-heart::before { - content: "\f701"; -} - -.bi-badge-sd-fill::before { - content: "\f702"; -} - -.bi-badge-sd::before { - content: "\f703"; -} - -.bi-bag-heart-fill::before { - content: "\f704"; -} - -.bi-bag-heart::before { - content: "\f705"; -} - -.bi-balloon-fill::before { - content: "\f706"; -} - -.bi-balloon-heart-fill::before { - content: "\f707"; -} - -.bi-balloon-heart::before { - content: "\f708"; -} - -.bi-balloon::before { - content: "\f709"; -} - -.bi-box2-fill::before { - content: "\f70a"; -} - -.bi-box2-heart-fill::before { - content: "\f70b"; -} - -.bi-box2-heart::before { - content: "\f70c"; -} - -.bi-box2::before { - content: "\f70d"; -} - -.bi-braces-asterisk::before { - content: "\f70e"; -} - -.bi-calendar-heart-fill::before { - content: "\f70f"; -} - -.bi-calendar-heart::before { - content: "\f710"; -} - -.bi-calendar2-heart-fill::before { - content: "\f711"; -} - -.bi-calendar2-heart::before { - content: "\f712"; -} - -.bi-chat-heart-fill::before { - content: "\f713"; -} - -.bi-chat-heart::before { - content: "\f714"; -} - -.bi-chat-left-heart-fill::before { - content: "\f715"; -} - -.bi-chat-left-heart::before { - content: "\f716"; -} - -.bi-chat-right-heart-fill::before { - content: "\f717"; -} - -.bi-chat-right-heart::before { - content: "\f718"; -} - -.bi-chat-square-heart-fill::before { - content: "\f719"; -} - -.bi-chat-square-heart::before { - content: "\f71a"; -} - -.bi-clipboard-check-fill::before { - content: "\f71b"; -} - -.bi-clipboard-data-fill::before { - content: "\f71c"; -} - -.bi-clipboard-fill::before { - content: "\f71d"; -} - -.bi-clipboard-heart-fill::before { - content: "\f71e"; -} - -.bi-clipboard-heart::before { - content: "\f71f"; -} - -.bi-clipboard-minus-fill::before { - content: "\f720"; -} - -.bi-clipboard-plus-fill::before { - content: "\f721"; -} - -.bi-clipboard-pulse::before { - content: "\f722"; -} - -.bi-clipboard-x-fill::before { - content: "\f723"; -} - -.bi-clipboard2-check-fill::before { - content: "\f724"; -} - -.bi-clipboard2-check::before { - content: "\f725"; -} - -.bi-clipboard2-data-fill::before { - content: "\f726"; -} - -.bi-clipboard2-data::before { - content: "\f727"; -} - -.bi-clipboard2-fill::before { - content: "\f728"; -} - -.bi-clipboard2-heart-fill::before { - content: "\f729"; -} - -.bi-clipboard2-heart::before { - content: "\f72a"; -} - -.bi-clipboard2-minus-fill::before { - content: "\f72b"; -} - -.bi-clipboard2-minus::before { - content: "\f72c"; -} - -.bi-clipboard2-plus-fill::before { - content: "\f72d"; -} - -.bi-clipboard2-plus::before { - content: "\f72e"; -} - -.bi-clipboard2-pulse-fill::before { - content: "\f72f"; -} - -.bi-clipboard2-pulse::before { - content: "\f730"; -} - -.bi-clipboard2-x-fill::before { - content: "\f731"; -} - -.bi-clipboard2-x::before { - content: "\f732"; -} - -.bi-clipboard2::before { - content: "\f733"; -} - -.bi-emoji-kiss-fill::before { - content: "\f734"; -} - -.bi-emoji-kiss::before { - content: "\f735"; -} - -.bi-envelope-heart-fill::before { - content: "\f736"; -} - -.bi-envelope-heart::before { - content: "\f737"; -} - -.bi-envelope-open-heart-fill::before { - content: "\f738"; -} - -.bi-envelope-open-heart::before { - content: "\f739"; -} - -.bi-envelope-paper-fill::before { - content: "\f73a"; -} - -.bi-envelope-paper-heart-fill::before { - content: "\f73b"; -} - -.bi-envelope-paper-heart::before { - content: "\f73c"; -} - -.bi-envelope-paper::before { - content: "\f73d"; -} - -.bi-filetype-aac::before { - content: "\f73e"; -} - -.bi-filetype-ai::before { - content: "\f73f"; -} - -.bi-filetype-bmp::before { - content: "\f740"; -} - -.bi-filetype-cs::before { - content: "\f741"; -} - -.bi-filetype-css::before { - content: "\f742"; -} - -.bi-filetype-csv::before { - content: "\f743"; -} - -.bi-filetype-doc::before { - content: "\f744"; -} - -.bi-filetype-docx::before { - content: "\f745"; -} - -.bi-filetype-exe::before { - content: "\f746"; -} - -.bi-filetype-gif::before { - content: "\f747"; -} - -.bi-filetype-heic::before { - content: "\f748"; -} - -.bi-filetype-html::before { - content: "\f749"; -} - -.bi-filetype-java::before { - content: "\f74a"; -} - -.bi-filetype-jpg::before { - content: "\f74b"; -} - -.bi-filetype-js::before { - content: "\f74c"; -} - -.bi-filetype-jsx::before { - content: "\f74d"; -} - -.bi-filetype-key::before { - content: "\f74e"; -} - -.bi-filetype-m4p::before { - content: "\f74f"; -} - -.bi-filetype-md::before { - content: "\f750"; -} - -.bi-filetype-mdx::before { - content: "\f751"; -} - -.bi-filetype-mov::before { - content: "\f752"; -} - -.bi-filetype-mp3::before { - content: "\f753"; -} - -.bi-filetype-mp4::before { - content: "\f754"; -} - -.bi-filetype-otf::before { - content: "\f755"; -} - -.bi-filetype-pdf::before { - content: "\f756"; -} - -.bi-filetype-php::before { - content: "\f757"; -} - -.bi-filetype-png::before { - content: "\f758"; -} - -.bi-filetype-ppt::before { - content: "\f75a"; -} - -.bi-filetype-psd::before { - content: "\f75b"; -} - -.bi-filetype-py::before { - content: "\f75c"; -} - -.bi-filetype-raw::before { - content: "\f75d"; -} - -.bi-filetype-rb::before { - content: "\f75e"; -} - -.bi-filetype-sass::before { - content: "\f75f"; -} - -.bi-filetype-scss::before { - content: "\f760"; -} - -.bi-filetype-sh::before { - content: "\f761"; -} - -.bi-filetype-svg::before { - content: "\f762"; -} - -.bi-filetype-tiff::before { - content: "\f763"; -} - -.bi-filetype-tsx::before { - content: "\f764"; -} - -.bi-filetype-ttf::before { - content: "\f765"; -} - -.bi-filetype-txt::before { - content: "\f766"; -} - -.bi-filetype-wav::before { - content: "\f767"; -} - -.bi-filetype-woff::before { - content: "\f768"; -} - -.bi-filetype-xls::before { - content: "\f76a"; -} - -.bi-filetype-xml::before { - content: "\f76b"; -} - -.bi-filetype-yml::before { - content: "\f76c"; -} - -.bi-heart-arrow::before { - content: "\f76d"; -} - -.bi-heart-pulse-fill::before { - content: "\f76e"; -} - -.bi-heart-pulse::before { - content: "\f76f"; -} - -.bi-heartbreak-fill::before { - content: "\f770"; -} - -.bi-heartbreak::before { - content: "\f771"; -} - -.bi-hearts::before { - content: "\f772"; -} - -.bi-hospital-fill::before { - content: "\f773"; -} - -.bi-hospital::before { - content: "\f774"; -} - -.bi-house-heart-fill::before { - content: "\f775"; -} - -.bi-house-heart::before { - content: "\f776"; -} - -.bi-incognito::before { - content: "\f777"; -} - -.bi-magnet-fill::before { - content: "\f778"; -} - -.bi-magnet::before { - content: "\f779"; -} - -.bi-person-heart::before { - content: "\f77a"; -} - -.bi-person-hearts::before { - content: "\f77b"; -} - -.bi-phone-flip::before { - content: "\f77c"; -} - -.bi-plugin::before { - content: "\f77d"; -} - -.bi-postage-fill::before { - content: "\f77e"; -} - -.bi-postage-heart-fill::before { - content: "\f77f"; -} - -.bi-postage-heart::before { - content: "\f780"; -} - -.bi-postage::before { - content: "\f781"; -} - -.bi-postcard-fill::before { - content: "\f782"; -} - -.bi-postcard-heart-fill::before { - content: "\f783"; -} - -.bi-postcard-heart::before { - content: "\f784"; -} - -.bi-postcard::before { - content: "\f785"; -} - -.bi-search-heart-fill::before { - content: "\f786"; -} - -.bi-search-heart::before { - content: "\f787"; -} - -.bi-sliders2-vertical::before { - content: "\f788"; -} - -.bi-sliders2::before { - content: "\f789"; -} - -.bi-trash3-fill::before { - content: "\f78a"; -} - -.bi-trash3::before { - content: "\f78b"; -} - -.bi-valentine::before { - content: "\f78c"; -} - -.bi-valentine2::before { - content: "\f78d"; -} - -.bi-wrench-adjustable-circle-fill::before { - content: "\f78e"; -} - -.bi-wrench-adjustable-circle::before { - content: "\f78f"; -} - -.bi-wrench-adjustable::before { - content: "\f790"; -} - -.bi-filetype-json::before { - content: "\f791"; -} - -.bi-filetype-pptx::before { - content: "\f792"; -} - -.bi-filetype-xlsx::before { - content: "\f793"; -} - -.bi-1-circle-fill::before { - content: "\f796"; -} - -.bi-1-circle::before { - content: "\f797"; -} - -.bi-1-square-fill::before { - content: "\f798"; -} - -.bi-1-square::before { - content: "\f799"; -} - -.bi-2-circle-fill::before { - content: "\f79c"; -} - -.bi-2-circle::before { - content: "\f79d"; -} - -.bi-2-square-fill::before { - content: "\f79e"; -} - -.bi-2-square::before { - content: "\f79f"; -} - -.bi-3-circle-fill::before { - content: "\f7a2"; -} - -.bi-3-circle::before { - content: "\f7a3"; -} - -.bi-3-square-fill::before { - content: "\f7a4"; -} - -.bi-3-square::before { - content: "\f7a5"; -} - -.bi-4-circle-fill::before { - content: "\f7a8"; -} - -.bi-4-circle::before { - content: "\f7a9"; -} - -.bi-4-square-fill::before { - content: "\f7aa"; -} - -.bi-4-square::before { - content: "\f7ab"; -} - -.bi-5-circle-fill::before { - content: "\f7ae"; -} - -.bi-5-circle::before { - content: "\f7af"; -} - -.bi-5-square-fill::before { - content: "\f7b0"; -} - -.bi-5-square::before { - content: "\f7b1"; -} - -.bi-6-circle-fill::before { - content: "\f7b4"; -} - -.bi-6-circle::before { - content: "\f7b5"; -} - -.bi-6-square-fill::before { - content: "\f7b6"; -} - -.bi-6-square::before { - content: "\f7b7"; -} - -.bi-7-circle-fill::before { - content: "\f7ba"; -} - -.bi-7-circle::before { - content: "\f7bb"; -} - -.bi-7-square-fill::before { - content: "\f7bc"; -} - -.bi-7-square::before { - content: "\f7bd"; -} - -.bi-8-circle-fill::before { - content: "\f7c0"; -} - -.bi-8-circle::before { - content: "\f7c1"; -} - -.bi-8-square-fill::before { - content: "\f7c2"; -} - -.bi-8-square::before { - content: "\f7c3"; -} - -.bi-9-circle-fill::before { - content: "\f7c6"; -} - -.bi-9-circle::before { - content: "\f7c7"; -} - -.bi-9-square-fill::before { - content: "\f7c8"; -} - -.bi-9-square::before { - content: "\f7c9"; -} - -.bi-airplane-engines-fill::before { - content: "\f7ca"; -} - -.bi-airplane-engines::before { - content: "\f7cb"; -} - -.bi-airplane-fill::before { - content: "\f7cc"; -} - -.bi-airplane::before { - content: "\f7cd"; -} - -.bi-alexa::before { - content: "\f7ce"; -} - -.bi-alipay::before { - content: "\f7cf"; -} - -.bi-android::before { - content: "\f7d0"; -} - -.bi-android2::before { - content: "\f7d1"; -} - -.bi-box-fill::before { - content: "\f7d2"; -} - -.bi-box-seam-fill::before { - content: "\f7d3"; -} - -.bi-browser-chrome::before { - content: "\f7d4"; -} - -.bi-browser-edge::before { - content: "\f7d5"; -} - -.bi-browser-firefox::before { - content: "\f7d6"; -} - -.bi-browser-safari::before { - content: "\f7d7"; -} - -.bi-c-circle-fill::before { - content: "\f7da"; -} - -.bi-c-circle::before { - content: "\f7db"; -} - -.bi-c-square-fill::before { - content: "\f7dc"; -} - -.bi-c-square::before { - content: "\f7dd"; -} - -.bi-capsule-pill::before { - content: "\f7de"; -} - -.bi-capsule::before { - content: "\f7df"; -} - -.bi-car-front-fill::before { - content: "\f7e0"; -} - -.bi-car-front::before { - content: "\f7e1"; -} - -.bi-cassette-fill::before { - content: "\f7e2"; -} - -.bi-cassette::before { - content: "\f7e3"; -} - -.bi-cc-circle-fill::before { - content: "\f7e6"; -} - -.bi-cc-circle::before { - content: "\f7e7"; -} - -.bi-cc-square-fill::before { - content: "\f7e8"; -} - -.bi-cc-square::before { - content: "\f7e9"; -} - -.bi-cup-hot-fill::before { - content: "\f7ea"; -} - -.bi-cup-hot::before { - content: "\f7eb"; -} - -.bi-currency-rupee::before { - content: "\f7ec"; -} - -.bi-dropbox::before { - content: "\f7ed"; -} - -.bi-escape::before { - content: "\f7ee"; -} - -.bi-fast-forward-btn-fill::before { - content: "\f7ef"; -} - -.bi-fast-forward-btn::before { - content: "\f7f0"; -} - -.bi-fast-forward-circle-fill::before { - content: "\f7f1"; -} - -.bi-fast-forward-circle::before { - content: "\f7f2"; -} - -.bi-fast-forward-fill::before { - content: "\f7f3"; -} - -.bi-fast-forward::before { - content: "\f7f4"; -} - -.bi-filetype-sql::before { - content: "\f7f5"; -} - -.bi-fire::before { - content: "\f7f6"; -} - -.bi-google-play::before { - content: "\f7f7"; -} - -.bi-h-circle-fill::before { - content: "\f7fa"; -} - -.bi-h-circle::before { - content: "\f7fb"; -} - -.bi-h-square-fill::before { - content: "\f7fc"; -} - -.bi-h-square::before { - content: "\f7fd"; -} - -.bi-indent::before { - content: "\f7fe"; -} - -.bi-lungs-fill::before { - content: "\f7ff"; -} - -.bi-lungs::before { - content: "\f800"; -} - -.bi-microsoft-teams::before { - content: "\f801"; -} - -.bi-p-circle-fill::before { - content: "\f804"; -} - -.bi-p-circle::before { - content: "\f805"; -} - -.bi-p-square-fill::before { - content: "\f806"; -} - -.bi-p-square::before { - content: "\f807"; -} - -.bi-pass-fill::before { - content: "\f808"; -} - -.bi-pass::before { - content: "\f809"; -} - -.bi-prescription::before { - content: "\f80a"; -} - -.bi-prescription2::before { - content: "\f80b"; -} - -.bi-r-circle-fill::before { - content: "\f80e"; -} - -.bi-r-circle::before { - content: "\f80f"; -} - -.bi-r-square-fill::before { - content: "\f810"; -} - -.bi-r-square::before { - content: "\f811"; -} - -.bi-repeat-1::before { - content: "\f812"; -} - -.bi-repeat::before { - content: "\f813"; -} - -.bi-rewind-btn-fill::before { - content: "\f814"; -} - -.bi-rewind-btn::before { - content: "\f815"; -} - -.bi-rewind-circle-fill::before { - content: "\f816"; -} - -.bi-rewind-circle::before { - content: "\f817"; -} - -.bi-rewind-fill::before { - content: "\f818"; -} - -.bi-rewind::before { - content: "\f819"; -} - -.bi-train-freight-front-fill::before { - content: "\f81a"; -} - -.bi-train-freight-front::before { - content: "\f81b"; -} - -.bi-train-front-fill::before { - content: "\f81c"; -} - -.bi-train-front::before { - content: "\f81d"; -} - -.bi-train-lightrail-front-fill::before { - content: "\f81e"; -} - -.bi-train-lightrail-front::before { - content: "\f81f"; -} - -.bi-truck-front-fill::before { - content: "\f820"; -} - -.bi-truck-front::before { - content: "\f821"; -} - -.bi-ubuntu::before { - content: "\f822"; -} - -.bi-unindent::before { - content: "\f823"; -} - -.bi-unity::before { - content: "\f824"; -} - -.bi-universal-access-circle::before { - content: "\f825"; -} - -.bi-universal-access::before { - content: "\f826"; -} - -.bi-virus::before { - content: "\f827"; -} - -.bi-virus2::before { - content: "\f828"; -} - -.bi-wechat::before { - content: "\f829"; -} - -.bi-yelp::before { - content: "\f82a"; -} - -.bi-sign-stop-fill::before { - content: "\f82b"; -} - -.bi-sign-stop-lights-fill::before { - content: "\f82c"; -} - -.bi-sign-stop-lights::before { - content: "\f82d"; -} - -.bi-sign-stop::before { - content: "\f82e"; -} - -.bi-sign-turn-left-fill::before { - content: "\f82f"; -} - -.bi-sign-turn-left::before { - content: "\f830"; -} - -.bi-sign-turn-right-fill::before { - content: "\f831"; -} - -.bi-sign-turn-right::before { - content: "\f832"; -} - -.bi-sign-turn-slight-left-fill::before { - content: "\f833"; -} - -.bi-sign-turn-slight-left::before { - content: "\f834"; -} - -.bi-sign-turn-slight-right-fill::before { - content: "\f835"; -} - -.bi-sign-turn-slight-right::before { - content: "\f836"; -} - -.bi-sign-yield-fill::before { - content: "\f837"; -} - -.bi-sign-yield::before { - content: "\f838"; -} - -.bi-ev-station-fill::before { - content: "\f839"; -} - -.bi-ev-station::before { - content: "\f83a"; -} - -.bi-fuel-pump-diesel-fill::before { - content: "\f83b"; -} - -.bi-fuel-pump-diesel::before { - content: "\f83c"; -} - -.bi-fuel-pump-fill::before { - content: "\f83d"; -} - -.bi-fuel-pump::before { - content: "\f83e"; -} - -.bi-0-circle-fill::before { - content: "\f83f"; -} - -.bi-0-circle::before { - content: "\f840"; -} - -.bi-0-square-fill::before { - content: "\f841"; -} - -.bi-0-square::before { - content: "\f842"; -} - -.bi-rocket-fill::before { - content: "\f843"; -} - -.bi-rocket-takeoff-fill::before { - content: "\f844"; -} - -.bi-rocket-takeoff::before { - content: "\f845"; -} - -.bi-rocket::before { - content: "\f846"; -} - -.bi-stripe::before { - content: "\f847"; -} - -.bi-subscript::before { - content: "\f848"; -} - -.bi-superscript::before { - content: "\f849"; -} - -.bi-trello::before { - content: "\f84a"; -} - -.bi-envelope-at-fill::before { - content: "\f84b"; -} - -.bi-envelope-at::before { - content: "\f84c"; -} - -.bi-regex::before { - content: "\f84d"; -} - -.bi-text-wrap::before { - content: "\f84e"; -} - -.bi-sign-dead-end-fill::before { - content: "\f84f"; -} - -.bi-sign-dead-end::before { - content: "\f850"; -} - -.bi-sign-do-not-enter-fill::before { - content: "\f851"; -} - -.bi-sign-do-not-enter::before { - content: "\f852"; -} - -.bi-sign-intersection-fill::before { - content: "\f853"; -} - -.bi-sign-intersection-side-fill::before { - content: "\f854"; -} - -.bi-sign-intersection-side::before { - content: "\f855"; -} - -.bi-sign-intersection-t-fill::before { - content: "\f856"; -} - -.bi-sign-intersection-t::before { - content: "\f857"; -} - -.bi-sign-intersection-y-fill::before { - content: "\f858"; -} - -.bi-sign-intersection-y::before { - content: "\f859"; -} - -.bi-sign-intersection::before { - content: "\f85a"; -} - -.bi-sign-merge-left-fill::before { - content: "\f85b"; -} - -.bi-sign-merge-left::before { - content: "\f85c"; -} - -.bi-sign-merge-right-fill::before { - content: "\f85d"; -} - -.bi-sign-merge-right::before { - content: "\f85e"; -} - -.bi-sign-no-left-turn-fill::before { - content: "\f85f"; -} - -.bi-sign-no-left-turn::before { - content: "\f860"; -} - -.bi-sign-no-parking-fill::before { - content: "\f861"; -} - -.bi-sign-no-parking::before { - content: "\f862"; -} - -.bi-sign-no-right-turn-fill::before { - content: "\f863"; -} - -.bi-sign-no-right-turn::before { - content: "\f864"; -} - -.bi-sign-railroad-fill::before { - content: "\f865"; -} - -.bi-sign-railroad::before { - content: "\f866"; -} - -.bi-building-add::before { - content: "\f867"; -} - -.bi-building-check::before { - content: "\f868"; -} - -.bi-building-dash::before { - content: "\f869"; -} - -.bi-building-down::before { - content: "\f86a"; -} - -.bi-building-exclamation::before { - content: "\f86b"; -} - -.bi-building-fill-add::before { - content: "\f86c"; -} - -.bi-building-fill-check::before { - content: "\f86d"; -} - -.bi-building-fill-dash::before { - content: "\f86e"; -} - -.bi-building-fill-down::before { - content: "\f86f"; -} - -.bi-building-fill-exclamation::before { - content: "\f870"; -} - -.bi-building-fill-gear::before { - content: "\f871"; -} - -.bi-building-fill-lock::before { - content: "\f872"; -} - -.bi-building-fill-slash::before { - content: "\f873"; -} - -.bi-building-fill-up::before { - content: "\f874"; -} - -.bi-building-fill-x::before { - content: "\f875"; -} - -.bi-building-fill::before { - content: "\f876"; -} - -.bi-building-gear::before { - content: "\f877"; -} - -.bi-building-lock::before { - content: "\f878"; -} - -.bi-building-slash::before { - content: "\f879"; -} - -.bi-building-up::before { - content: "\f87a"; -} - -.bi-building-x::before { - content: "\f87b"; -} - -.bi-buildings-fill::before { - content: "\f87c"; -} - -.bi-buildings::before { - content: "\f87d"; -} - -.bi-bus-front-fill::before { - content: "\f87e"; -} - -.bi-bus-front::before { - content: "\f87f"; -} - -.bi-ev-front-fill::before { - content: "\f880"; -} - -.bi-ev-front::before { - content: "\f881"; -} - -.bi-globe-americas::before { - content: "\f882"; -} - -.bi-globe-asia-australia::before { - content: "\f883"; -} - -.bi-globe-central-south-asia::before { - content: "\f884"; -} - -.bi-globe-europe-africa::before { - content: "\f885"; -} - -.bi-house-add-fill::before { - content: "\f886"; -} - -.bi-house-add::before { - content: "\f887"; -} - -.bi-house-check-fill::before { - content: "\f888"; -} - -.bi-house-check::before { - content: "\f889"; -} - -.bi-house-dash-fill::before { - content: "\f88a"; -} - -.bi-house-dash::before { - content: "\f88b"; -} - -.bi-house-down-fill::before { - content: "\f88c"; -} - -.bi-house-down::before { - content: "\f88d"; -} - -.bi-house-exclamation-fill::before { - content: "\f88e"; -} - -.bi-house-exclamation::before { - content: "\f88f"; -} - -.bi-house-gear-fill::before { - content: "\f890"; -} - -.bi-house-gear::before { - content: "\f891"; -} - -.bi-house-lock-fill::before { - content: "\f892"; -} - -.bi-house-lock::before { - content: "\f893"; -} - -.bi-house-slash-fill::before { - content: "\f894"; -} - -.bi-house-slash::before { - content: "\f895"; -} - -.bi-house-up-fill::before { - content: "\f896"; -} - -.bi-house-up::before { - content: "\f897"; -} - -.bi-house-x-fill::before { - content: "\f898"; -} - -.bi-house-x::before { - content: "\f899"; -} - -.bi-person-add::before { - content: "\f89a"; -} - -.bi-person-down::before { - content: "\f89b"; -} - -.bi-person-exclamation::before { - content: "\f89c"; -} - -.bi-person-fill-add::before { - content: "\f89d"; -} - -.bi-person-fill-check::before { - content: "\f89e"; -} - -.bi-person-fill-dash::before { - content: "\f89f"; -} - -.bi-person-fill-down::before { - content: "\f8a0"; -} - -.bi-person-fill-exclamation::before { - content: "\f8a1"; -} - -.bi-person-fill-gear::before { - content: "\f8a2"; -} - -.bi-person-fill-lock::before { - content: "\f8a3"; -} - -.bi-person-fill-slash::before { - content: "\f8a4"; -} - -.bi-person-fill-up::before { - content: "\f8a5"; -} - -.bi-person-fill-x::before { - content: "\f8a6"; -} - -.bi-person-gear::before { - content: "\f8a7"; -} - -.bi-person-lock::before { - content: "\f8a8"; -} - -.bi-person-slash::before { - content: "\f8a9"; -} - -.bi-person-up::before { - content: "\f8aa"; -} - -.bi-scooter::before { - content: "\f8ab"; -} - -.bi-taxi-front-fill::before { - content: "\f8ac"; -} - -.bi-taxi-front::before { - content: "\f8ad"; -} - -.bi-amd::before { - content: "\f8ae"; -} - -.bi-database-add::before { - content: "\f8af"; -} - -.bi-database-check::before { - content: "\f8b0"; -} - -.bi-database-dash::before { - content: "\f8b1"; -} - -.bi-database-down::before { - content: "\f8b2"; -} - -.bi-database-exclamation::before { - content: "\f8b3"; -} - -.bi-database-fill-add::before { - content: "\f8b4"; -} - -.bi-database-fill-check::before { - content: "\f8b5"; -} - -.bi-database-fill-dash::before { - content: "\f8b6"; -} - -.bi-database-fill-down::before { - content: "\f8b7"; -} - -.bi-database-fill-exclamation::before { - content: "\f8b8"; -} - -.bi-database-fill-gear::before { - content: "\f8b9"; -} - -.bi-database-fill-lock::before { - content: "\f8ba"; -} - -.bi-database-fill-slash::before { - content: "\f8bb"; -} - -.bi-database-fill-up::before { - content: "\f8bc"; -} - -.bi-database-fill-x::before { - content: "\f8bd"; -} - -.bi-database-fill::before { - content: "\f8be"; -} - -.bi-database-gear::before { - content: "\f8bf"; -} - -.bi-database-lock::before { - content: "\f8c0"; -} - -.bi-database-slash::before { - content: "\f8c1"; -} - -.bi-database-up::before { - content: "\f8c2"; -} - -.bi-database-x::before { - content: "\f8c3"; -} - -.bi-database::before { - content: "\f8c4"; -} - -.bi-houses-fill::before { - content: "\f8c5"; -} - -.bi-houses::before { - content: "\f8c6"; -} - -.bi-nvidia::before { - content: "\f8c7"; -} - -.bi-person-vcard-fill::before { - content: "\f8c8"; -} - -.bi-person-vcard::before { - content: "\f8c9"; -} - -.bi-sina-weibo::before { - content: "\f8ca"; -} - -.bi-tencent-qq::before { - content: "\f8cb"; -} - -.bi-wikipedia::before { - content: "\f8cc"; -} - -.bi-alphabet-uppercase::before { - content: "\f2a5"; -} - -.bi-alphabet::before { - content: "\f68a"; -} - -.bi-amazon::before { - content: "\f68d"; -} - -.bi-arrows-collapse-vertical::before { - content: "\f690"; -} - -.bi-arrows-expand-vertical::before { - content: "\f695"; -} - -.bi-arrows-vertical::before { - content: "\f698"; -} - -.bi-arrows::before { - content: "\f6a2"; -} - -.bi-ban-fill::before { - content: "\f6a3"; -} - -.bi-ban::before { - content: "\f6b6"; -} - -.bi-bing::before { - content: "\f6c2"; -} - -.bi-cake::before { - content: "\f6e0"; -} - -.bi-cake2::before { - content: "\f6ed"; -} - -.bi-cookie::before { - content: "\f6ee"; -} - -.bi-copy::before { - content: "\f759"; -} - -.bi-crosshair::before { - content: "\f769"; -} - -.bi-crosshair2::before { - content: "\f794"; -} - -.bi-emoji-astonished-fill::before { - content: "\f795"; -} - -.bi-emoji-astonished::before { - content: "\f79a"; -} - -.bi-emoji-grimace-fill::before { - content: "\f79b"; -} - -.bi-emoji-grimace::before { - content: "\f7a0"; -} - -.bi-emoji-grin-fill::before { - content: "\f7a1"; -} - -.bi-emoji-grin::before { - content: "\f7a6"; -} - -.bi-emoji-surprise-fill::before { - content: "\f7a7"; -} - -.bi-emoji-surprise::before { - content: "\f7ac"; -} - -.bi-emoji-tear-fill::before { - content: "\f7ad"; -} - -.bi-emoji-tear::before { - content: "\f7b2"; -} - -.bi-envelope-arrow-down-fill::before { - content: "\f7b3"; -} - -.bi-envelope-arrow-down::before { - content: "\f7b8"; -} - -.bi-envelope-arrow-up-fill::before { - content: "\f7b9"; -} - -.bi-envelope-arrow-up::before { - content: "\f7be"; -} - -.bi-feather::before { - content: "\f7bf"; -} - -.bi-feather2::before { - content: "\f7c4"; -} - -.bi-floppy-fill::before { - content: "\f7c5"; -} - -.bi-floppy::before { - content: "\f7d8"; -} - -.bi-floppy2-fill::before { - content: "\f7d9"; -} - -.bi-floppy2::before { - content: "\f7e4"; -} - -.bi-gitlab::before { - content: "\f7e5"; -} - -.bi-highlighter::before { - content: "\f7f8"; -} - -.bi-marker-tip::before { - content: "\f802"; -} - -.bi-nvme-fill::before { - content: "\f803"; -} - -.bi-nvme::before { - content: "\f80c"; -} - -.bi-opencollective::before { - content: "\f80d"; -} - -.bi-pci-card-network::before { - content: "\f8cd"; -} - -.bi-pci-card-sound::before { - content: "\f8ce"; -} - -.bi-radar::before { - content: "\f8cf"; -} - -.bi-send-arrow-down-fill::before { - content: "\f8d0"; -} - -.bi-send-arrow-down::before { - content: "\f8d1"; -} - -.bi-send-arrow-up-fill::before { - content: "\f8d2"; -} - -.bi-send-arrow-up::before { - content: "\f8d3"; -} - -.bi-sim-slash-fill::before { - content: "\f8d4"; -} - -.bi-sim-slash::before { - content: "\f8d5"; -} - -.bi-sourceforge::before { - content: "\f8d6"; -} - -.bi-substack::before { - content: "\f8d7"; -} - -.bi-threads-fill::before { - content: "\f8d8"; -} - -.bi-threads::before { - content: "\f8d9"; -} - -.bi-transparency::before { - content: "\f8da"; -} - -.bi-twitter-x::before { - content: "\f8db"; -} - -.bi-type-h4::before { - content: "\f8dc"; -} - -.bi-type-h5::before { - content: "\f8dd"; -} - -.bi-type-h6::before { - content: "\f8de"; -} - -.bi-backpack-fill::before { - content: "\f8df"; -} - -.bi-backpack::before { - content: "\f8e0"; -} - -.bi-backpack2-fill::before { - content: "\f8e1"; -} - -.bi-backpack2::before { - content: "\f8e2"; -} - -.bi-backpack3-fill::before { - content: "\f8e3"; -} - -.bi-backpack3::before { - content: "\f8e4"; -} - -.bi-backpack4-fill::before { - content: "\f8e5"; -} - -.bi-backpack4::before { - content: "\f8e6"; -} - -.bi-brilliance::before { - content: "\f8e7"; -} - -.bi-cake-fill::before { - content: "\f8e8"; -} - -.bi-cake2-fill::before { - content: "\f8e9"; -} - -.bi-duffle-fill::before { - content: "\f8ea"; -} - -.bi-duffle::before { - content: "\f8eb"; -} - -.bi-exposure::before { - content: "\f8ec"; -} - -.bi-gender-neuter::before { - content: "\f8ed"; -} - -.bi-highlights::before { - content: "\f8ee"; -} - -.bi-luggage-fill::before { - content: "\f8ef"; -} - -.bi-luggage::before { - content: "\f8f0"; -} - -.bi-mailbox-flag::before { - content: "\f8f1"; -} - -.bi-mailbox2-flag::before { - content: "\f8f2"; -} - -.bi-noise-reduction::before { - content: "\f8f3"; -} - -.bi-passport-fill::before { - content: "\f8f4"; -} - -.bi-passport::before { - content: "\f8f5"; -} - -.bi-person-arms-up::before { - content: "\f8f6"; -} - -.bi-person-raised-hand::before { - content: "\f8f7"; -} - -.bi-person-standing-dress::before { - content: "\f8f8"; -} - -.bi-person-standing::before { - content: "\f8f9"; -} - -.bi-person-walking::before { - content: "\f8fa"; -} - -.bi-person-wheelchair::before { - content: "\f8fb"; -} - -.bi-shadows::before { - content: "\f8fc"; -} - -.bi-suitcase-fill::before { - content: "\f8fd"; -} - -.bi-suitcase-lg-fill::before { - content: "\f8fe"; -} - -.bi-suitcase-lg::before { - content: "\f8ff"; -} - -.bi-suitcase::before { - content: "豈"; -} - -.bi-suitcase2-fill::before { - content: "更"; -} - -.bi-suitcase2::before { - content: "車"; -} - -.bi-vignette::before { - content: "賈"; -} - -.bi-bluesky::before { - content: "\f7f9"; -} - -.bi-tux::before { - content: "滑"; -} - -.bi-beaker-fill::before { - content: "串"; -} - -.bi-beaker::before { - content: "句"; -} - -.bi-flask-fill::before { - content: "龜"; -} - -.bi-flask-florence-fill::before { - content: "龜"; -} - -.bi-flask-florence::before { - content: "契"; -} - -.bi-flask::before { - content: "金"; -} - -.bi-leaf-fill::before { - content: "喇"; -} - -.bi-leaf::before { - content: "奈"; -} - -.bi-measuring-cup-fill::before { - content: "懶"; -} - -.bi-measuring-cup::before { - content: "癩"; -} - -.bi-unlock2-fill::before { - content: "羅"; -} - -.bi-unlock2::before { - content: "蘿"; -} - -.bi-battery-low::before { - content: "螺"; -} - -.bi-anthropic::before { - content: "裸"; -} - -.bi-apple-music::before { - content: "邏"; -} - -.bi-claude::before { - content: "樂"; -} - -.bi-openai::before { - content: "洛"; -} - -.bi-perplexity::before { - content: "烙"; -} - -.bi-css::before { - content: "珞"; -} - -.bi-javascript::before { - content: "落"; -} - -.bi-typescript::before { - content: "酪"; -} - -.bi-fork-knife::before { - content: "駱"; -} - -.bi-globe-americas-fill::before { - content: "亂"; -} - -.bi-globe-asia-australia-fill::before { - content: "卵"; -} - -.bi-globe-central-south-asia-fill::before { - content: "欄"; -} - -.bi-globe-europe-africa-fill::before { - content: "爛"; -} - -:root { - --dt-row-selected: 13, 110, 253; - --dt-row-selected-text: 255, 255, 255; - --dt-row-selected-link: 9, 10, 11; - --dt-row-stripe: 0, 0, 0; - --dt-row-hover: 0, 0, 0; - --dt-column-ordering: 0, 0, 0; - --dt-html-background: white; -} - -:root.dark { - --dt-html-background: rgb(33, 37, 41); -} - -table.dataTable td.dt-control { - text-align: center; - cursor: pointer; -} - -table.dataTable td.dt-control:before { - display: inline-block; - color: rgba(0, 0, 0, 0.5); - content: "▶"; -} - -table.dataTable tr.dt-hasChild td.dt-control:before { - content: "▼"; -} - -html.dark table.dataTable td.dt-control:before, -:root[data-bs-theme=dark] table.dataTable td.dt-control:before { - color: rgba(255, 255, 255, 0.5); -} - -html.dark table.dataTable tr.dt-hasChild td.dt-control:before, -:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before { - color: rgba(255, 255, 255, 0.5); -} - -:root { - --dt-row-selected: 13, 110, 253; - --dt-row-selected-text: 255, 255, 255; - --dt-row-selected-link: 9, 10, 11; - --dt-row-stripe: 0, 0, 0; - --dt-row-hover: 0, 0, 0; - --dt-column-ordering: 0, 0, 0; - --dt-html-background: white; -} - -:root.dark { - --dt-html-background: rgb(33, 37, 41); -} - -table.dataTable td.dt-control { - text-align: center; - cursor: pointer; -} - -table.dataTable td.dt-control:before { - display: inline-block; - color: rgba(0, 0, 0, 0.5); - content: "▶"; -} - -table.dataTable tr.dt-hasChild td.dt-control:before { - content: "▼"; -} - -html.dark table.dataTable td.dt-control:before, -:root[data-bs-theme=dark] table.dataTable td.dt-control:before { - color: rgba(255, 255, 255, 0.5); -} - -html.dark table.dataTable tr.dt-hasChild td.dt-control:before, -:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before { - color: rgba(255, 255, 255, 0.5); -} - -table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled, -table.dataTable thead > tr > td.sorting, -table.dataTable thead > tr > td.sorting_asc, -table.dataTable thead > tr > td.sorting_desc, -table.dataTable thead > tr > td.sorting_asc_disabled, -table.dataTable thead > tr > td.sorting_desc_disabled { - cursor: pointer; - position: relative; - padding-right: 26px; -} - -table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after, -table.dataTable thead > tr > td.sorting:before, -table.dataTable thead > tr > td.sorting:after, -table.dataTable thead > tr > td.sorting_asc:before, -table.dataTable thead > tr > td.sorting_asc:after, -table.dataTable thead > tr > td.sorting_desc:before, -table.dataTable thead > tr > td.sorting_desc:after, -table.dataTable thead > tr > td.sorting_asc_disabled:before, -table.dataTable thead > tr > td.sorting_asc_disabled:after, -table.dataTable thead > tr > td.sorting_desc_disabled:before, -table.dataTable thead > tr > td.sorting_desc_disabled:after { - position: absolute; - display: block; - opacity: 0.125; - right: 10px; - line-height: 9px; - font-size: 0.8em; -} - -table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before, -table.dataTable thead > tr > td.sorting:before, -table.dataTable thead > tr > td.sorting_asc:before, -table.dataTable thead > tr > td.sorting_desc:before, -table.dataTable thead > tr > td.sorting_asc_disabled:before, -table.dataTable thead > tr > td.sorting_desc_disabled:before { - bottom: 50%; - content: "▲"; - content: "▲"/""; -} - -table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after, -table.dataTable thead > tr > td.sorting:after, -table.dataTable thead > tr > td.sorting_asc:after, -table.dataTable thead > tr > td.sorting_desc:after, -table.dataTable thead > tr > td.sorting_asc_disabled:after, -table.dataTable thead > tr > td.sorting_desc_disabled:after { - top: 50%; - content: "▼"; - content: "▼"/""; -} - -table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after, -table.dataTable thead > tr > td.sorting_asc:before, -table.dataTable thead > tr > td.sorting_desc:after { - opacity: 0.6; -} - -table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, -table.dataTable thead > tr > td.sorting_desc_disabled:after, -table.dataTable thead > tr > td.sorting_asc_disabled:before { - display: none; -} - -table.dataTable thead > tr > th:active, -table.dataTable thead > tr > td:active { - outline: none; -} - -div.dataTables_scrollBody > table.dataTable > thead > tr > th:before, div.dataTables_scrollBody > table.dataTable > thead > tr > th:after, -div.dataTables_scrollBody > table.dataTable > thead > tr > td:before, -div.dataTables_scrollBody > table.dataTable > thead > tr > td:after { - display: none; -} - -div.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 200px; - margin-left: -100px; - margin-top: -26px; - text-align: center; - padding: 2px; - z-index: 10; -} - -div.dataTables_processing > div:last-child { - position: relative; - width: 80px; - height: 15px; - margin: 1em auto; -} - -div.dataTables_processing > div:last-child > div { - position: absolute; - top: 0; - width: 13px; - height: 13px; - border-radius: 50%; - background: rgb(13, 110, 253); - background: rgb(var(--dt-row-selected)); - animation-timing-function: cubic-bezier(0, 1, 1, 0); -} - -div.dataTables_processing > div:last-child > div:nth-child(1) { - left: 8px; - animation: datatables-loader-1 0.6s infinite; -} - -div.dataTables_processing > div:last-child > div:nth-child(2) { - left: 8px; - animation: datatables-loader-2 0.6s infinite; -} - -div.dataTables_processing > div:last-child > div:nth-child(3) { - left: 32px; - animation: datatables-loader-2 0.6s infinite; -} - -div.dataTables_processing > div:last-child > div:nth-child(4) { - left: 56px; - animation: datatables-loader-3 0.6s infinite; -} - -@keyframes datatables-loader-1 { - 0% { - transform: scale(0); - } - 100% { - transform: scale(1); - } -} -@keyframes datatables-loader-3 { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0); - } -} -@keyframes datatables-loader-2 { - 0% { - transform: translate(0, 0); - } - 100% { - transform: translate(24px, 0); - } -} -table.dataTable.nowrap th, table.dataTable.nowrap td { - white-space: nowrap; -} - -table.dataTable th.dt-left, -table.dataTable td.dt-left { - text-align: left; -} - -table.dataTable th.dt-center, -table.dataTable td.dt-center, -table.dataTable td.dataTables_empty { - text-align: center; -} - -table.dataTable th.dt-right, -table.dataTable td.dt-right { - text-align: right; -} - -table.dataTable th.dt-justify, -table.dataTable td.dt-justify { - text-align: justify; -} - -table.dataTable th.dt-nowrap, -table.dataTable td.dt-nowrap { - white-space: nowrap; -} - -table.dataTable thead th, -table.dataTable thead td, -table.dataTable tfoot th, -table.dataTable tfoot td { - text-align: left; -} - -table.dataTable thead th.dt-head-left, -table.dataTable thead td.dt-head-left, -table.dataTable tfoot th.dt-head-left, -table.dataTable tfoot td.dt-head-left { - text-align: left; -} - -table.dataTable thead th.dt-head-center, -table.dataTable thead td.dt-head-center, -table.dataTable tfoot th.dt-head-center, -table.dataTable tfoot td.dt-head-center { - text-align: center; -} - -table.dataTable thead th.dt-head-right, -table.dataTable thead td.dt-head-right, -table.dataTable tfoot th.dt-head-right, -table.dataTable tfoot td.dt-head-right { - text-align: right; -} - -table.dataTable thead th.dt-head-justify, -table.dataTable thead td.dt-head-justify, -table.dataTable tfoot th.dt-head-justify, -table.dataTable tfoot td.dt-head-justify { - text-align: justify; -} - -table.dataTable thead th.dt-head-nowrap, -table.dataTable thead td.dt-head-nowrap, -table.dataTable tfoot th.dt-head-nowrap, -table.dataTable tfoot td.dt-head-nowrap { - white-space: nowrap; -} - -table.dataTable tbody th.dt-body-left, -table.dataTable tbody td.dt-body-left { - text-align: left; -} - -table.dataTable tbody th.dt-body-center, -table.dataTable tbody td.dt-body-center { - text-align: center; -} - -table.dataTable tbody th.dt-body-right, -table.dataTable tbody td.dt-body-right { - text-align: right; -} - -table.dataTable tbody th.dt-body-justify, -table.dataTable tbody td.dt-body-justify { - text-align: justify; -} - -table.dataTable tbody th.dt-body-nowrap, -table.dataTable tbody td.dt-body-nowrap { - white-space: nowrap; -} - -/* - * Table styles - */ -table.dataTable { - width: 100%; - margin: 0 auto; - clear: both; - border-collapse: separate; - border-spacing: 0; - /* - * Header and footer styles - */ - /* - * Body styles - */ -} - -table.dataTable thead th, -table.dataTable tfoot th { - font-weight: bold; -} - -table.dataTable > thead > tr > th, -table.dataTable > thead > tr > td { - padding: 10px; -} - -table.dataTable > thead > tr > th:active, -table.dataTable > thead > tr > td:active { - outline: none; -} - -table.dataTable > tfoot > tr > th, -table.dataTable > tfoot > tr > td { - padding: 10px 10px 6px 10px; -} - -table.dataTable tbody tr { - background-color: transparent; -} - -table.dataTable tbody tr.selected > * { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.9); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9); - color: rgb(255, 255, 255); - color: rgb(var(--dt-row-selected-text)); -} - -table.dataTable tbody tr.selected a { - color: rgb(9, 10, 11); - color: rgb(var(--dt-row-selected-link)); -} - -table.dataTable tbody th, -table.dataTable tbody td { - padding: 8px 10px; -} - -table.dataTable.row-border > tbody > tr > th, -table.dataTable.row-border > tbody > tr > td, table.dataTable.display > tbody > tr > th, -table.dataTable.display > tbody > tr > td { - border-top: 1px solid rgba(0, 0, 0, 0.15); -} - -table.dataTable.row-border > tbody > tr:first-child > th, -table.dataTable.row-border > tbody > tr:first-child > td, table.dataTable.display > tbody > tr:first-child > th, -table.dataTable.display > tbody > tr:first-child > td { - border-top: none; -} - -table.dataTable.row-border > tbody > tr.selected + tr.selected > td, table.dataTable.display > tbody > tr.selected + tr.selected > td { - border-top-color: rgba(13, 110, 253, 0.65); - border-top-color: rgba(var(--dt-row-selected), 0.65); -} - -table.dataTable.cell-border > tbody > tr > th, -table.dataTable.cell-border > tbody > tr > td { - border-top: 1px solid rgba(0, 0, 0, 0.15); - border-right: 1px solid rgba(0, 0, 0, 0.15); -} - -table.dataTable.cell-border > tbody > tr > th:first-child, -table.dataTable.cell-border > tbody > tr > td:first-child { - border-left: 1px solid rgba(0, 0, 0, 0.15); -} - -table.dataTable.cell-border > tbody > tr:first-child > th, -table.dataTable.cell-border > tbody > tr:first-child > td { - border-top: none; -} - -table.dataTable.stripe > tbody > tr.odd > *, table.dataTable.display > tbody > tr.odd > * { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.023); -} - -table.dataTable.stripe > tbody > tr.odd.selected > *, table.dataTable.display > tbody > tr.odd.selected > * { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.923); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.923); -} - -table.dataTable.hover > tbody > tr:hover > *, table.dataTable.display > tbody > tr:hover > * { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.035); -} - -table.dataTable.hover > tbody > tr.selected:hover > *, table.dataTable.display > tbody > tr.selected:hover > * { - box-shadow: inset 0 0 0 9999px #0d6efd !important; - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important; -} - -table.dataTable.order-column > tbody tr > .sorting_1, -table.dataTable.order-column > tbody tr > .sorting_2, -table.dataTable.order-column > tbody tr > .sorting_3, table.dataTable.display > tbody tr > .sorting_1, -table.dataTable.display > tbody tr > .sorting_2, -table.dataTable.display > tbody tr > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019); -} - -table.dataTable.order-column > tbody tr.selected > .sorting_1, -table.dataTable.order-column > tbody tr.selected > .sorting_2, -table.dataTable.order-column > tbody tr.selected > .sorting_3, table.dataTable.display > tbody tr.selected > .sorting_1, -table.dataTable.display > tbody tr.selected > .sorting_2, -table.dataTable.display > tbody tr.selected > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919); -} - -table.dataTable.display > tbody > tr.odd > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.054); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.054); -} - -table.dataTable.display > tbody > tr.odd > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.047); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.047); -} - -table.dataTable.display > tbody > tr.odd > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.039); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.039); -} - -table.dataTable.display > tbody > tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.954); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.954); -} - -table.dataTable.display > tbody > tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.947); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.947); -} - -table.dataTable.display > tbody > tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.939); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.939); -} - -table.dataTable.display > tbody > tr.even > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019); -} - -table.dataTable.display > tbody > tr.even > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.011); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.011); -} - -table.dataTable.display > tbody > tr.even > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.003); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.003); -} - -table.dataTable.display > tbody > tr.even.selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919); -} - -table.dataTable.display > tbody > tr.even.selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.911); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.911); -} - -table.dataTable.display > tbody > tr.even.selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.903); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.903); -} - -table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.082); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.082); -} - -table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.074); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.074); -} - -table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.062); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.062); -} - -table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.982); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.982); -} - -table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.974); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.974); -} - -table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { - box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.962); - box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.962); -} - -table.dataTable.no-footer { - border-bottom: 1px solid rgba(0, 0, 0, 0.3); -} - -table.dataTable.compact thead th, -table.dataTable.compact thead td, -table.dataTable.compact tfoot th, -table.dataTable.compact tfoot td, -table.dataTable.compact tbody th, -table.dataTable.compact tbody td { - padding: 4px; -} - -table.dataTable th, -table.dataTable td { - box-sizing: content-box; -} - -/* - * Control feature layout - */ -.dataTables_wrapper { - position: relative; - clear: both; -} - -.dataTables_wrapper .dataTables_length { - float: left; -} - -.dataTables_wrapper .dataTables_length select { - border: 1px solid #aaa; - border-radius: 3px; - padding: 5px; - background-color: transparent; - color: inherit; - padding: 4px; -} - -.dataTables_wrapper .dataTables_filter { - float: right; - text-align: right; -} - -.dataTables_wrapper .dataTables_filter input { - border: 1px solid #aaa; - border-radius: 3px; - padding: 5px; - background-color: transparent; - color: inherit; - margin-left: 3px; -} - -.dataTables_wrapper .dataTables_info { - clear: both; - float: left; - padding-top: 0.755em; -} - -.dataTables_wrapper .dataTables_paginate { - float: right; - text-align: right; - padding-top: 0.25em; -} - -.dataTables_wrapper .dataTables_paginate .paginate_button { - box-sizing: border-box; - display: inline-block; - min-width: 1.5em; - padding: 0.5em 1em; - margin-left: 2px; - text-align: center; - text-decoration: none !important; - cursor: pointer; - color: inherit !important; - border: 1px solid transparent; - border-radius: 2px; - background: transparent; -} - -.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { - color: inherit !important; - border: 1px solid rgba(0, 0, 0, 0.3); - background-color: rgba(0, 0, 0, 0.05); /* Chrome,Safari4+ */ /* Chrome10+,Safari5.1+ */ /* FF3.6+ */ /* IE10+ */ /* Opera 11.10+ */ - background: linear-gradient(to bottom, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* W3C */ -} - -.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { - cursor: default; - color: #666 !important; - border: 1px solid transparent; - background: transparent; - box-shadow: none; -} - -.dataTables_wrapper .dataTables_paginate .paginate_button:hover { - color: white !important; - border: 1px solid #111; - background-color: #111; /* Chrome,Safari4+ */ /* Chrome10+,Safari5.1+ */ /* FF3.6+ */ /* IE10+ */ /* Opera 11.10+ */ - background: linear-gradient(to bottom, #585858 0%, #111 100%); /* W3C */ -} - -.dataTables_wrapper .dataTables_paginate .paginate_button:active { - outline: none; - background-color: #0c0c0c; /* Chrome,Safari4+ */ /* Chrome10+,Safari5.1+ */ /* FF3.6+ */ /* IE10+ */ /* Opera 11.10+ */ - background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); /* W3C */ - box-shadow: inset 0 0 3px #111; -} - -.dataTables_wrapper .dataTables_paginate .ellipsis { - padding: 0 1em; -} - -.dataTables_wrapper .dataTables_length, -.dataTables_wrapper .dataTables_filter, -.dataTables_wrapper .dataTables_info, -.dataTables_wrapper .dataTables_processing, -.dataTables_wrapper .dataTables_paginate { - color: inherit; -} - -.dataTables_wrapper .dataTables_scroll { - clear: both; -} - -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody { - -webkit-overflow-scrolling: touch; -} - -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td { - vertical-align: middle; -} - -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing, -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing, -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing { - height: 0; - overflow: hidden; - margin: 0 !important; - padding: 0 !important; -} - -.dataTables_wrapper.no-footer .dataTables_scrollBody { - border-bottom: 1px solid rgba(0, 0, 0, 0.3); -} - -.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable, -.dataTables_wrapper.no-footer div.dataTables_scrollBody > table { - border-bottom: none; -} - -.dataTables_wrapper:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; -} - -@media screen and (max-width: 767px) { - .dataTables_wrapper .dataTables_info, - .dataTables_wrapper .dataTables_paginate { - float: none; - text-align: center; - } - .dataTables_wrapper .dataTables_paginate { - margin-top: 0.5em; - } -} -@media screen and (max-width: 640px) { - .dataTables_wrapper .dataTables_length, - .dataTables_wrapper .dataTables_filter { - float: none; - text-align: center; - } - .dataTables_wrapper .dataTables_filter { - margin-top: 0.5em; - } -} -html.dark { - --dt-row-hover: 255, 255, 255; - --dt-row-stripe: 255, 255, 255; - --dt-column-ordering: 255, 255, 255; -} - -html.dark table.dataTable > thead > tr > th:active, -html.dark table.dataTable > thead > tr > td:active { - outline: none; -} - -html.dark table.dataTable.row-border > tbody > tr > th, -html.dark table.dataTable.row-border > tbody > tr > td, html.dark table.dataTable.display > tbody > tr > th, -html.dark table.dataTable.display > tbody > tr > td { - border-top: 1px solid rgb(64, 67, 70); -} - -html.dark table.dataTable.row-border > tbody > tr.selected + tr.selected > td, html.dark table.dataTable.display > tbody > tr.selected + tr.selected > td { - border-top-color: rgba(13, 110, 253, 0.65); - border-top-color: rgba(var(--dt-row-selected), 0.65); -} - -html.dark table.dataTable.cell-border > tbody > tr > th, -html.dark table.dataTable.cell-border > tbody > tr > td { - border-top: 1px solid rgb(64, 67, 70); - border-right: 1px solid rgb(64, 67, 70); -} - -html.dark table.dataTable.cell-border > tbody > tr > th:first-child, -html.dark table.dataTable.cell-border > tbody > tr > td:first-child { - border-left: 1px solid rgb(64, 67, 70); -} - -html.dark .dataTables_wrapper .dataTables_filter input, -html.dark .dataTables_wrapper .dataTables_length select { - border: 1px solid rgba(255, 255, 255, 0.2); - background-color: var(--dt-html-background); -} - -html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { - border: 1px solid rgb(89, 91, 94); - background: rgba(255, 255, 255, 0.15); -} - -html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { - color: #666 !important; -} - -html.dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover { - border: 1px solid rgb(53, 53, 53); - background: rgb(53, 53, 53); -} - -html.dark .dataTables_wrapper .dataTables_paginate .paginate_button:active { - background: #3a3a3a; -} - -table.dataTable thead th div.DataTables_sort_wrapper { - position: relative; -} - -table.dataTable thead th div.DataTables_sort_wrapper span { - position: absolute; - top: 50%; - margin-top: -8px; - right: -18px; -} - -table.dataTable thead th.ui-state-default, -table.dataTable tfoot th.ui-state-default { - border-left-width: 0; -} - -table.dataTable thead th.ui-state-default:first-child, -table.dataTable tfoot th.ui-state-default:first-child { - border-left-width: 1px; -} - -/* - * Control feature layout - */ -.dataTables_wrapper .dataTables_paginate .fg-button { - box-sizing: border-box; - display: inline-block; - min-width: 1.5em; - padding: 0.5em; - margin-left: 2px; - text-align: center; - text-decoration: none !important; - cursor: pointer; - border: 1px solid transparent; -} - -.dataTables_wrapper .dataTables_paginate .fg-button:active { - outline: none; -} - -.dataTables_wrapper .dataTables_paginate .fg-button:first-child { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} - -.dataTables_wrapper .dataTables_paginate .fg-button:last-child { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} - -.dataTables_wrapper .ui-widget-header { - font-weight: normal; -} - -.dataTables_wrapper .ui-toolbar { - padding: 8px; -} - -.dataTables_wrapper.no-footer .dataTables_scrollBody { - border-bottom: none; -} - -.dataTables_wrapper .dataTables_length, -.dataTables_wrapper .dataTables_filter, -.dataTables_wrapper .dataTables_info, -.dataTables_wrapper .dataTables_processing, -.dataTables_wrapper .dataTables_paginate { - color: inherit; -} + */@font-face{font-display:block;font-family:bootstrap-icons;src:url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?92ea18a81d737146ff044ddb52010366) format("woff2"),url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff?1295669cd4e305c97f2cfc16d56614b8) format("woff")}.bi:before,[class*=" bi-"]:before,[class^=bi-]:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-variant:normal;font-weight:400!important;line-height:1;text-transform:none;vertical-align:-.125em}.bi-123:before{content:"\f67f"}.bi-alarm-fill:before{content:"\f101"}.bi-alarm:before{content:"\f102"}.bi-align-bottom:before{content:"\f103"}.bi-align-center:before{content:"\f104"}.bi-align-end:before{content:"\f105"}.bi-align-middle:before{content:"\f106"}.bi-align-start:before{content:"\f107"}.bi-align-top:before{content:"\f108"}.bi-alt:before{content:"\f109"}.bi-app-indicator:before{content:"\f10a"}.bi-app:before{content:"\f10b"}.bi-archive-fill:before{content:"\f10c"}.bi-archive:before{content:"\f10d"}.bi-arrow-90deg-down:before{content:"\f10e"}.bi-arrow-90deg-left:before{content:"\f10f"}.bi-arrow-90deg-right:before{content:"\f110"}.bi-arrow-90deg-up:before{content:"\f111"}.bi-arrow-bar-down:before{content:"\f112"}.bi-arrow-bar-left:before{content:"\f113"}.bi-arrow-bar-right:before{content:"\f114"}.bi-arrow-bar-up:before{content:"\f115"}.bi-arrow-clockwise:before{content:"\f116"}.bi-arrow-counterclockwise:before{content:"\f117"}.bi-arrow-down-circle-fill:before{content:"\f118"}.bi-arrow-down-circle:before{content:"\f119"}.bi-arrow-down-left-circle-fill:before{content:"\f11a"}.bi-arrow-down-left-circle:before{content:"\f11b"}.bi-arrow-down-left-square-fill:before{content:"\f11c"}.bi-arrow-down-left-square:before{content:"\f11d"}.bi-arrow-down-left:before{content:"\f11e"}.bi-arrow-down-right-circle-fill:before{content:"\f11f"}.bi-arrow-down-right-circle:before{content:"\f120"}.bi-arrow-down-right-square-fill:before{content:"\f121"}.bi-arrow-down-right-square:before{content:"\f122"}.bi-arrow-down-right:before{content:"\f123"}.bi-arrow-down-short:before{content:"\f124"}.bi-arrow-down-square-fill:before{content:"\f125"}.bi-arrow-down-square:before{content:"\f126"}.bi-arrow-down-up:before{content:"\f127"}.bi-arrow-down:before{content:"\f128"}.bi-arrow-left-circle-fill:before{content:"\f129"}.bi-arrow-left-circle:before{content:"\f12a"}.bi-arrow-left-right:before{content:"\f12b"}.bi-arrow-left-short:before{content:"\f12c"}.bi-arrow-left-square-fill:before{content:"\f12d"}.bi-arrow-left-square:before{content:"\f12e"}.bi-arrow-left:before{content:"\f12f"}.bi-arrow-repeat:before{content:"\f130"}.bi-arrow-return-left:before{content:"\f131"}.bi-arrow-return-right:before{content:"\f132"}.bi-arrow-right-circle-fill:before{content:"\f133"}.bi-arrow-right-circle:before{content:"\f134"}.bi-arrow-right-short:before{content:"\f135"}.bi-arrow-right-square-fill:before{content:"\f136"}.bi-arrow-right-square:before{content:"\f137"}.bi-arrow-right:before{content:"\f138"}.bi-arrow-up-circle-fill:before{content:"\f139"}.bi-arrow-up-circle:before{content:"\f13a"}.bi-arrow-up-left-circle-fill:before{content:"\f13b"}.bi-arrow-up-left-circle:before{content:"\f13c"}.bi-arrow-up-left-square-fill:before{content:"\f13d"}.bi-arrow-up-left-square:before{content:"\f13e"}.bi-arrow-up-left:before{content:"\f13f"}.bi-arrow-up-right-circle-fill:before{content:"\f140"}.bi-arrow-up-right-circle:before{content:"\f141"}.bi-arrow-up-right-square-fill:before{content:"\f142"}.bi-arrow-up-right-square:before{content:"\f143"}.bi-arrow-up-right:before{content:"\f144"}.bi-arrow-up-short:before{content:"\f145"}.bi-arrow-up-square-fill:before{content:"\f146"}.bi-arrow-up-square:before{content:"\f147"}.bi-arrow-up:before{content:"\f148"}.bi-arrows-angle-contract:before{content:"\f149"}.bi-arrows-angle-expand:before{content:"\f14a"}.bi-arrows-collapse:before{content:"\f14b"}.bi-arrows-expand:before{content:"\f14c"}.bi-arrows-fullscreen:before{content:"\f14d"}.bi-arrows-move:before{content:"\f14e"}.bi-aspect-ratio-fill:before{content:"\f14f"}.bi-aspect-ratio:before{content:"\f150"}.bi-asterisk:before{content:"\f151"}.bi-at:before{content:"\f152"}.bi-award-fill:before{content:"\f153"}.bi-award:before{content:"\f154"}.bi-back:before{content:"\f155"}.bi-backspace-fill:before{content:"\f156"}.bi-backspace-reverse-fill:before{content:"\f157"}.bi-backspace-reverse:before{content:"\f158"}.bi-backspace:before{content:"\f159"}.bi-badge-3d-fill:before{content:"\f15a"}.bi-badge-3d:before{content:"\f15b"}.bi-badge-4k-fill:before{content:"\f15c"}.bi-badge-4k:before{content:"\f15d"}.bi-badge-8k-fill:before{content:"\f15e"}.bi-badge-8k:before{content:"\f15f"}.bi-badge-ad-fill:before{content:"\f160"}.bi-badge-ad:before{content:"\f161"}.bi-badge-ar-fill:before{content:"\f162"}.bi-badge-ar:before{content:"\f163"}.bi-badge-cc-fill:before{content:"\f164"}.bi-badge-cc:before{content:"\f165"}.bi-badge-hd-fill:before{content:"\f166"}.bi-badge-hd:before{content:"\f167"}.bi-badge-tm-fill:before{content:"\f168"}.bi-badge-tm:before{content:"\f169"}.bi-badge-vo-fill:before{content:"\f16a"}.bi-badge-vo:before{content:"\f16b"}.bi-badge-vr-fill:before{content:"\f16c"}.bi-badge-vr:before{content:"\f16d"}.bi-badge-wc-fill:before{content:"\f16e"}.bi-badge-wc:before{content:"\f16f"}.bi-bag-check-fill:before{content:"\f170"}.bi-bag-check:before{content:"\f171"}.bi-bag-dash-fill:before{content:"\f172"}.bi-bag-dash:before{content:"\f173"}.bi-bag-fill:before{content:"\f174"}.bi-bag-plus-fill:before{content:"\f175"}.bi-bag-plus:before{content:"\f176"}.bi-bag-x-fill:before{content:"\f177"}.bi-bag-x:before{content:"\f178"}.bi-bag:before{content:"\f179"}.bi-bar-chart-fill:before{content:"\f17a"}.bi-bar-chart-line-fill:before{content:"\f17b"}.bi-bar-chart-line:before{content:"\f17c"}.bi-bar-chart-steps:before{content:"\f17d"}.bi-bar-chart:before{content:"\f17e"}.bi-basket-fill:before{content:"\f17f"}.bi-basket:before{content:"\f180"}.bi-basket2-fill:before{content:"\f181"}.bi-basket2:before{content:"\f182"}.bi-basket3-fill:before{content:"\f183"}.bi-basket3:before{content:"\f184"}.bi-battery-charging:before{content:"\f185"}.bi-battery-full:before{content:"\f186"}.bi-battery-half:before{content:"\f187"}.bi-battery:before{content:"\f188"}.bi-bell-fill:before{content:"\f189"}.bi-bell:before{content:"\f18a"}.bi-bezier:before{content:"\f18b"}.bi-bezier2:before{content:"\f18c"}.bi-bicycle:before{content:"\f18d"}.bi-binoculars-fill:before{content:"\f18e"}.bi-binoculars:before{content:"\f18f"}.bi-blockquote-left:before{content:"\f190"}.bi-blockquote-right:before{content:"\f191"}.bi-book-fill:before{content:"\f192"}.bi-book-half:before{content:"\f193"}.bi-book:before{content:"\f194"}.bi-bookmark-check-fill:before{content:"\f195"}.bi-bookmark-check:before{content:"\f196"}.bi-bookmark-dash-fill:before{content:"\f197"}.bi-bookmark-dash:before{content:"\f198"}.bi-bookmark-fill:before{content:"\f199"}.bi-bookmark-heart-fill:before{content:"\f19a"}.bi-bookmark-heart:before{content:"\f19b"}.bi-bookmark-plus-fill:before{content:"\f19c"}.bi-bookmark-plus:before{content:"\f19d"}.bi-bookmark-star-fill:before{content:"\f19e"}.bi-bookmark-star:before{content:"\f19f"}.bi-bookmark-x-fill:before{content:"\f1a0"}.bi-bookmark-x:before{content:"\f1a1"}.bi-bookmark:before{content:"\f1a2"}.bi-bookmarks-fill:before{content:"\f1a3"}.bi-bookmarks:before{content:"\f1a4"}.bi-bookshelf:before{content:"\f1a5"}.bi-bootstrap-fill:before{content:"\f1a6"}.bi-bootstrap-reboot:before{content:"\f1a7"}.bi-bootstrap:before{content:"\f1a8"}.bi-border-all:before{content:"\f1a9"}.bi-border-bottom:before{content:"\f1aa"}.bi-border-center:before{content:"\f1ab"}.bi-border-inner:before{content:"\f1ac"}.bi-border-left:before{content:"\f1ad"}.bi-border-middle:before{content:"\f1ae"}.bi-border-outer:before{content:"\f1af"}.bi-border-right:before{content:"\f1b0"}.bi-border-style:before{content:"\f1b1"}.bi-border-top:before{content:"\f1b2"}.bi-border-width:before{content:"\f1b3"}.bi-border:before{content:"\f1b4"}.bi-bounding-box-circles:before{content:"\f1b5"}.bi-bounding-box:before{content:"\f1b6"}.bi-box-arrow-down-left:before{content:"\f1b7"}.bi-box-arrow-down-right:before{content:"\f1b8"}.bi-box-arrow-down:before{content:"\f1b9"}.bi-box-arrow-in-down-left:before{content:"\f1ba"}.bi-box-arrow-in-down-right:before{content:"\f1bb"}.bi-box-arrow-in-down:before{content:"\f1bc"}.bi-box-arrow-in-left:before{content:"\f1bd"}.bi-box-arrow-in-right:before{content:"\f1be"}.bi-box-arrow-in-up-left:before{content:"\f1bf"}.bi-box-arrow-in-up-right:before{content:"\f1c0"}.bi-box-arrow-in-up:before{content:"\f1c1"}.bi-box-arrow-left:before{content:"\f1c2"}.bi-box-arrow-right:before{content:"\f1c3"}.bi-box-arrow-up-left:before{content:"\f1c4"}.bi-box-arrow-up-right:before{content:"\f1c5"}.bi-box-arrow-up:before{content:"\f1c6"}.bi-box-seam:before{content:"\f1c7"}.bi-box:before{content:"\f1c8"}.bi-braces:before{content:"\f1c9"}.bi-bricks:before{content:"\f1ca"}.bi-briefcase-fill:before{content:"\f1cb"}.bi-briefcase:before{content:"\f1cc"}.bi-brightness-alt-high-fill:before{content:"\f1cd"}.bi-brightness-alt-high:before{content:"\f1ce"}.bi-brightness-alt-low-fill:before{content:"\f1cf"}.bi-brightness-alt-low:before{content:"\f1d0"}.bi-brightness-high-fill:before{content:"\f1d1"}.bi-brightness-high:before{content:"\f1d2"}.bi-brightness-low-fill:before{content:"\f1d3"}.bi-brightness-low:before{content:"\f1d4"}.bi-broadcast-pin:before{content:"\f1d5"}.bi-broadcast:before{content:"\f1d6"}.bi-brush-fill:before{content:"\f1d7"}.bi-brush:before{content:"\f1d8"}.bi-bucket-fill:before{content:"\f1d9"}.bi-bucket:before{content:"\f1da"}.bi-bug-fill:before{content:"\f1db"}.bi-bug:before{content:"\f1dc"}.bi-building:before{content:"\f1dd"}.bi-bullseye:before{content:"\f1de"}.bi-calculator-fill:before{content:"\f1df"}.bi-calculator:before{content:"\f1e0"}.bi-calendar-check-fill:before{content:"\f1e1"}.bi-calendar-check:before{content:"\f1e2"}.bi-calendar-date-fill:before{content:"\f1e3"}.bi-calendar-date:before{content:"\f1e4"}.bi-calendar-day-fill:before{content:"\f1e5"}.bi-calendar-day:before{content:"\f1e6"}.bi-calendar-event-fill:before{content:"\f1e7"}.bi-calendar-event:before{content:"\f1e8"}.bi-calendar-fill:before{content:"\f1e9"}.bi-calendar-minus-fill:before{content:"\f1ea"}.bi-calendar-minus:before{content:"\f1eb"}.bi-calendar-month-fill:before{content:"\f1ec"}.bi-calendar-month:before{content:"\f1ed"}.bi-calendar-plus-fill:before{content:"\f1ee"}.bi-calendar-plus:before{content:"\f1ef"}.bi-calendar-range-fill:before{content:"\f1f0"}.bi-calendar-range:before{content:"\f1f1"}.bi-calendar-week-fill:before{content:"\f1f2"}.bi-calendar-week:before{content:"\f1f3"}.bi-calendar-x-fill:before{content:"\f1f4"}.bi-calendar-x:before{content:"\f1f5"}.bi-calendar:before{content:"\f1f6"}.bi-calendar2-check-fill:before{content:"\f1f7"}.bi-calendar2-check:before{content:"\f1f8"}.bi-calendar2-date-fill:before{content:"\f1f9"}.bi-calendar2-date:before{content:"\f1fa"}.bi-calendar2-day-fill:before{content:"\f1fb"}.bi-calendar2-day:before{content:"\f1fc"}.bi-calendar2-event-fill:before{content:"\f1fd"}.bi-calendar2-event:before{content:"\f1fe"}.bi-calendar2-fill:before{content:"\f1ff"}.bi-calendar2-minus-fill:before{content:"\f200"}.bi-calendar2-minus:before{content:"\f201"}.bi-calendar2-month-fill:before{content:"\f202"}.bi-calendar2-month:before{content:"\f203"}.bi-calendar2-plus-fill:before{content:"\f204"}.bi-calendar2-plus:before{content:"\f205"}.bi-calendar2-range-fill:before{content:"\f206"}.bi-calendar2-range:before{content:"\f207"}.bi-calendar2-week-fill:before{content:"\f208"}.bi-calendar2-week:before{content:"\f209"}.bi-calendar2-x-fill:before{content:"\f20a"}.bi-calendar2-x:before{content:"\f20b"}.bi-calendar2:before{content:"\f20c"}.bi-calendar3-event-fill:before{content:"\f20d"}.bi-calendar3-event:before{content:"\f20e"}.bi-calendar3-fill:before{content:"\f20f"}.bi-calendar3-range-fill:before{content:"\f210"}.bi-calendar3-range:before{content:"\f211"}.bi-calendar3-week-fill:before{content:"\f212"}.bi-calendar3-week:before{content:"\f213"}.bi-calendar3:before{content:"\f214"}.bi-calendar4-event:before{content:"\f215"}.bi-calendar4-range:before{content:"\f216"}.bi-calendar4-week:before{content:"\f217"}.bi-calendar4:before{content:"\f218"}.bi-camera-fill:before{content:"\f219"}.bi-camera-reels-fill:before{content:"\f21a"}.bi-camera-reels:before{content:"\f21b"}.bi-camera-video-fill:before{content:"\f21c"}.bi-camera-video-off-fill:before{content:"\f21d"}.bi-camera-video-off:before{content:"\f21e"}.bi-camera-video:before{content:"\f21f"}.bi-camera:before{content:"\f220"}.bi-camera2:before{content:"\f221"}.bi-capslock-fill:before{content:"\f222"}.bi-capslock:before{content:"\f223"}.bi-card-checklist:before{content:"\f224"}.bi-card-heading:before{content:"\f225"}.bi-card-image:before{content:"\f226"}.bi-card-list:before{content:"\f227"}.bi-card-text:before{content:"\f228"}.bi-caret-down-fill:before{content:"\f229"}.bi-caret-down-square-fill:before{content:"\f22a"}.bi-caret-down-square:before{content:"\f22b"}.bi-caret-down:before{content:"\f22c"}.bi-caret-left-fill:before{content:"\f22d"}.bi-caret-left-square-fill:before{content:"\f22e"}.bi-caret-left-square:before{content:"\f22f"}.bi-caret-left:before{content:"\f230"}.bi-caret-right-fill:before{content:"\f231"}.bi-caret-right-square-fill:before{content:"\f232"}.bi-caret-right-square:before{content:"\f233"}.bi-caret-right:before{content:"\f234"}.bi-caret-up-fill:before{content:"\f235"}.bi-caret-up-square-fill:before{content:"\f236"}.bi-caret-up-square:before{content:"\f237"}.bi-caret-up:before{content:"\f238"}.bi-cart-check-fill:before{content:"\f239"}.bi-cart-check:before{content:"\f23a"}.bi-cart-dash-fill:before{content:"\f23b"}.bi-cart-dash:before{content:"\f23c"}.bi-cart-fill:before{content:"\f23d"}.bi-cart-plus-fill:before{content:"\f23e"}.bi-cart-plus:before{content:"\f23f"}.bi-cart-x-fill:before{content:"\f240"}.bi-cart-x:before{content:"\f241"}.bi-cart:before{content:"\f242"}.bi-cart2:before{content:"\f243"}.bi-cart3:before{content:"\f244"}.bi-cart4:before{content:"\f245"}.bi-cash-stack:before{content:"\f246"}.bi-cash:before{content:"\f247"}.bi-cast:before{content:"\f248"}.bi-chat-dots-fill:before{content:"\f249"}.bi-chat-dots:before{content:"\f24a"}.bi-chat-fill:before{content:"\f24b"}.bi-chat-left-dots-fill:before{content:"\f24c"}.bi-chat-left-dots:before{content:"\f24d"}.bi-chat-left-fill:before{content:"\f24e"}.bi-chat-left-quote-fill:before{content:"\f24f"}.bi-chat-left-quote:before{content:"\f250"}.bi-chat-left-text-fill:before{content:"\f251"}.bi-chat-left-text:before{content:"\f252"}.bi-chat-left:before{content:"\f253"}.bi-chat-quote-fill:before{content:"\f254"}.bi-chat-quote:before{content:"\f255"}.bi-chat-right-dots-fill:before{content:"\f256"}.bi-chat-right-dots:before{content:"\f257"}.bi-chat-right-fill:before{content:"\f258"}.bi-chat-right-quote-fill:before{content:"\f259"}.bi-chat-right-quote:before{content:"\f25a"}.bi-chat-right-text-fill:before{content:"\f25b"}.bi-chat-right-text:before{content:"\f25c"}.bi-chat-right:before{content:"\f25d"}.bi-chat-square-dots-fill:before{content:"\f25e"}.bi-chat-square-dots:before{content:"\f25f"}.bi-chat-square-fill:before{content:"\f260"}.bi-chat-square-quote-fill:before{content:"\f261"}.bi-chat-square-quote:before{content:"\f262"}.bi-chat-square-text-fill:before{content:"\f263"}.bi-chat-square-text:before{content:"\f264"}.bi-chat-square:before{content:"\f265"}.bi-chat-text-fill:before{content:"\f266"}.bi-chat-text:before{content:"\f267"}.bi-chat:before{content:"\f268"}.bi-check-all:before{content:"\f269"}.bi-check-circle-fill:before{content:"\f26a"}.bi-check-circle:before{content:"\f26b"}.bi-check-square-fill:before{content:"\f26c"}.bi-check-square:before{content:"\f26d"}.bi-check:before{content:"\f26e"}.bi-check2-all:before{content:"\f26f"}.bi-check2-circle:before{content:"\f270"}.bi-check2-square:before{content:"\f271"}.bi-check2:before{content:"\f272"}.bi-chevron-bar-contract:before{content:"\f273"}.bi-chevron-bar-down:before{content:"\f274"}.bi-chevron-bar-expand:before{content:"\f275"}.bi-chevron-bar-left:before{content:"\f276"}.bi-chevron-bar-right:before{content:"\f277"}.bi-chevron-bar-up:before{content:"\f278"}.bi-chevron-compact-down:before{content:"\f279"}.bi-chevron-compact-left:before{content:"\f27a"}.bi-chevron-compact-right:before{content:"\f27b"}.bi-chevron-compact-up:before{content:"\f27c"}.bi-chevron-contract:before{content:"\f27d"}.bi-chevron-double-down:before{content:"\f27e"}.bi-chevron-double-left:before{content:"\f27f"}.bi-chevron-double-right:before{content:"\f280"}.bi-chevron-double-up:before{content:"\f281"}.bi-chevron-down:before{content:"\f282"}.bi-chevron-expand:before{content:"\f283"}.bi-chevron-left:before{content:"\f284"}.bi-chevron-right:before{content:"\f285"}.bi-chevron-up:before{content:"\f286"}.bi-circle-fill:before{content:"\f287"}.bi-circle-half:before{content:"\f288"}.bi-circle-square:before{content:"\f289"}.bi-circle:before{content:"\f28a"}.bi-clipboard-check:before{content:"\f28b"}.bi-clipboard-data:before{content:"\f28c"}.bi-clipboard-minus:before{content:"\f28d"}.bi-clipboard-plus:before{content:"\f28e"}.bi-clipboard-x:before{content:"\f28f"}.bi-clipboard:before{content:"\f290"}.bi-clock-fill:before{content:"\f291"}.bi-clock-history:before{content:"\f292"}.bi-clock:before{content:"\f293"}.bi-cloud-arrow-down-fill:before{content:"\f294"}.bi-cloud-arrow-down:before{content:"\f295"}.bi-cloud-arrow-up-fill:before{content:"\f296"}.bi-cloud-arrow-up:before{content:"\f297"}.bi-cloud-check-fill:before{content:"\f298"}.bi-cloud-check:before{content:"\f299"}.bi-cloud-download-fill:before{content:"\f29a"}.bi-cloud-download:before{content:"\f29b"}.bi-cloud-drizzle-fill:before{content:"\f29c"}.bi-cloud-drizzle:before{content:"\f29d"}.bi-cloud-fill:before{content:"\f29e"}.bi-cloud-fog-fill:before{content:"\f29f"}.bi-cloud-fog:before{content:"\f2a0"}.bi-cloud-fog2-fill:before{content:"\f2a1"}.bi-cloud-fog2:before{content:"\f2a2"}.bi-cloud-hail-fill:before{content:"\f2a3"}.bi-cloud-hail:before{content:"\f2a4"}.bi-cloud-haze-fill:before{content:"\f2a6"}.bi-cloud-haze:before{content:"\f2a7"}.bi-cloud-haze2-fill:before{content:"\f2a8"}.bi-cloud-lightning-fill:before{content:"\f2a9"}.bi-cloud-lightning-rain-fill:before{content:"\f2aa"}.bi-cloud-lightning-rain:before{content:"\f2ab"}.bi-cloud-lightning:before{content:"\f2ac"}.bi-cloud-minus-fill:before{content:"\f2ad"}.bi-cloud-minus:before{content:"\f2ae"}.bi-cloud-moon-fill:before{content:"\f2af"}.bi-cloud-moon:before{content:"\f2b0"}.bi-cloud-plus-fill:before{content:"\f2b1"}.bi-cloud-plus:before{content:"\f2b2"}.bi-cloud-rain-fill:before{content:"\f2b3"}.bi-cloud-rain-heavy-fill:before{content:"\f2b4"}.bi-cloud-rain-heavy:before{content:"\f2b5"}.bi-cloud-rain:before{content:"\f2b6"}.bi-cloud-slash-fill:before{content:"\f2b7"}.bi-cloud-slash:before{content:"\f2b8"}.bi-cloud-sleet-fill:before{content:"\f2b9"}.bi-cloud-sleet:before{content:"\f2ba"}.bi-cloud-snow-fill:before{content:"\f2bb"}.bi-cloud-snow:before{content:"\f2bc"}.bi-cloud-sun-fill:before{content:"\f2bd"}.bi-cloud-sun:before{content:"\f2be"}.bi-cloud-upload-fill:before{content:"\f2bf"}.bi-cloud-upload:before{content:"\f2c0"}.bi-cloud:before{content:"\f2c1"}.bi-clouds-fill:before{content:"\f2c2"}.bi-clouds:before{content:"\f2c3"}.bi-cloudy-fill:before{content:"\f2c4"}.bi-cloudy:before{content:"\f2c5"}.bi-code-slash:before{content:"\f2c6"}.bi-code-square:before{content:"\f2c7"}.bi-code:before{content:"\f2c8"}.bi-collection-fill:before{content:"\f2c9"}.bi-collection-play-fill:before{content:"\f2ca"}.bi-collection-play:before{content:"\f2cb"}.bi-collection:before{content:"\f2cc"}.bi-columns-gap:before{content:"\f2cd"}.bi-columns:before{content:"\f2ce"}.bi-command:before{content:"\f2cf"}.bi-compass-fill:before{content:"\f2d0"}.bi-compass:before{content:"\f2d1"}.bi-cone-striped:before{content:"\f2d2"}.bi-cone:before{content:"\f2d3"}.bi-controller:before{content:"\f2d4"}.bi-cpu-fill:before{content:"\f2d5"}.bi-cpu:before{content:"\f2d6"}.bi-credit-card-2-back-fill:before{content:"\f2d7"}.bi-credit-card-2-back:before{content:"\f2d8"}.bi-credit-card-2-front-fill:before{content:"\f2d9"}.bi-credit-card-2-front:before{content:"\f2da"}.bi-credit-card-fill:before{content:"\f2db"}.bi-credit-card:before{content:"\f2dc"}.bi-crop:before{content:"\f2dd"}.bi-cup-fill:before{content:"\f2de"}.bi-cup-straw:before{content:"\f2df"}.bi-cup:before{content:"\f2e0"}.bi-cursor-fill:before{content:"\f2e1"}.bi-cursor-text:before{content:"\f2e2"}.bi-cursor:before{content:"\f2e3"}.bi-dash-circle-dotted:before{content:"\f2e4"}.bi-dash-circle-fill:before{content:"\f2e5"}.bi-dash-circle:before{content:"\f2e6"}.bi-dash-square-dotted:before{content:"\f2e7"}.bi-dash-square-fill:before{content:"\f2e8"}.bi-dash-square:before{content:"\f2e9"}.bi-dash:before{content:"\f2ea"}.bi-diagram-2-fill:before{content:"\f2eb"}.bi-diagram-2:before{content:"\f2ec"}.bi-diagram-3-fill:before{content:"\f2ed"}.bi-diagram-3:before{content:"\f2ee"}.bi-diamond-fill:before{content:"\f2ef"}.bi-diamond-half:before{content:"\f2f0"}.bi-diamond:before{content:"\f2f1"}.bi-dice-1-fill:before{content:"\f2f2"}.bi-dice-1:before{content:"\f2f3"}.bi-dice-2-fill:before{content:"\f2f4"}.bi-dice-2:before{content:"\f2f5"}.bi-dice-3-fill:before{content:"\f2f6"}.bi-dice-3:before{content:"\f2f7"}.bi-dice-4-fill:before{content:"\f2f8"}.bi-dice-4:before{content:"\f2f9"}.bi-dice-5-fill:before{content:"\f2fa"}.bi-dice-5:before{content:"\f2fb"}.bi-dice-6-fill:before{content:"\f2fc"}.bi-dice-6:before{content:"\f2fd"}.bi-disc-fill:before{content:"\f2fe"}.bi-disc:before{content:"\f2ff"}.bi-discord:before{content:"\f300"}.bi-display-fill:before{content:"\f301"}.bi-display:before{content:"\f302"}.bi-distribute-horizontal:before{content:"\f303"}.bi-distribute-vertical:before{content:"\f304"}.bi-door-closed-fill:before{content:"\f305"}.bi-door-closed:before{content:"\f306"}.bi-door-open-fill:before{content:"\f307"}.bi-door-open:before{content:"\f308"}.bi-dot:before{content:"\f309"}.bi-download:before{content:"\f30a"}.bi-droplet-fill:before{content:"\f30b"}.bi-droplet-half:before{content:"\f30c"}.bi-droplet:before{content:"\f30d"}.bi-earbuds:before{content:"\f30e"}.bi-easel-fill:before{content:"\f30f"}.bi-easel:before{content:"\f310"}.bi-egg-fill:before{content:"\f311"}.bi-egg-fried:before{content:"\f312"}.bi-egg:before{content:"\f313"}.bi-eject-fill:before{content:"\f314"}.bi-eject:before{content:"\f315"}.bi-emoji-angry-fill:before{content:"\f316"}.bi-emoji-angry:before{content:"\f317"}.bi-emoji-dizzy-fill:before{content:"\f318"}.bi-emoji-dizzy:before{content:"\f319"}.bi-emoji-expressionless-fill:before{content:"\f31a"}.bi-emoji-expressionless:before{content:"\f31b"}.bi-emoji-frown-fill:before{content:"\f31c"}.bi-emoji-frown:before{content:"\f31d"}.bi-emoji-heart-eyes-fill:before{content:"\f31e"}.bi-emoji-heart-eyes:before{content:"\f31f"}.bi-emoji-laughing-fill:before{content:"\f320"}.bi-emoji-laughing:before{content:"\f321"}.bi-emoji-neutral-fill:before{content:"\f322"}.bi-emoji-neutral:before{content:"\f323"}.bi-emoji-smile-fill:before{content:"\f324"}.bi-emoji-smile-upside-down-fill:before{content:"\f325"}.bi-emoji-smile-upside-down:before{content:"\f326"}.bi-emoji-smile:before{content:"\f327"}.bi-emoji-sunglasses-fill:before{content:"\f328"}.bi-emoji-sunglasses:before{content:"\f329"}.bi-emoji-wink-fill:before{content:"\f32a"}.bi-emoji-wink:before{content:"\f32b"}.bi-envelope-fill:before{content:"\f32c"}.bi-envelope-open-fill:before{content:"\f32d"}.bi-envelope-open:before{content:"\f32e"}.bi-envelope:before{content:"\f32f"}.bi-eraser-fill:before{content:"\f330"}.bi-eraser:before{content:"\f331"}.bi-exclamation-circle-fill:before{content:"\f332"}.bi-exclamation-circle:before{content:"\f333"}.bi-exclamation-diamond-fill:before{content:"\f334"}.bi-exclamation-diamond:before{content:"\f335"}.bi-exclamation-octagon-fill:before{content:"\f336"}.bi-exclamation-octagon:before{content:"\f337"}.bi-exclamation-square-fill:before{content:"\f338"}.bi-exclamation-square:before{content:"\f339"}.bi-exclamation-triangle-fill:before{content:"\f33a"}.bi-exclamation-triangle:before{content:"\f33b"}.bi-exclamation:before{content:"\f33c"}.bi-exclude:before{content:"\f33d"}.bi-eye-fill:before{content:"\f33e"}.bi-eye-slash-fill:before{content:"\f33f"}.bi-eye-slash:before{content:"\f340"}.bi-eye:before{content:"\f341"}.bi-eyedropper:before{content:"\f342"}.bi-eyeglasses:before{content:"\f343"}.bi-facebook:before{content:"\f344"}.bi-file-arrow-down-fill:before{content:"\f345"}.bi-file-arrow-down:before{content:"\f346"}.bi-file-arrow-up-fill:before{content:"\f347"}.bi-file-arrow-up:before{content:"\f348"}.bi-file-bar-graph-fill:before{content:"\f349"}.bi-file-bar-graph:before{content:"\f34a"}.bi-file-binary-fill:before{content:"\f34b"}.bi-file-binary:before{content:"\f34c"}.bi-file-break-fill:before{content:"\f34d"}.bi-file-break:before{content:"\f34e"}.bi-file-check-fill:before{content:"\f34f"}.bi-file-check:before{content:"\f350"}.bi-file-code-fill:before{content:"\f351"}.bi-file-code:before{content:"\f352"}.bi-file-diff-fill:before{content:"\f353"}.bi-file-diff:before{content:"\f354"}.bi-file-earmark-arrow-down-fill:before{content:"\f355"}.bi-file-earmark-arrow-down:before{content:"\f356"}.bi-file-earmark-arrow-up-fill:before{content:"\f357"}.bi-file-earmark-arrow-up:before{content:"\f358"}.bi-file-earmark-bar-graph-fill:before{content:"\f359"}.bi-file-earmark-bar-graph:before{content:"\f35a"}.bi-file-earmark-binary-fill:before{content:"\f35b"}.bi-file-earmark-binary:before{content:"\f35c"}.bi-file-earmark-break-fill:before{content:"\f35d"}.bi-file-earmark-break:before{content:"\f35e"}.bi-file-earmark-check-fill:before{content:"\f35f"}.bi-file-earmark-check:before{content:"\f360"}.bi-file-earmark-code-fill:before{content:"\f361"}.bi-file-earmark-code:before{content:"\f362"}.bi-file-earmark-diff-fill:before{content:"\f363"}.bi-file-earmark-diff:before{content:"\f364"}.bi-file-earmark-easel-fill:before{content:"\f365"}.bi-file-earmark-easel:before{content:"\f366"}.bi-file-earmark-excel-fill:before{content:"\f367"}.bi-file-earmark-excel:before{content:"\f368"}.bi-file-earmark-fill:before{content:"\f369"}.bi-file-earmark-font-fill:before{content:"\f36a"}.bi-file-earmark-font:before{content:"\f36b"}.bi-file-earmark-image-fill:before{content:"\f36c"}.bi-file-earmark-image:before{content:"\f36d"}.bi-file-earmark-lock-fill:before{content:"\f36e"}.bi-file-earmark-lock:before{content:"\f36f"}.bi-file-earmark-lock2-fill:before{content:"\f370"}.bi-file-earmark-lock2:before{content:"\f371"}.bi-file-earmark-medical-fill:before{content:"\f372"}.bi-file-earmark-medical:before{content:"\f373"}.bi-file-earmark-minus-fill:before{content:"\f374"}.bi-file-earmark-minus:before{content:"\f375"}.bi-file-earmark-music-fill:before{content:"\f376"}.bi-file-earmark-music:before{content:"\f377"}.bi-file-earmark-person-fill:before{content:"\f378"}.bi-file-earmark-person:before{content:"\f379"}.bi-file-earmark-play-fill:before{content:"\f37a"}.bi-file-earmark-play:before{content:"\f37b"}.bi-file-earmark-plus-fill:before{content:"\f37c"}.bi-file-earmark-plus:before{content:"\f37d"}.bi-file-earmark-post-fill:before{content:"\f37e"}.bi-file-earmark-post:before{content:"\f37f"}.bi-file-earmark-ppt-fill:before{content:"\f380"}.bi-file-earmark-ppt:before{content:"\f381"}.bi-file-earmark-richtext-fill:before{content:"\f382"}.bi-file-earmark-richtext:before{content:"\f383"}.bi-file-earmark-ruled-fill:before{content:"\f384"}.bi-file-earmark-ruled:before{content:"\f385"}.bi-file-earmark-slides-fill:before{content:"\f386"}.bi-file-earmark-slides:before{content:"\f387"}.bi-file-earmark-spreadsheet-fill:before{content:"\f388"}.bi-file-earmark-spreadsheet:before{content:"\f389"}.bi-file-earmark-text-fill:before{content:"\f38a"}.bi-file-earmark-text:before{content:"\f38b"}.bi-file-earmark-word-fill:before{content:"\f38c"}.bi-file-earmark-word:before{content:"\f38d"}.bi-file-earmark-x-fill:before{content:"\f38e"}.bi-file-earmark-x:before{content:"\f38f"}.bi-file-earmark-zip-fill:before{content:"\f390"}.bi-file-earmark-zip:before{content:"\f391"}.bi-file-earmark:before{content:"\f392"}.bi-file-easel-fill:before{content:"\f393"}.bi-file-easel:before{content:"\f394"}.bi-file-excel-fill:before{content:"\f395"}.bi-file-excel:before{content:"\f396"}.bi-file-fill:before{content:"\f397"}.bi-file-font-fill:before{content:"\f398"}.bi-file-font:before{content:"\f399"}.bi-file-image-fill:before{content:"\f39a"}.bi-file-image:before{content:"\f39b"}.bi-file-lock-fill:before{content:"\f39c"}.bi-file-lock:before{content:"\f39d"}.bi-file-lock2-fill:before{content:"\f39e"}.bi-file-lock2:before{content:"\f39f"}.bi-file-medical-fill:before{content:"\f3a0"}.bi-file-medical:before{content:"\f3a1"}.bi-file-minus-fill:before{content:"\f3a2"}.bi-file-minus:before{content:"\f3a3"}.bi-file-music-fill:before{content:"\f3a4"}.bi-file-music:before{content:"\f3a5"}.bi-file-person-fill:before{content:"\f3a6"}.bi-file-person:before{content:"\f3a7"}.bi-file-play-fill:before{content:"\f3a8"}.bi-file-play:before{content:"\f3a9"}.bi-file-plus-fill:before{content:"\f3aa"}.bi-file-plus:before{content:"\f3ab"}.bi-file-post-fill:before{content:"\f3ac"}.bi-file-post:before{content:"\f3ad"}.bi-file-ppt-fill:before{content:"\f3ae"}.bi-file-ppt:before{content:"\f3af"}.bi-file-richtext-fill:before{content:"\f3b0"}.bi-file-richtext:before{content:"\f3b1"}.bi-file-ruled-fill:before{content:"\f3b2"}.bi-file-ruled:before{content:"\f3b3"}.bi-file-slides-fill:before{content:"\f3b4"}.bi-file-slides:before{content:"\f3b5"}.bi-file-spreadsheet-fill:before{content:"\f3b6"}.bi-file-spreadsheet:before{content:"\f3b7"}.bi-file-text-fill:before{content:"\f3b8"}.bi-file-text:before{content:"\f3b9"}.bi-file-word-fill:before{content:"\f3ba"}.bi-file-word:before{content:"\f3bb"}.bi-file-x-fill:before{content:"\f3bc"}.bi-file-x:before{content:"\f3bd"}.bi-file-zip-fill:before{content:"\f3be"}.bi-file-zip:before{content:"\f3bf"}.bi-file:before{content:"\f3c0"}.bi-files-alt:before{content:"\f3c1"}.bi-files:before{content:"\f3c2"}.bi-film:before{content:"\f3c3"}.bi-filter-circle-fill:before{content:"\f3c4"}.bi-filter-circle:before{content:"\f3c5"}.bi-filter-left:before{content:"\f3c6"}.bi-filter-right:before{content:"\f3c7"}.bi-filter-square-fill:before{content:"\f3c8"}.bi-filter-square:before{content:"\f3c9"}.bi-filter:before{content:"\f3ca"}.bi-flag-fill:before{content:"\f3cb"}.bi-flag:before{content:"\f3cc"}.bi-flower1:before{content:"\f3cd"}.bi-flower2:before{content:"\f3ce"}.bi-flower3:before{content:"\f3cf"}.bi-folder-check:before{content:"\f3d0"}.bi-folder-fill:before{content:"\f3d1"}.bi-folder-minus:before{content:"\f3d2"}.bi-folder-plus:before{content:"\f3d3"}.bi-folder-symlink-fill:before{content:"\f3d4"}.bi-folder-symlink:before{content:"\f3d5"}.bi-folder-x:before{content:"\f3d6"}.bi-folder:before{content:"\f3d7"}.bi-folder2-open:before{content:"\f3d8"}.bi-folder2:before{content:"\f3d9"}.bi-fonts:before{content:"\f3da"}.bi-forward-fill:before{content:"\f3db"}.bi-forward:before{content:"\f3dc"}.bi-front:before{content:"\f3dd"}.bi-fullscreen-exit:before{content:"\f3de"}.bi-fullscreen:before{content:"\f3df"}.bi-funnel-fill:before{content:"\f3e0"}.bi-funnel:before{content:"\f3e1"}.bi-gear-fill:before{content:"\f3e2"}.bi-gear-wide-connected:before{content:"\f3e3"}.bi-gear-wide:before{content:"\f3e4"}.bi-gear:before{content:"\f3e5"}.bi-gem:before{content:"\f3e6"}.bi-geo-alt-fill:before{content:"\f3e7"}.bi-geo-alt:before{content:"\f3e8"}.bi-geo-fill:before{content:"\f3e9"}.bi-geo:before{content:"\f3ea"}.bi-gift-fill:before{content:"\f3eb"}.bi-gift:before{content:"\f3ec"}.bi-github:before{content:"\f3ed"}.bi-globe:before{content:"\f3ee"}.bi-globe2:before{content:"\f3ef"}.bi-google:before{content:"\f3f0"}.bi-graph-down:before{content:"\f3f1"}.bi-graph-up:before{content:"\f3f2"}.bi-grid-1x2-fill:before{content:"\f3f3"}.bi-grid-1x2:before{content:"\f3f4"}.bi-grid-3x2-gap-fill:before{content:"\f3f5"}.bi-grid-3x2-gap:before{content:"\f3f6"}.bi-grid-3x2:before{content:"\f3f7"}.bi-grid-3x3-gap-fill:before{content:"\f3f8"}.bi-grid-3x3-gap:before{content:"\f3f9"}.bi-grid-3x3:before{content:"\f3fa"}.bi-grid-fill:before{content:"\f3fb"}.bi-grid:before{content:"\f3fc"}.bi-grip-horizontal:before{content:"\f3fd"}.bi-grip-vertical:before{content:"\f3fe"}.bi-hammer:before{content:"\f3ff"}.bi-hand-index-fill:before{content:"\f400"}.bi-hand-index-thumb-fill:before{content:"\f401"}.bi-hand-index-thumb:before{content:"\f402"}.bi-hand-index:before{content:"\f403"}.bi-hand-thumbs-down-fill:before{content:"\f404"}.bi-hand-thumbs-down:before{content:"\f405"}.bi-hand-thumbs-up-fill:before{content:"\f406"}.bi-hand-thumbs-up:before{content:"\f407"}.bi-handbag-fill:before{content:"\f408"}.bi-handbag:before{content:"\f409"}.bi-hash:before{content:"\f40a"}.bi-hdd-fill:before{content:"\f40b"}.bi-hdd-network-fill:before{content:"\f40c"}.bi-hdd-network:before{content:"\f40d"}.bi-hdd-rack-fill:before{content:"\f40e"}.bi-hdd-rack:before{content:"\f40f"}.bi-hdd-stack-fill:before{content:"\f410"}.bi-hdd-stack:before{content:"\f411"}.bi-hdd:before{content:"\f412"}.bi-headphones:before{content:"\f413"}.bi-headset:before{content:"\f414"}.bi-heart-fill:before{content:"\f415"}.bi-heart-half:before{content:"\f416"}.bi-heart:before{content:"\f417"}.bi-heptagon-fill:before{content:"\f418"}.bi-heptagon-half:before{content:"\f419"}.bi-heptagon:before{content:"\f41a"}.bi-hexagon-fill:before{content:"\f41b"}.bi-hexagon-half:before{content:"\f41c"}.bi-hexagon:before{content:"\f41d"}.bi-hourglass-bottom:before{content:"\f41e"}.bi-hourglass-split:before{content:"\f41f"}.bi-hourglass-top:before{content:"\f420"}.bi-hourglass:before{content:"\f421"}.bi-house-door-fill:before{content:"\f422"}.bi-house-door:before{content:"\f423"}.bi-house-fill:before{content:"\f424"}.bi-house:before{content:"\f425"}.bi-hr:before{content:"\f426"}.bi-hurricane:before{content:"\f427"}.bi-image-alt:before{content:"\f428"}.bi-image-fill:before{content:"\f429"}.bi-image:before{content:"\f42a"}.bi-images:before{content:"\f42b"}.bi-inbox-fill:before{content:"\f42c"}.bi-inbox:before{content:"\f42d"}.bi-inboxes-fill:before{content:"\f42e"}.bi-inboxes:before{content:"\f42f"}.bi-info-circle-fill:before{content:"\f430"}.bi-info-circle:before{content:"\f431"}.bi-info-square-fill:before{content:"\f432"}.bi-info-square:before{content:"\f433"}.bi-info:before{content:"\f434"}.bi-input-cursor-text:before{content:"\f435"}.bi-input-cursor:before{content:"\f436"}.bi-instagram:before{content:"\f437"}.bi-intersect:before{content:"\f438"}.bi-journal-album:before{content:"\f439"}.bi-journal-arrow-down:before{content:"\f43a"}.bi-journal-arrow-up:before{content:"\f43b"}.bi-journal-bookmark-fill:before{content:"\f43c"}.bi-journal-bookmark:before{content:"\f43d"}.bi-journal-check:before{content:"\f43e"}.bi-journal-code:before{content:"\f43f"}.bi-journal-medical:before{content:"\f440"}.bi-journal-minus:before{content:"\f441"}.bi-journal-plus:before{content:"\f442"}.bi-journal-richtext:before{content:"\f443"}.bi-journal-text:before{content:"\f444"}.bi-journal-x:before{content:"\f445"}.bi-journal:before{content:"\f446"}.bi-journals:before{content:"\f447"}.bi-joystick:before{content:"\f448"}.bi-justify-left:before{content:"\f449"}.bi-justify-right:before{content:"\f44a"}.bi-justify:before{content:"\f44b"}.bi-kanban-fill:before{content:"\f44c"}.bi-kanban:before{content:"\f44d"}.bi-key-fill:before{content:"\f44e"}.bi-key:before{content:"\f44f"}.bi-keyboard-fill:before{content:"\f450"}.bi-keyboard:before{content:"\f451"}.bi-ladder:before{content:"\f452"}.bi-lamp-fill:before{content:"\f453"}.bi-lamp:before{content:"\f454"}.bi-laptop-fill:before{content:"\f455"}.bi-laptop:before{content:"\f456"}.bi-layer-backward:before{content:"\f457"}.bi-layer-forward:before{content:"\f458"}.bi-layers-fill:before{content:"\f459"}.bi-layers-half:before{content:"\f45a"}.bi-layers:before{content:"\f45b"}.bi-layout-sidebar-inset-reverse:before{content:"\f45c"}.bi-layout-sidebar-inset:before{content:"\f45d"}.bi-layout-sidebar-reverse:before{content:"\f45e"}.bi-layout-sidebar:before{content:"\f45f"}.bi-layout-split:before{content:"\f460"}.bi-layout-text-sidebar-reverse:before{content:"\f461"}.bi-layout-text-sidebar:before{content:"\f462"}.bi-layout-text-window-reverse:before{content:"\f463"}.bi-layout-text-window:before{content:"\f464"}.bi-layout-three-columns:before{content:"\f465"}.bi-layout-wtf:before{content:"\f466"}.bi-life-preserver:before{content:"\f467"}.bi-lightbulb-fill:before{content:"\f468"}.bi-lightbulb-off-fill:before{content:"\f469"}.bi-lightbulb-off:before{content:"\f46a"}.bi-lightbulb:before{content:"\f46b"}.bi-lightning-charge-fill:before{content:"\f46c"}.bi-lightning-charge:before{content:"\f46d"}.bi-lightning-fill:before{content:"\f46e"}.bi-lightning:before{content:"\f46f"}.bi-link-45deg:before{content:"\f470"}.bi-link:before{content:"\f471"}.bi-linkedin:before{content:"\f472"}.bi-list-check:before{content:"\f473"}.bi-list-nested:before{content:"\f474"}.bi-list-ol:before{content:"\f475"}.bi-list-stars:before{content:"\f476"}.bi-list-task:before{content:"\f477"}.bi-list-ul:before{content:"\f478"}.bi-list:before{content:"\f479"}.bi-lock-fill:before{content:"\f47a"}.bi-lock:before{content:"\f47b"}.bi-mailbox:before{content:"\f47c"}.bi-mailbox2:before{content:"\f47d"}.bi-map-fill:before{content:"\f47e"}.bi-map:before{content:"\f47f"}.bi-markdown-fill:before{content:"\f480"}.bi-markdown:before{content:"\f481"}.bi-mask:before{content:"\f482"}.bi-megaphone-fill:before{content:"\f483"}.bi-megaphone:before{content:"\f484"}.bi-menu-app-fill:before{content:"\f485"}.bi-menu-app:before{content:"\f486"}.bi-menu-button-fill:before{content:"\f487"}.bi-menu-button-wide-fill:before{content:"\f488"}.bi-menu-button-wide:before{content:"\f489"}.bi-menu-button:before{content:"\f48a"}.bi-menu-down:before{content:"\f48b"}.bi-menu-up:before{content:"\f48c"}.bi-mic-fill:before{content:"\f48d"}.bi-mic-mute-fill:before{content:"\f48e"}.bi-mic-mute:before{content:"\f48f"}.bi-mic:before{content:"\f490"}.bi-minecart-loaded:before{content:"\f491"}.bi-minecart:before{content:"\f492"}.bi-moisture:before{content:"\f493"}.bi-moon-fill:before{content:"\f494"}.bi-moon-stars-fill:before{content:"\f495"}.bi-moon-stars:before{content:"\f496"}.bi-moon:before{content:"\f497"}.bi-mouse-fill:before{content:"\f498"}.bi-mouse:before{content:"\f499"}.bi-mouse2-fill:before{content:"\f49a"}.bi-mouse2:before{content:"\f49b"}.bi-mouse3-fill:before{content:"\f49c"}.bi-mouse3:before{content:"\f49d"}.bi-music-note-beamed:before{content:"\f49e"}.bi-music-note-list:before{content:"\f49f"}.bi-music-note:before{content:"\f4a0"}.bi-music-player-fill:before{content:"\f4a1"}.bi-music-player:before{content:"\f4a2"}.bi-newspaper:before{content:"\f4a3"}.bi-node-minus-fill:before{content:"\f4a4"}.bi-node-minus:before{content:"\f4a5"}.bi-node-plus-fill:before{content:"\f4a6"}.bi-node-plus:before{content:"\f4a7"}.bi-nut-fill:before{content:"\f4a8"}.bi-nut:before{content:"\f4a9"}.bi-octagon-fill:before{content:"\f4aa"}.bi-octagon-half:before{content:"\f4ab"}.bi-octagon:before{content:"\f4ac"}.bi-option:before{content:"\f4ad"}.bi-outlet:before{content:"\f4ae"}.bi-paint-bucket:before{content:"\f4af"}.bi-palette-fill:before{content:"\f4b0"}.bi-palette:before{content:"\f4b1"}.bi-palette2:before{content:"\f4b2"}.bi-paperclip:before{content:"\f4b3"}.bi-paragraph:before{content:"\f4b4"}.bi-patch-check-fill:before{content:"\f4b5"}.bi-patch-check:before{content:"\f4b6"}.bi-patch-exclamation-fill:before{content:"\f4b7"}.bi-patch-exclamation:before{content:"\f4b8"}.bi-patch-minus-fill:before{content:"\f4b9"}.bi-patch-minus:before{content:"\f4ba"}.bi-patch-plus-fill:before{content:"\f4bb"}.bi-patch-plus:before{content:"\f4bc"}.bi-patch-question-fill:before{content:"\f4bd"}.bi-patch-question:before{content:"\f4be"}.bi-pause-btn-fill:before{content:"\f4bf"}.bi-pause-btn:before{content:"\f4c0"}.bi-pause-circle-fill:before{content:"\f4c1"}.bi-pause-circle:before{content:"\f4c2"}.bi-pause-fill:before{content:"\f4c3"}.bi-pause:before{content:"\f4c4"}.bi-peace-fill:before{content:"\f4c5"}.bi-peace:before{content:"\f4c6"}.bi-pen-fill:before{content:"\f4c7"}.bi-pen:before{content:"\f4c8"}.bi-pencil-fill:before{content:"\f4c9"}.bi-pencil-square:before{content:"\f4ca"}.bi-pencil:before{content:"\f4cb"}.bi-pentagon-fill:before{content:"\f4cc"}.bi-pentagon-half:before{content:"\f4cd"}.bi-pentagon:before{content:"\f4ce"}.bi-people-fill:before{content:"\f4cf"}.bi-people:before{content:"\f4d0"}.bi-percent:before{content:"\f4d1"}.bi-person-badge-fill:before{content:"\f4d2"}.bi-person-badge:before{content:"\f4d3"}.bi-person-bounding-box:before{content:"\f4d4"}.bi-person-check-fill:before{content:"\f4d5"}.bi-person-check:before{content:"\f4d6"}.bi-person-circle:before{content:"\f4d7"}.bi-person-dash-fill:before{content:"\f4d8"}.bi-person-dash:before{content:"\f4d9"}.bi-person-fill:before{content:"\f4da"}.bi-person-lines-fill:before{content:"\f4db"}.bi-person-plus-fill:before{content:"\f4dc"}.bi-person-plus:before{content:"\f4dd"}.bi-person-square:before{content:"\f4de"}.bi-person-x-fill:before{content:"\f4df"}.bi-person-x:before{content:"\f4e0"}.bi-person:before{content:"\f4e1"}.bi-phone-fill:before{content:"\f4e2"}.bi-phone-landscape-fill:before{content:"\f4e3"}.bi-phone-landscape:before{content:"\f4e4"}.bi-phone-vibrate-fill:before{content:"\f4e5"}.bi-phone-vibrate:before{content:"\f4e6"}.bi-phone:before{content:"\f4e7"}.bi-pie-chart-fill:before{content:"\f4e8"}.bi-pie-chart:before{content:"\f4e9"}.bi-pin-angle-fill:before{content:"\f4ea"}.bi-pin-angle:before{content:"\f4eb"}.bi-pin-fill:before{content:"\f4ec"}.bi-pin:before{content:"\f4ed"}.bi-pip-fill:before{content:"\f4ee"}.bi-pip:before{content:"\f4ef"}.bi-play-btn-fill:before{content:"\f4f0"}.bi-play-btn:before{content:"\f4f1"}.bi-play-circle-fill:before{content:"\f4f2"}.bi-play-circle:before{content:"\f4f3"}.bi-play-fill:before{content:"\f4f4"}.bi-play:before{content:"\f4f5"}.bi-plug-fill:before{content:"\f4f6"}.bi-plug:before{content:"\f4f7"}.bi-plus-circle-dotted:before{content:"\f4f8"}.bi-plus-circle-fill:before{content:"\f4f9"}.bi-plus-circle:before{content:"\f4fa"}.bi-plus-square-dotted:before{content:"\f4fb"}.bi-plus-square-fill:before{content:"\f4fc"}.bi-plus-square:before{content:"\f4fd"}.bi-plus:before{content:"\f4fe"}.bi-power:before{content:"\f4ff"}.bi-printer-fill:before{content:"\f500"}.bi-printer:before{content:"\f501"}.bi-puzzle-fill:before{content:"\f502"}.bi-puzzle:before{content:"\f503"}.bi-question-circle-fill:before{content:"\f504"}.bi-question-circle:before{content:"\f505"}.bi-question-diamond-fill:before{content:"\f506"}.bi-question-diamond:before{content:"\f507"}.bi-question-octagon-fill:before{content:"\f508"}.bi-question-octagon:before{content:"\f509"}.bi-question-square-fill:before{content:"\f50a"}.bi-question-square:before{content:"\f50b"}.bi-question:before{content:"\f50c"}.bi-rainbow:before{content:"\f50d"}.bi-receipt-cutoff:before{content:"\f50e"}.bi-receipt:before{content:"\f50f"}.bi-reception-0:before{content:"\f510"}.bi-reception-1:before{content:"\f511"}.bi-reception-2:before{content:"\f512"}.bi-reception-3:before{content:"\f513"}.bi-reception-4:before{content:"\f514"}.bi-record-btn-fill:before{content:"\f515"}.bi-record-btn:before{content:"\f516"}.bi-record-circle-fill:before{content:"\f517"}.bi-record-circle:before{content:"\f518"}.bi-record-fill:before{content:"\f519"}.bi-record:before{content:"\f51a"}.bi-record2-fill:before{content:"\f51b"}.bi-record2:before{content:"\f51c"}.bi-reply-all-fill:before{content:"\f51d"}.bi-reply-all:before{content:"\f51e"}.bi-reply-fill:before{content:"\f51f"}.bi-reply:before{content:"\f520"}.bi-rss-fill:before{content:"\f521"}.bi-rss:before{content:"\f522"}.bi-rulers:before{content:"\f523"}.bi-save-fill:before{content:"\f524"}.bi-save:before{content:"\f525"}.bi-save2-fill:before{content:"\f526"}.bi-save2:before{content:"\f527"}.bi-scissors:before{content:"\f528"}.bi-screwdriver:before{content:"\f529"}.bi-search:before{content:"\f52a"}.bi-segmented-nav:before{content:"\f52b"}.bi-server:before{content:"\f52c"}.bi-share-fill:before{content:"\f52d"}.bi-share:before{content:"\f52e"}.bi-shield-check:before{content:"\f52f"}.bi-shield-exclamation:before{content:"\f530"}.bi-shield-fill-check:before{content:"\f531"}.bi-shield-fill-exclamation:before{content:"\f532"}.bi-shield-fill-minus:before{content:"\f533"}.bi-shield-fill-plus:before{content:"\f534"}.bi-shield-fill-x:before{content:"\f535"}.bi-shield-fill:before{content:"\f536"}.bi-shield-lock-fill:before{content:"\f537"}.bi-shield-lock:before{content:"\f538"}.bi-shield-minus:before{content:"\f539"}.bi-shield-plus:before{content:"\f53a"}.bi-shield-shaded:before{content:"\f53b"}.bi-shield-slash-fill:before{content:"\f53c"}.bi-shield-slash:before{content:"\f53d"}.bi-shield-x:before{content:"\f53e"}.bi-shield:before{content:"\f53f"}.bi-shift-fill:before{content:"\f540"}.bi-shift:before{content:"\f541"}.bi-shop-window:before{content:"\f542"}.bi-shop:before{content:"\f543"}.bi-shuffle:before{content:"\f544"}.bi-signpost-2-fill:before{content:"\f545"}.bi-signpost-2:before{content:"\f546"}.bi-signpost-fill:before{content:"\f547"}.bi-signpost-split-fill:before{content:"\f548"}.bi-signpost-split:before{content:"\f549"}.bi-signpost:before{content:"\f54a"}.bi-sim-fill:before{content:"\f54b"}.bi-sim:before{content:"\f54c"}.bi-skip-backward-btn-fill:before{content:"\f54d"}.bi-skip-backward-btn:before{content:"\f54e"}.bi-skip-backward-circle-fill:before{content:"\f54f"}.bi-skip-backward-circle:before{content:"\f550"}.bi-skip-backward-fill:before{content:"\f551"}.bi-skip-backward:before{content:"\f552"}.bi-skip-end-btn-fill:before{content:"\f553"}.bi-skip-end-btn:before{content:"\f554"}.bi-skip-end-circle-fill:before{content:"\f555"}.bi-skip-end-circle:before{content:"\f556"}.bi-skip-end-fill:before{content:"\f557"}.bi-skip-end:before{content:"\f558"}.bi-skip-forward-btn-fill:before{content:"\f559"}.bi-skip-forward-btn:before{content:"\f55a"}.bi-skip-forward-circle-fill:before{content:"\f55b"}.bi-skip-forward-circle:before{content:"\f55c"}.bi-skip-forward-fill:before{content:"\f55d"}.bi-skip-forward:before{content:"\f55e"}.bi-skip-start-btn-fill:before{content:"\f55f"}.bi-skip-start-btn:before{content:"\f560"}.bi-skip-start-circle-fill:before{content:"\f561"}.bi-skip-start-circle:before{content:"\f562"}.bi-skip-start-fill:before{content:"\f563"}.bi-skip-start:before{content:"\f564"}.bi-slack:before{content:"\f565"}.bi-slash-circle-fill:before{content:"\f566"}.bi-slash-circle:before{content:"\f567"}.bi-slash-square-fill:before{content:"\f568"}.bi-slash-square:before{content:"\f569"}.bi-slash:before{content:"\f56a"}.bi-sliders:before{content:"\f56b"}.bi-smartwatch:before{content:"\f56c"}.bi-snow:before{content:"\f56d"}.bi-snow2:before{content:"\f56e"}.bi-snow3:before{content:"\f56f"}.bi-sort-alpha-down-alt:before{content:"\f570"}.bi-sort-alpha-down:before{content:"\f571"}.bi-sort-alpha-up-alt:before{content:"\f572"}.bi-sort-alpha-up:before{content:"\f573"}.bi-sort-down-alt:before{content:"\f574"}.bi-sort-down:before{content:"\f575"}.bi-sort-numeric-down-alt:before{content:"\f576"}.bi-sort-numeric-down:before{content:"\f577"}.bi-sort-numeric-up-alt:before{content:"\f578"}.bi-sort-numeric-up:before{content:"\f579"}.bi-sort-up-alt:before{content:"\f57a"}.bi-sort-up:before{content:"\f57b"}.bi-soundwave:before{content:"\f57c"}.bi-speaker-fill:before{content:"\f57d"}.bi-speaker:before{content:"\f57e"}.bi-speedometer:before{content:"\f57f"}.bi-speedometer2:before{content:"\f580"}.bi-spellcheck:before{content:"\f581"}.bi-square-fill:before{content:"\f582"}.bi-square-half:before{content:"\f583"}.bi-square:before{content:"\f584"}.bi-stack:before{content:"\f585"}.bi-star-fill:before{content:"\f586"}.bi-star-half:before{content:"\f587"}.bi-star:before{content:"\f588"}.bi-stars:before{content:"\f589"}.bi-stickies-fill:before{content:"\f58a"}.bi-stickies:before{content:"\f58b"}.bi-sticky-fill:before{content:"\f58c"}.bi-sticky:before{content:"\f58d"}.bi-stop-btn-fill:before{content:"\f58e"}.bi-stop-btn:before{content:"\f58f"}.bi-stop-circle-fill:before{content:"\f590"}.bi-stop-circle:before{content:"\f591"}.bi-stop-fill:before{content:"\f592"}.bi-stop:before{content:"\f593"}.bi-stoplights-fill:before{content:"\f594"}.bi-stoplights:before{content:"\f595"}.bi-stopwatch-fill:before{content:"\f596"}.bi-stopwatch:before{content:"\f597"}.bi-subtract:before{content:"\f598"}.bi-suit-club-fill:before{content:"\f599"}.bi-suit-club:before{content:"\f59a"}.bi-suit-diamond-fill:before{content:"\f59b"}.bi-suit-diamond:before{content:"\f59c"}.bi-suit-heart-fill:before{content:"\f59d"}.bi-suit-heart:before{content:"\f59e"}.bi-suit-spade-fill:before{content:"\f59f"}.bi-suit-spade:before{content:"\f5a0"}.bi-sun-fill:before{content:"\f5a1"}.bi-sun:before{content:"\f5a2"}.bi-sunglasses:before{content:"\f5a3"}.bi-sunrise-fill:before{content:"\f5a4"}.bi-sunrise:before{content:"\f5a5"}.bi-sunset-fill:before{content:"\f5a6"}.bi-sunset:before{content:"\f5a7"}.bi-symmetry-horizontal:before{content:"\f5a8"}.bi-symmetry-vertical:before{content:"\f5a9"}.bi-table:before{content:"\f5aa"}.bi-tablet-fill:before{content:"\f5ab"}.bi-tablet-landscape-fill:before{content:"\f5ac"}.bi-tablet-landscape:before{content:"\f5ad"}.bi-tablet:before{content:"\f5ae"}.bi-tag-fill:before{content:"\f5af"}.bi-tag:before{content:"\f5b0"}.bi-tags-fill:before{content:"\f5b1"}.bi-tags:before{content:"\f5b2"}.bi-telegram:before{content:"\f5b3"}.bi-telephone-fill:before{content:"\f5b4"}.bi-telephone-forward-fill:before{content:"\f5b5"}.bi-telephone-forward:before{content:"\f5b6"}.bi-telephone-inbound-fill:before{content:"\f5b7"}.bi-telephone-inbound:before{content:"\f5b8"}.bi-telephone-minus-fill:before{content:"\f5b9"}.bi-telephone-minus:before{content:"\f5ba"}.bi-telephone-outbound-fill:before{content:"\f5bb"}.bi-telephone-outbound:before{content:"\f5bc"}.bi-telephone-plus-fill:before{content:"\f5bd"}.bi-telephone-plus:before{content:"\f5be"}.bi-telephone-x-fill:before{content:"\f5bf"}.bi-telephone-x:before{content:"\f5c0"}.bi-telephone:before{content:"\f5c1"}.bi-terminal-fill:before{content:"\f5c2"}.bi-terminal:before{content:"\f5c3"}.bi-text-center:before{content:"\f5c4"}.bi-text-indent-left:before{content:"\f5c5"}.bi-text-indent-right:before{content:"\f5c6"}.bi-text-left:before{content:"\f5c7"}.bi-text-paragraph:before{content:"\f5c8"}.bi-text-right:before{content:"\f5c9"}.bi-textarea-resize:before{content:"\f5ca"}.bi-textarea-t:before{content:"\f5cb"}.bi-textarea:before{content:"\f5cc"}.bi-thermometer-half:before{content:"\f5cd"}.bi-thermometer-high:before{content:"\f5ce"}.bi-thermometer-low:before{content:"\f5cf"}.bi-thermometer-snow:before{content:"\f5d0"}.bi-thermometer-sun:before{content:"\f5d1"}.bi-thermometer:before{content:"\f5d2"}.bi-three-dots-vertical:before{content:"\f5d3"}.bi-three-dots:before{content:"\f5d4"}.bi-toggle-off:before{content:"\f5d5"}.bi-toggle-on:before{content:"\f5d6"}.bi-toggle2-off:before{content:"\f5d7"}.bi-toggle2-on:before{content:"\f5d8"}.bi-toggles:before{content:"\f5d9"}.bi-toggles2:before{content:"\f5da"}.bi-tools:before{content:"\f5db"}.bi-tornado:before{content:"\f5dc"}.bi-trash-fill:before{content:"\f5dd"}.bi-trash:before{content:"\f5de"}.bi-trash2-fill:before{content:"\f5df"}.bi-trash2:before{content:"\f5e0"}.bi-tree-fill:before{content:"\f5e1"}.bi-tree:before{content:"\f5e2"}.bi-triangle-fill:before{content:"\f5e3"}.bi-triangle-half:before{content:"\f5e4"}.bi-triangle:before{content:"\f5e5"}.bi-trophy-fill:before{content:"\f5e6"}.bi-trophy:before{content:"\f5e7"}.bi-tropical-storm:before{content:"\f5e8"}.bi-truck-flatbed:before{content:"\f5e9"}.bi-truck:before{content:"\f5ea"}.bi-tsunami:before{content:"\f5eb"}.bi-tv-fill:before{content:"\f5ec"}.bi-tv:before{content:"\f5ed"}.bi-twitch:before{content:"\f5ee"}.bi-twitter:before{content:"\f5ef"}.bi-type-bold:before{content:"\f5f0"}.bi-type-h1:before{content:"\f5f1"}.bi-type-h2:before{content:"\f5f2"}.bi-type-h3:before{content:"\f5f3"}.bi-type-italic:before{content:"\f5f4"}.bi-type-strikethrough:before{content:"\f5f5"}.bi-type-underline:before{content:"\f5f6"}.bi-type:before{content:"\f5f7"}.bi-ui-checks-grid:before{content:"\f5f8"}.bi-ui-checks:before{content:"\f5f9"}.bi-ui-radios-grid:before{content:"\f5fa"}.bi-ui-radios:before{content:"\f5fb"}.bi-umbrella-fill:before{content:"\f5fc"}.bi-umbrella:before{content:"\f5fd"}.bi-union:before{content:"\f5fe"}.bi-unlock-fill:before{content:"\f5ff"}.bi-unlock:before{content:"\f600"}.bi-upc-scan:before{content:"\f601"}.bi-upc:before{content:"\f602"}.bi-upload:before{content:"\f603"}.bi-vector-pen:before{content:"\f604"}.bi-view-list:before{content:"\f605"}.bi-view-stacked:before{content:"\f606"}.bi-vinyl-fill:before{content:"\f607"}.bi-vinyl:before{content:"\f608"}.bi-voicemail:before{content:"\f609"}.bi-volume-down-fill:before{content:"\f60a"}.bi-volume-down:before{content:"\f60b"}.bi-volume-mute-fill:before{content:"\f60c"}.bi-volume-mute:before{content:"\f60d"}.bi-volume-off-fill:before{content:"\f60e"}.bi-volume-off:before{content:"\f60f"}.bi-volume-up-fill:before{content:"\f610"}.bi-volume-up:before{content:"\f611"}.bi-vr:before{content:"\f612"}.bi-wallet-fill:before{content:"\f613"}.bi-wallet:before{content:"\f614"}.bi-wallet2:before{content:"\f615"}.bi-watch:before{content:"\f616"}.bi-water:before{content:"\f617"}.bi-whatsapp:before{content:"\f618"}.bi-wifi-1:before{content:"\f619"}.bi-wifi-2:before{content:"\f61a"}.bi-wifi-off:before{content:"\f61b"}.bi-wifi:before{content:"\f61c"}.bi-wind:before{content:"\f61d"}.bi-window-dock:before{content:"\f61e"}.bi-window-sidebar:before{content:"\f61f"}.bi-window:before{content:"\f620"}.bi-wrench:before{content:"\f621"}.bi-x-circle-fill:before{content:"\f622"}.bi-x-circle:before{content:"\f623"}.bi-x-diamond-fill:before{content:"\f624"}.bi-x-diamond:before{content:"\f625"}.bi-x-octagon-fill:before{content:"\f626"}.bi-x-octagon:before{content:"\f627"}.bi-x-square-fill:before{content:"\f628"}.bi-x-square:before{content:"\f629"}.bi-x:before{content:"\f62a"}.bi-youtube:before{content:"\f62b"}.bi-zoom-in:before{content:"\f62c"}.bi-zoom-out:before{content:"\f62d"}.bi-bank:before{content:"\f62e"}.bi-bank2:before{content:"\f62f"}.bi-bell-slash-fill:before{content:"\f630"}.bi-bell-slash:before{content:"\f631"}.bi-cash-coin:before{content:"\f632"}.bi-check-lg:before{content:"\f633"}.bi-coin:before{content:"\f634"}.bi-currency-bitcoin:before{content:"\f635"}.bi-currency-dollar:before{content:"\f636"}.bi-currency-euro:before{content:"\f637"}.bi-currency-exchange:before{content:"\f638"}.bi-currency-pound:before{content:"\f639"}.bi-currency-yen:before{content:"\f63a"}.bi-dash-lg:before{content:"\f63b"}.bi-exclamation-lg:before{content:"\f63c"}.bi-file-earmark-pdf-fill:before{content:"\f63d"}.bi-file-earmark-pdf:before{content:"\f63e"}.bi-file-pdf-fill:before{content:"\f63f"}.bi-file-pdf:before{content:"\f640"}.bi-gender-ambiguous:before{content:"\f641"}.bi-gender-female:before{content:"\f642"}.bi-gender-male:before{content:"\f643"}.bi-gender-trans:before{content:"\f644"}.bi-headset-vr:before{content:"\f645"}.bi-info-lg:before{content:"\f646"}.bi-mastodon:before{content:"\f647"}.bi-messenger:before{content:"\f648"}.bi-piggy-bank-fill:before{content:"\f649"}.bi-piggy-bank:before{content:"\f64a"}.bi-pin-map-fill:before{content:"\f64b"}.bi-pin-map:before{content:"\f64c"}.bi-plus-lg:before{content:"\f64d"}.bi-question-lg:before{content:"\f64e"}.bi-recycle:before{content:"\f64f"}.bi-reddit:before{content:"\f650"}.bi-safe-fill:before{content:"\f651"}.bi-safe2-fill:before{content:"\f652"}.bi-safe2:before{content:"\f653"}.bi-sd-card-fill:before{content:"\f654"}.bi-sd-card:before{content:"\f655"}.bi-skype:before{content:"\f656"}.bi-slash-lg:before{content:"\f657"}.bi-translate:before{content:"\f658"}.bi-x-lg:before{content:"\f659"}.bi-safe:before{content:"\f65a"}.bi-apple:before{content:"\f65b"}.bi-microsoft:before{content:"\f65d"}.bi-windows:before{content:"\f65e"}.bi-behance:before{content:"\f65c"}.bi-dribbble:before{content:"\f65f"}.bi-line:before{content:"\f660"}.bi-medium:before{content:"\f661"}.bi-paypal:before{content:"\f662"}.bi-pinterest:before{content:"\f663"}.bi-signal:before{content:"\f664"}.bi-snapchat:before{content:"\f665"}.bi-spotify:before{content:"\f666"}.bi-stack-overflow:before{content:"\f667"}.bi-strava:before{content:"\f668"}.bi-wordpress:before{content:"\f669"}.bi-vimeo:before{content:"\f66a"}.bi-activity:before{content:"\f66b"}.bi-easel2-fill:before{content:"\f66c"}.bi-easel2:before{content:"\f66d"}.bi-easel3-fill:before{content:"\f66e"}.bi-easel3:before{content:"\f66f"}.bi-fan:before{content:"\f670"}.bi-fingerprint:before{content:"\f671"}.bi-graph-down-arrow:before{content:"\f672"}.bi-graph-up-arrow:before{content:"\f673"}.bi-hypnotize:before{content:"\f674"}.bi-magic:before{content:"\f675"}.bi-person-rolodex:before{content:"\f676"}.bi-person-video:before{content:"\f677"}.bi-person-video2:before{content:"\f678"}.bi-person-video3:before{content:"\f679"}.bi-person-workspace:before{content:"\f67a"}.bi-radioactive:before{content:"\f67b"}.bi-webcam-fill:before{content:"\f67c"}.bi-webcam:before{content:"\f67d"}.bi-yin-yang:before{content:"\f67e"}.bi-bandaid-fill:before{content:"\f680"}.bi-bandaid:before{content:"\f681"}.bi-bluetooth:before{content:"\f682"}.bi-body-text:before{content:"\f683"}.bi-boombox:before{content:"\f684"}.bi-boxes:before{content:"\f685"}.bi-dpad-fill:before{content:"\f686"}.bi-dpad:before{content:"\f687"}.bi-ear-fill:before{content:"\f688"}.bi-ear:before{content:"\f689"}.bi-envelope-check-fill:before{content:"\f68b"}.bi-envelope-check:before{content:"\f68c"}.bi-envelope-dash-fill:before{content:"\f68e"}.bi-envelope-dash:before{content:"\f68f"}.bi-envelope-exclamation-fill:before{content:"\f691"}.bi-envelope-exclamation:before{content:"\f692"}.bi-envelope-plus-fill:before{content:"\f693"}.bi-envelope-plus:before{content:"\f694"}.bi-envelope-slash-fill:before{content:"\f696"}.bi-envelope-slash:before{content:"\f697"}.bi-envelope-x-fill:before{content:"\f699"}.bi-envelope-x:before{content:"\f69a"}.bi-explicit-fill:before{content:"\f69b"}.bi-explicit:before{content:"\f69c"}.bi-git:before{content:"\f69d"}.bi-infinity:before{content:"\f69e"}.bi-list-columns-reverse:before{content:"\f69f"}.bi-list-columns:before{content:"\f6a0"}.bi-meta:before{content:"\f6a1"}.bi-nintendo-switch:before{content:"\f6a4"}.bi-pc-display-horizontal:before{content:"\f6a5"}.bi-pc-display:before{content:"\f6a6"}.bi-pc-horizontal:before{content:"\f6a7"}.bi-pc:before{content:"\f6a8"}.bi-playstation:before{content:"\f6a9"}.bi-plus-slash-minus:before{content:"\f6aa"}.bi-projector-fill:before{content:"\f6ab"}.bi-projector:before{content:"\f6ac"}.bi-qr-code-scan:before{content:"\f6ad"}.bi-qr-code:before{content:"\f6ae"}.bi-quora:before{content:"\f6af"}.bi-quote:before{content:"\f6b0"}.bi-robot:before{content:"\f6b1"}.bi-send-check-fill:before{content:"\f6b2"}.bi-send-check:before{content:"\f6b3"}.bi-send-dash-fill:before{content:"\f6b4"}.bi-send-dash:before{content:"\f6b5"}.bi-send-exclamation-fill:before{content:"\f6b7"}.bi-send-exclamation:before{content:"\f6b8"}.bi-send-fill:before{content:"\f6b9"}.bi-send-plus-fill:before{content:"\f6ba"}.bi-send-plus:before{content:"\f6bb"}.bi-send-slash-fill:before{content:"\f6bc"}.bi-send-slash:before{content:"\f6bd"}.bi-send-x-fill:before{content:"\f6be"}.bi-send-x:before{content:"\f6bf"}.bi-send:before{content:"\f6c0"}.bi-steam:before{content:"\f6c1"}.bi-terminal-dash:before{content:"\f6c3"}.bi-terminal-plus:before{content:"\f6c4"}.bi-terminal-split:before{content:"\f6c5"}.bi-ticket-detailed-fill:before{content:"\f6c6"}.bi-ticket-detailed:before{content:"\f6c7"}.bi-ticket-fill:before{content:"\f6c8"}.bi-ticket-perforated-fill:before{content:"\f6c9"}.bi-ticket-perforated:before{content:"\f6ca"}.bi-ticket:before{content:"\f6cb"}.bi-tiktok:before{content:"\f6cc"}.bi-window-dash:before{content:"\f6cd"}.bi-window-desktop:before{content:"\f6ce"}.bi-window-fullscreen:before{content:"\f6cf"}.bi-window-plus:before{content:"\f6d0"}.bi-window-split:before{content:"\f6d1"}.bi-window-stack:before{content:"\f6d2"}.bi-window-x:before{content:"\f6d3"}.bi-xbox:before{content:"\f6d4"}.bi-ethernet:before{content:"\f6d5"}.bi-hdmi-fill:before{content:"\f6d6"}.bi-hdmi:before{content:"\f6d7"}.bi-usb-c-fill:before{content:"\f6d8"}.bi-usb-c:before{content:"\f6d9"}.bi-usb-fill:before{content:"\f6da"}.bi-usb-plug-fill:before{content:"\f6db"}.bi-usb-plug:before{content:"\f6dc"}.bi-usb-symbol:before{content:"\f6dd"}.bi-usb:before{content:"\f6de"}.bi-boombox-fill:before{content:"\f6df"}.bi-displayport:before{content:"\f6e1"}.bi-gpu-card:before{content:"\f6e2"}.bi-memory:before{content:"\f6e3"}.bi-modem-fill:before{content:"\f6e4"}.bi-modem:before{content:"\f6e5"}.bi-motherboard-fill:before{content:"\f6e6"}.bi-motherboard:before{content:"\f6e7"}.bi-optical-audio-fill:before{content:"\f6e8"}.bi-optical-audio:before{content:"\f6e9"}.bi-pci-card:before{content:"\f6ea"}.bi-router-fill:before{content:"\f6eb"}.bi-router:before{content:"\f6ec"}.bi-thunderbolt-fill:before{content:"\f6ef"}.bi-thunderbolt:before{content:"\f6f0"}.bi-usb-drive-fill:before{content:"\f6f1"}.bi-usb-drive:before{content:"\f6f2"}.bi-usb-micro-fill:before{content:"\f6f3"}.bi-usb-micro:before{content:"\f6f4"}.bi-usb-mini-fill:before{content:"\f6f5"}.bi-usb-mini:before{content:"\f6f6"}.bi-cloud-haze2:before{content:"\f6f7"}.bi-device-hdd-fill:before{content:"\f6f8"}.bi-device-hdd:before{content:"\f6f9"}.bi-device-ssd-fill:before{content:"\f6fa"}.bi-device-ssd:before{content:"\f6fb"}.bi-displayport-fill:before{content:"\f6fc"}.bi-mortarboard-fill:before{content:"\f6fd"}.bi-mortarboard:before{content:"\f6fe"}.bi-terminal-x:before{content:"\f6ff"}.bi-arrow-through-heart-fill:before{content:"\f700"}.bi-arrow-through-heart:before{content:"\f701"}.bi-badge-sd-fill:before{content:"\f702"}.bi-badge-sd:before{content:"\f703"}.bi-bag-heart-fill:before{content:"\f704"}.bi-bag-heart:before{content:"\f705"}.bi-balloon-fill:before{content:"\f706"}.bi-balloon-heart-fill:before{content:"\f707"}.bi-balloon-heart:before{content:"\f708"}.bi-balloon:before{content:"\f709"}.bi-box2-fill:before{content:"\f70a"}.bi-box2-heart-fill:before{content:"\f70b"}.bi-box2-heart:before{content:"\f70c"}.bi-box2:before{content:"\f70d"}.bi-braces-asterisk:before{content:"\f70e"}.bi-calendar-heart-fill:before{content:"\f70f"}.bi-calendar-heart:before{content:"\f710"}.bi-calendar2-heart-fill:before{content:"\f711"}.bi-calendar2-heart:before{content:"\f712"}.bi-chat-heart-fill:before{content:"\f713"}.bi-chat-heart:before{content:"\f714"}.bi-chat-left-heart-fill:before{content:"\f715"}.bi-chat-left-heart:before{content:"\f716"}.bi-chat-right-heart-fill:before{content:"\f717"}.bi-chat-right-heart:before{content:"\f718"}.bi-chat-square-heart-fill:before{content:"\f719"}.bi-chat-square-heart:before{content:"\f71a"}.bi-clipboard-check-fill:before{content:"\f71b"}.bi-clipboard-data-fill:before{content:"\f71c"}.bi-clipboard-fill:before{content:"\f71d"}.bi-clipboard-heart-fill:before{content:"\f71e"}.bi-clipboard-heart:before{content:"\f71f"}.bi-clipboard-minus-fill:before{content:"\f720"}.bi-clipboard-plus-fill:before{content:"\f721"}.bi-clipboard-pulse:before{content:"\f722"}.bi-clipboard-x-fill:before{content:"\f723"}.bi-clipboard2-check-fill:before{content:"\f724"}.bi-clipboard2-check:before{content:"\f725"}.bi-clipboard2-data-fill:before{content:"\f726"}.bi-clipboard2-data:before{content:"\f727"}.bi-clipboard2-fill:before{content:"\f728"}.bi-clipboard2-heart-fill:before{content:"\f729"}.bi-clipboard2-heart:before{content:"\f72a"}.bi-clipboard2-minus-fill:before{content:"\f72b"}.bi-clipboard2-minus:before{content:"\f72c"}.bi-clipboard2-plus-fill:before{content:"\f72d"}.bi-clipboard2-plus:before{content:"\f72e"}.bi-clipboard2-pulse-fill:before{content:"\f72f"}.bi-clipboard2-pulse:before{content:"\f730"}.bi-clipboard2-x-fill:before{content:"\f731"}.bi-clipboard2-x:before{content:"\f732"}.bi-clipboard2:before{content:"\f733"}.bi-emoji-kiss-fill:before{content:"\f734"}.bi-emoji-kiss:before{content:"\f735"}.bi-envelope-heart-fill:before{content:"\f736"}.bi-envelope-heart:before{content:"\f737"}.bi-envelope-open-heart-fill:before{content:"\f738"}.bi-envelope-open-heart:before{content:"\f739"}.bi-envelope-paper-fill:before{content:"\f73a"}.bi-envelope-paper-heart-fill:before{content:"\f73b"}.bi-envelope-paper-heart:before{content:"\f73c"}.bi-envelope-paper:before{content:"\f73d"}.bi-filetype-aac:before{content:"\f73e"}.bi-filetype-ai:before{content:"\f73f"}.bi-filetype-bmp:before{content:"\f740"}.bi-filetype-cs:before{content:"\f741"}.bi-filetype-css:before{content:"\f742"}.bi-filetype-csv:before{content:"\f743"}.bi-filetype-doc:before{content:"\f744"}.bi-filetype-docx:before{content:"\f745"}.bi-filetype-exe:before{content:"\f746"}.bi-filetype-gif:before{content:"\f747"}.bi-filetype-heic:before{content:"\f748"}.bi-filetype-html:before{content:"\f749"}.bi-filetype-java:before{content:"\f74a"}.bi-filetype-jpg:before{content:"\f74b"}.bi-filetype-js:before{content:"\f74c"}.bi-filetype-jsx:before{content:"\f74d"}.bi-filetype-key:before{content:"\f74e"}.bi-filetype-m4p:before{content:"\f74f"}.bi-filetype-md:before{content:"\f750"}.bi-filetype-mdx:before{content:"\f751"}.bi-filetype-mov:before{content:"\f752"}.bi-filetype-mp3:before{content:"\f753"}.bi-filetype-mp4:before{content:"\f754"}.bi-filetype-otf:before{content:"\f755"}.bi-filetype-pdf:before{content:"\f756"}.bi-filetype-php:before{content:"\f757"}.bi-filetype-png:before{content:"\f758"}.bi-filetype-ppt:before{content:"\f75a"}.bi-filetype-psd:before{content:"\f75b"}.bi-filetype-py:before{content:"\f75c"}.bi-filetype-raw:before{content:"\f75d"}.bi-filetype-rb:before{content:"\f75e"}.bi-filetype-sass:before{content:"\f75f"}.bi-filetype-scss:before{content:"\f760"}.bi-filetype-sh:before{content:"\f761"}.bi-filetype-svg:before{content:"\f762"}.bi-filetype-tiff:before{content:"\f763"}.bi-filetype-tsx:before{content:"\f764"}.bi-filetype-ttf:before{content:"\f765"}.bi-filetype-txt:before{content:"\f766"}.bi-filetype-wav:before{content:"\f767"}.bi-filetype-woff:before{content:"\f768"}.bi-filetype-xls:before{content:"\f76a"}.bi-filetype-xml:before{content:"\f76b"}.bi-filetype-yml:before{content:"\f76c"}.bi-heart-arrow:before{content:"\f76d"}.bi-heart-pulse-fill:before{content:"\f76e"}.bi-heart-pulse:before{content:"\f76f"}.bi-heartbreak-fill:before{content:"\f770"}.bi-heartbreak:before{content:"\f771"}.bi-hearts:before{content:"\f772"}.bi-hospital-fill:before{content:"\f773"}.bi-hospital:before{content:"\f774"}.bi-house-heart-fill:before{content:"\f775"}.bi-house-heart:before{content:"\f776"}.bi-incognito:before{content:"\f777"}.bi-magnet-fill:before{content:"\f778"}.bi-magnet:before{content:"\f779"}.bi-person-heart:before{content:"\f77a"}.bi-person-hearts:before{content:"\f77b"}.bi-phone-flip:before{content:"\f77c"}.bi-plugin:before{content:"\f77d"}.bi-postage-fill:before{content:"\f77e"}.bi-postage-heart-fill:before{content:"\f77f"}.bi-postage-heart:before{content:"\f780"}.bi-postage:before{content:"\f781"}.bi-postcard-fill:before{content:"\f782"}.bi-postcard-heart-fill:before{content:"\f783"}.bi-postcard-heart:before{content:"\f784"}.bi-postcard:before{content:"\f785"}.bi-search-heart-fill:before{content:"\f786"}.bi-search-heart:before{content:"\f787"}.bi-sliders2-vertical:before{content:"\f788"}.bi-sliders2:before{content:"\f789"}.bi-trash3-fill:before{content:"\f78a"}.bi-trash3:before{content:"\f78b"}.bi-valentine:before{content:"\f78c"}.bi-valentine2:before{content:"\f78d"}.bi-wrench-adjustable-circle-fill:before{content:"\f78e"}.bi-wrench-adjustable-circle:before{content:"\f78f"}.bi-wrench-adjustable:before{content:"\f790"}.bi-filetype-json:before{content:"\f791"}.bi-filetype-pptx:before{content:"\f792"}.bi-filetype-xlsx:before{content:"\f793"}.bi-1-circle-fill:before{content:"\f796"}.bi-1-circle:before{content:"\f797"}.bi-1-square-fill:before{content:"\f798"}.bi-1-square:before{content:"\f799"}.bi-2-circle-fill:before{content:"\f79c"}.bi-2-circle:before{content:"\f79d"}.bi-2-square-fill:before{content:"\f79e"}.bi-2-square:before{content:"\f79f"}.bi-3-circle-fill:before{content:"\f7a2"}.bi-3-circle:before{content:"\f7a3"}.bi-3-square-fill:before{content:"\f7a4"}.bi-3-square:before{content:"\f7a5"}.bi-4-circle-fill:before{content:"\f7a8"}.bi-4-circle:before{content:"\f7a9"}.bi-4-square-fill:before{content:"\f7aa"}.bi-4-square:before{content:"\f7ab"}.bi-5-circle-fill:before{content:"\f7ae"}.bi-5-circle:before{content:"\f7af"}.bi-5-square-fill:before{content:"\f7b0"}.bi-5-square:before{content:"\f7b1"}.bi-6-circle-fill:before{content:"\f7b4"}.bi-6-circle:before{content:"\f7b5"}.bi-6-square-fill:before{content:"\f7b6"}.bi-6-square:before{content:"\f7b7"}.bi-7-circle-fill:before{content:"\f7ba"}.bi-7-circle:before{content:"\f7bb"}.bi-7-square-fill:before{content:"\f7bc"}.bi-7-square:before{content:"\f7bd"}.bi-8-circle-fill:before{content:"\f7c0"}.bi-8-circle:before{content:"\f7c1"}.bi-8-square-fill:before{content:"\f7c2"}.bi-8-square:before{content:"\f7c3"}.bi-9-circle-fill:before{content:"\f7c6"}.bi-9-circle:before{content:"\f7c7"}.bi-9-square-fill:before{content:"\f7c8"}.bi-9-square:before{content:"\f7c9"}.bi-airplane-engines-fill:before{content:"\f7ca"}.bi-airplane-engines:before{content:"\f7cb"}.bi-airplane-fill:before{content:"\f7cc"}.bi-airplane:before{content:"\f7cd"}.bi-alexa:before{content:"\f7ce"}.bi-alipay:before{content:"\f7cf"}.bi-android:before{content:"\f7d0"}.bi-android2:before{content:"\f7d1"}.bi-box-fill:before{content:"\f7d2"}.bi-box-seam-fill:before{content:"\f7d3"}.bi-browser-chrome:before{content:"\f7d4"}.bi-browser-edge:before{content:"\f7d5"}.bi-browser-firefox:before{content:"\f7d6"}.bi-browser-safari:before{content:"\f7d7"}.bi-c-circle-fill:before{content:"\f7da"}.bi-c-circle:before{content:"\f7db"}.bi-c-square-fill:before{content:"\f7dc"}.bi-c-square:before{content:"\f7dd"}.bi-capsule-pill:before{content:"\f7de"}.bi-capsule:before{content:"\f7df"}.bi-car-front-fill:before{content:"\f7e0"}.bi-car-front:before{content:"\f7e1"}.bi-cassette-fill:before{content:"\f7e2"}.bi-cassette:before{content:"\f7e3"}.bi-cc-circle-fill:before{content:"\f7e6"}.bi-cc-circle:before{content:"\f7e7"}.bi-cc-square-fill:before{content:"\f7e8"}.bi-cc-square:before{content:"\f7e9"}.bi-cup-hot-fill:before{content:"\f7ea"}.bi-cup-hot:before{content:"\f7eb"}.bi-currency-rupee:before{content:"\f7ec"}.bi-dropbox:before{content:"\f7ed"}.bi-escape:before{content:"\f7ee"}.bi-fast-forward-btn-fill:before{content:"\f7ef"}.bi-fast-forward-btn:before{content:"\f7f0"}.bi-fast-forward-circle-fill:before{content:"\f7f1"}.bi-fast-forward-circle:before{content:"\f7f2"}.bi-fast-forward-fill:before{content:"\f7f3"}.bi-fast-forward:before{content:"\f7f4"}.bi-filetype-sql:before{content:"\f7f5"}.bi-fire:before{content:"\f7f6"}.bi-google-play:before{content:"\f7f7"}.bi-h-circle-fill:before{content:"\f7fa"}.bi-h-circle:before{content:"\f7fb"}.bi-h-square-fill:before{content:"\f7fc"}.bi-h-square:before{content:"\f7fd"}.bi-indent:before{content:"\f7fe"}.bi-lungs-fill:before{content:"\f7ff"}.bi-lungs:before{content:"\f800"}.bi-microsoft-teams:before{content:"\f801"}.bi-p-circle-fill:before{content:"\f804"}.bi-p-circle:before{content:"\f805"}.bi-p-square-fill:before{content:"\f806"}.bi-p-square:before{content:"\f807"}.bi-pass-fill:before{content:"\f808"}.bi-pass:before{content:"\f809"}.bi-prescription:before{content:"\f80a"}.bi-prescription2:before{content:"\f80b"}.bi-r-circle-fill:before{content:"\f80e"}.bi-r-circle:before{content:"\f80f"}.bi-r-square-fill:before{content:"\f810"}.bi-r-square:before{content:"\f811"}.bi-repeat-1:before{content:"\f812"}.bi-repeat:before{content:"\f813"}.bi-rewind-btn-fill:before{content:"\f814"}.bi-rewind-btn:before{content:"\f815"}.bi-rewind-circle-fill:before{content:"\f816"}.bi-rewind-circle:before{content:"\f817"}.bi-rewind-fill:before{content:"\f818"}.bi-rewind:before{content:"\f819"}.bi-train-freight-front-fill:before{content:"\f81a"}.bi-train-freight-front:before{content:"\f81b"}.bi-train-front-fill:before{content:"\f81c"}.bi-train-front:before{content:"\f81d"}.bi-train-lightrail-front-fill:before{content:"\f81e"}.bi-train-lightrail-front:before{content:"\f81f"}.bi-truck-front-fill:before{content:"\f820"}.bi-truck-front:before{content:"\f821"}.bi-ubuntu:before{content:"\f822"}.bi-unindent:before{content:"\f823"}.bi-unity:before{content:"\f824"}.bi-universal-access-circle:before{content:"\f825"}.bi-universal-access:before{content:"\f826"}.bi-virus:before{content:"\f827"}.bi-virus2:before{content:"\f828"}.bi-wechat:before{content:"\f829"}.bi-yelp:before{content:"\f82a"}.bi-sign-stop-fill:before{content:"\f82b"}.bi-sign-stop-lights-fill:before{content:"\f82c"}.bi-sign-stop-lights:before{content:"\f82d"}.bi-sign-stop:before{content:"\f82e"}.bi-sign-turn-left-fill:before{content:"\f82f"}.bi-sign-turn-left:before{content:"\f830"}.bi-sign-turn-right-fill:before{content:"\f831"}.bi-sign-turn-right:before{content:"\f832"}.bi-sign-turn-slight-left-fill:before{content:"\f833"}.bi-sign-turn-slight-left:before{content:"\f834"}.bi-sign-turn-slight-right-fill:before{content:"\f835"}.bi-sign-turn-slight-right:before{content:"\f836"}.bi-sign-yield-fill:before{content:"\f837"}.bi-sign-yield:before{content:"\f838"}.bi-ev-station-fill:before{content:"\f839"}.bi-ev-station:before{content:"\f83a"}.bi-fuel-pump-diesel-fill:before{content:"\f83b"}.bi-fuel-pump-diesel:before{content:"\f83c"}.bi-fuel-pump-fill:before{content:"\f83d"}.bi-fuel-pump:before{content:"\f83e"}.bi-0-circle-fill:before{content:"\f83f"}.bi-0-circle:before{content:"\f840"}.bi-0-square-fill:before{content:"\f841"}.bi-0-square:before{content:"\f842"}.bi-rocket-fill:before{content:"\f843"}.bi-rocket-takeoff-fill:before{content:"\f844"}.bi-rocket-takeoff:before{content:"\f845"}.bi-rocket:before{content:"\f846"}.bi-stripe:before{content:"\f847"}.bi-subscript:before{content:"\f848"}.bi-superscript:before{content:"\f849"}.bi-trello:before{content:"\f84a"}.bi-envelope-at-fill:before{content:"\f84b"}.bi-envelope-at:before{content:"\f84c"}.bi-regex:before{content:"\f84d"}.bi-text-wrap:before{content:"\f84e"}.bi-sign-dead-end-fill:before{content:"\f84f"}.bi-sign-dead-end:before{content:"\f850"}.bi-sign-do-not-enter-fill:before{content:"\f851"}.bi-sign-do-not-enter:before{content:"\f852"}.bi-sign-intersection-fill:before{content:"\f853"}.bi-sign-intersection-side-fill:before{content:"\f854"}.bi-sign-intersection-side:before{content:"\f855"}.bi-sign-intersection-t-fill:before{content:"\f856"}.bi-sign-intersection-t:before{content:"\f857"}.bi-sign-intersection-y-fill:before{content:"\f858"}.bi-sign-intersection-y:before{content:"\f859"}.bi-sign-intersection:before{content:"\f85a"}.bi-sign-merge-left-fill:before{content:"\f85b"}.bi-sign-merge-left:before{content:"\f85c"}.bi-sign-merge-right-fill:before{content:"\f85d"}.bi-sign-merge-right:before{content:"\f85e"}.bi-sign-no-left-turn-fill:before{content:"\f85f"}.bi-sign-no-left-turn:before{content:"\f860"}.bi-sign-no-parking-fill:before{content:"\f861"}.bi-sign-no-parking:before{content:"\f862"}.bi-sign-no-right-turn-fill:before{content:"\f863"}.bi-sign-no-right-turn:before{content:"\f864"}.bi-sign-railroad-fill:before{content:"\f865"}.bi-sign-railroad:before{content:"\f866"}.bi-building-add:before{content:"\f867"}.bi-building-check:before{content:"\f868"}.bi-building-dash:before{content:"\f869"}.bi-building-down:before{content:"\f86a"}.bi-building-exclamation:before{content:"\f86b"}.bi-building-fill-add:before{content:"\f86c"}.bi-building-fill-check:before{content:"\f86d"}.bi-building-fill-dash:before{content:"\f86e"}.bi-building-fill-down:before{content:"\f86f"}.bi-building-fill-exclamation:before{content:"\f870"}.bi-building-fill-gear:before{content:"\f871"}.bi-building-fill-lock:before{content:"\f872"}.bi-building-fill-slash:before{content:"\f873"}.bi-building-fill-up:before{content:"\f874"}.bi-building-fill-x:before{content:"\f875"}.bi-building-fill:before{content:"\f876"}.bi-building-gear:before{content:"\f877"}.bi-building-lock:before{content:"\f878"}.bi-building-slash:before{content:"\f879"}.bi-building-up:before{content:"\f87a"}.bi-building-x:before{content:"\f87b"}.bi-buildings-fill:before{content:"\f87c"}.bi-buildings:before{content:"\f87d"}.bi-bus-front-fill:before{content:"\f87e"}.bi-bus-front:before{content:"\f87f"}.bi-ev-front-fill:before{content:"\f880"}.bi-ev-front:before{content:"\f881"}.bi-globe-americas:before{content:"\f882"}.bi-globe-asia-australia:before{content:"\f883"}.bi-globe-central-south-asia:before{content:"\f884"}.bi-globe-europe-africa:before{content:"\f885"}.bi-house-add-fill:before{content:"\f886"}.bi-house-add:before{content:"\f887"}.bi-house-check-fill:before{content:"\f888"}.bi-house-check:before{content:"\f889"}.bi-house-dash-fill:before{content:"\f88a"}.bi-house-dash:before{content:"\f88b"}.bi-house-down-fill:before{content:"\f88c"}.bi-house-down:before{content:"\f88d"}.bi-house-exclamation-fill:before{content:"\f88e"}.bi-house-exclamation:before{content:"\f88f"}.bi-house-gear-fill:before{content:"\f890"}.bi-house-gear:before{content:"\f891"}.bi-house-lock-fill:before{content:"\f892"}.bi-house-lock:before{content:"\f893"}.bi-house-slash-fill:before{content:"\f894"}.bi-house-slash:before{content:"\f895"}.bi-house-up-fill:before{content:"\f896"}.bi-house-up:before{content:"\f897"}.bi-house-x-fill:before{content:"\f898"}.bi-house-x:before{content:"\f899"}.bi-person-add:before{content:"\f89a"}.bi-person-down:before{content:"\f89b"}.bi-person-exclamation:before{content:"\f89c"}.bi-person-fill-add:before{content:"\f89d"}.bi-person-fill-check:before{content:"\f89e"}.bi-person-fill-dash:before{content:"\f89f"}.bi-person-fill-down:before{content:"\f8a0"}.bi-person-fill-exclamation:before{content:"\f8a1"}.bi-person-fill-gear:before{content:"\f8a2"}.bi-person-fill-lock:before{content:"\f8a3"}.bi-person-fill-slash:before{content:"\f8a4"}.bi-person-fill-up:before{content:"\f8a5"}.bi-person-fill-x:before{content:"\f8a6"}.bi-person-gear:before{content:"\f8a7"}.bi-person-lock:before{content:"\f8a8"}.bi-person-slash:before{content:"\f8a9"}.bi-person-up:before{content:"\f8aa"}.bi-scooter:before{content:"\f8ab"}.bi-taxi-front-fill:before{content:"\f8ac"}.bi-taxi-front:before{content:"\f8ad"}.bi-amd:before{content:"\f8ae"}.bi-database-add:before{content:"\f8af"}.bi-database-check:before{content:"\f8b0"}.bi-database-dash:before{content:"\f8b1"}.bi-database-down:before{content:"\f8b2"}.bi-database-exclamation:before{content:"\f8b3"}.bi-database-fill-add:before{content:"\f8b4"}.bi-database-fill-check:before{content:"\f8b5"}.bi-database-fill-dash:before{content:"\f8b6"}.bi-database-fill-down:before{content:"\f8b7"}.bi-database-fill-exclamation:before{content:"\f8b8"}.bi-database-fill-gear:before{content:"\f8b9"}.bi-database-fill-lock:before{content:"\f8ba"}.bi-database-fill-slash:before{content:"\f8bb"}.bi-database-fill-up:before{content:"\f8bc"}.bi-database-fill-x:before{content:"\f8bd"}.bi-database-fill:before{content:"\f8be"}.bi-database-gear:before{content:"\f8bf"}.bi-database-lock:before{content:"\f8c0"}.bi-database-slash:before{content:"\f8c1"}.bi-database-up:before{content:"\f8c2"}.bi-database-x:before{content:"\f8c3"}.bi-database:before{content:"\f8c4"}.bi-houses-fill:before{content:"\f8c5"}.bi-houses:before{content:"\f8c6"}.bi-nvidia:before{content:"\f8c7"}.bi-person-vcard-fill:before{content:"\f8c8"}.bi-person-vcard:before{content:"\f8c9"}.bi-sina-weibo:before{content:"\f8ca"}.bi-tencent-qq:before{content:"\f8cb"}.bi-wikipedia:before{content:"\f8cc"}.bi-alphabet-uppercase:before{content:"\f2a5"}.bi-alphabet:before{content:"\f68a"}.bi-amazon:before{content:"\f68d"}.bi-arrows-collapse-vertical:before{content:"\f690"}.bi-arrows-expand-vertical:before{content:"\f695"}.bi-arrows-vertical:before{content:"\f698"}.bi-arrows:before{content:"\f6a2"}.bi-ban-fill:before{content:"\f6a3"}.bi-ban:before{content:"\f6b6"}.bi-bing:before{content:"\f6c2"}.bi-cake:before{content:"\f6e0"}.bi-cake2:before{content:"\f6ed"}.bi-cookie:before{content:"\f6ee"}.bi-copy:before{content:"\f759"}.bi-crosshair:before{content:"\f769"}.bi-crosshair2:before{content:"\f794"}.bi-emoji-astonished-fill:before{content:"\f795"}.bi-emoji-astonished:before{content:"\f79a"}.bi-emoji-grimace-fill:before{content:"\f79b"}.bi-emoji-grimace:before{content:"\f7a0"}.bi-emoji-grin-fill:before{content:"\f7a1"}.bi-emoji-grin:before{content:"\f7a6"}.bi-emoji-surprise-fill:before{content:"\f7a7"}.bi-emoji-surprise:before{content:"\f7ac"}.bi-emoji-tear-fill:before{content:"\f7ad"}.bi-emoji-tear:before{content:"\f7b2"}.bi-envelope-arrow-down-fill:before{content:"\f7b3"}.bi-envelope-arrow-down:before{content:"\f7b8"}.bi-envelope-arrow-up-fill:before{content:"\f7b9"}.bi-envelope-arrow-up:before{content:"\f7be"}.bi-feather:before{content:"\f7bf"}.bi-feather2:before{content:"\f7c4"}.bi-floppy-fill:before{content:"\f7c5"}.bi-floppy:before{content:"\f7d8"}.bi-floppy2-fill:before{content:"\f7d9"}.bi-floppy2:before{content:"\f7e4"}.bi-gitlab:before{content:"\f7e5"}.bi-highlighter:before{content:"\f7f8"}.bi-marker-tip:before{content:"\f802"}.bi-nvme-fill:before{content:"\f803"}.bi-nvme:before{content:"\f80c"}.bi-opencollective:before{content:"\f80d"}.bi-pci-card-network:before{content:"\f8cd"}.bi-pci-card-sound:before{content:"\f8ce"}.bi-radar:before{content:"\f8cf"}.bi-send-arrow-down-fill:before{content:"\f8d0"}.bi-send-arrow-down:before{content:"\f8d1"}.bi-send-arrow-up-fill:before{content:"\f8d2"}.bi-send-arrow-up:before{content:"\f8d3"}.bi-sim-slash-fill:before{content:"\f8d4"}.bi-sim-slash:before{content:"\f8d5"}.bi-sourceforge:before{content:"\f8d6"}.bi-substack:before{content:"\f8d7"}.bi-threads-fill:before{content:"\f8d8"}.bi-threads:before{content:"\f8d9"}.bi-transparency:before{content:"\f8da"}.bi-twitter-x:before{content:"\f8db"}.bi-type-h4:before{content:"\f8dc"}.bi-type-h5:before{content:"\f8dd"}.bi-type-h6:before{content:"\f8de"}.bi-backpack-fill:before{content:"\f8df"}.bi-backpack:before{content:"\f8e0"}.bi-backpack2-fill:before{content:"\f8e1"}.bi-backpack2:before{content:"\f8e2"}.bi-backpack3-fill:before{content:"\f8e3"}.bi-backpack3:before{content:"\f8e4"}.bi-backpack4-fill:before{content:"\f8e5"}.bi-backpack4:before{content:"\f8e6"}.bi-brilliance:before{content:"\f8e7"}.bi-cake-fill:before{content:"\f8e8"}.bi-cake2-fill:before{content:"\f8e9"}.bi-duffle-fill:before{content:"\f8ea"}.bi-duffle:before{content:"\f8eb"}.bi-exposure:before{content:"\f8ec"}.bi-gender-neuter:before{content:"\f8ed"}.bi-highlights:before{content:"\f8ee"}.bi-luggage-fill:before{content:"\f8ef"}.bi-luggage:before{content:"\f8f0"}.bi-mailbox-flag:before{content:"\f8f1"}.bi-mailbox2-flag:before{content:"\f8f2"}.bi-noise-reduction:before{content:"\f8f3"}.bi-passport-fill:before{content:"\f8f4"}.bi-passport:before{content:"\f8f5"}.bi-person-arms-up:before{content:"\f8f6"}.bi-person-raised-hand:before{content:"\f8f7"}.bi-person-standing-dress:before{content:"\f8f8"}.bi-person-standing:before{content:"\f8f9"}.bi-person-walking:before{content:"\f8fa"}.bi-person-wheelchair:before{content:"\f8fb"}.bi-shadows:before{content:"\f8fc"}.bi-suitcase-fill:before{content:"\f8fd"}.bi-suitcase-lg-fill:before{content:"\f8fe"}.bi-suitcase-lg:before{content:"\f8ff"}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.bi-bluesky:before{content:"\f7f9"}.bi-tux:before{content:"滑"}.bi-beaker-fill:before{content:"串"}.bi-beaker:before{content:"句"}.bi-flask-fill:before{content:"龜"}.bi-flask-florence-fill:before{content:"龜"}.bi-flask-florence:before{content:"契"}.bi-flask:before{content:"金"}.bi-leaf-fill:before{content:"喇"}.bi-leaf:before{content:"奈"}.bi-measuring-cup-fill:before{content:"懶"}.bi-measuring-cup:before{content:"癩"}.bi-unlock2-fill:before{content:"羅"}.bi-unlock2:before{content:"蘿"}.bi-battery-low:before{content:"螺"}.bi-anthropic:before{content:"裸"}.bi-apple-music:before{content:"邏"}.bi-claude:before{content:"樂"}.bi-openai:before{content:"洛"}.bi-perplexity:before{content:"烙"}.bi-css:before{content:"珞"}.bi-javascript:before{content:"落"}.bi-typescript:before{content:"酪"}.bi-fork-knife:before{content:"駱"}.bi-globe-americas-fill:before{content:"亂"}.bi-globe-asia-australia-fill:before{content:"卵"}.bi-globe-central-south-asia-fill:before{content:"欄"}.bi-globe-europe-africa-fill:before{content:"爛"}:root{--dt-row-selected:13,110,253;--dt-row-selected-text:255,255,255;--dt-row-selected-link:9,10,11;--dt-row-stripe:0,0,0;--dt-row-hover:0,0,0;--dt-column-ordering:0,0,0;--dt-html-background:#fff}:root.dark{--dt-html-background:#212529}table.dataTable td.dt-control{cursor:pointer;text-align:center}table.dataTable td.dt-control:before{color:rgba(0,0,0,.5);content:"▶";display:inline-block}table.dataTable tr.dt-hasChild td.dt-control:before{content:"▼"}:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,html.dark table.dataTable td.dt-control:before,html.dark table.dataTable tr.dt-hasChild td.dt-control:before{color:hsla(0,0%,100%,.5)}table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_asc_disabled,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting_desc_disabled,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_asc_disabled,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting_desc_disabled{cursor:pointer;padding-right:26px;position:relative}table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:before{display:block;font-size:.8em;line-height:9px;opacity:.125;position:absolute;right:10px}table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc_disabled:before{bottom:50%;content:"▲";content:"▲"/""}table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_desc_disabled:after{content:"▼";content:"▼"/"";top:50%}table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:after{opacity:.6}table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:after{display:none}table.dataTable thead>tr>td:active,table.dataTable thead>tr>th:active{outline:none}div.dataTables_scrollBody>table.dataTable>thead>tr>td:after,div.dataTables_scrollBody>table.dataTable>thead>tr>td:before,div.dataTables_scrollBody>table.dataTable>thead>tr>th:after,div.dataTables_scrollBody>table.dataTable>thead>tr>th:before{display:none}div.dataTables_processing{left:50%;margin-left:-100px;margin-top:-26px;padding:2px;position:absolute;text-align:center;top:50%;width:200px;z-index:10}div.dataTables_processing>div:last-child{height:15px;margin:1em auto;position:relative;width:80px}div.dataTables_processing>div:last-child>div{animation-timing-function:cubic-bezier(0,1,1,0);background:#0d6efd;background:rgb(var(--dt-row-selected));border-radius:50%;height:13px;position:absolute;top:0;width:13px}div.dataTables_processing>div:last-child>div:first-child{animation:datatables-loader-1 .6s infinite;left:8px}div.dataTables_processing>div:last-child>div:nth-child(2){animation:datatables-loader-2 .6s infinite;left:8px}div.dataTables_processing>div:last-child>div:nth-child(3){animation:datatables-loader-2 .6s infinite;left:32px}div.dataTables_processing>div:last-child>div:nth-child(4){animation:datatables-loader-3 .6s infinite;left:56px}@keyframes datatables-loader-1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0)}to{transform:translate(24px)}}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable td.dt-left,table.dataTable th.dt-left{text-align:left}table.dataTable td.dataTables_empty,table.dataTable td.dt-center,table.dataTable th.dt-center{text-align:center}table.dataTable td.dt-right,table.dataTable th.dt-right{text-align:right}table.dataTable td.dt-justify,table.dataTable th.dt-justify{text-align:justify}table.dataTable td.dt-nowrap,table.dataTable th.dt-nowrap{white-space:nowrap}table.dataTable tfoot td,table.dataTable tfoot td.dt-head-left,table.dataTable tfoot th,table.dataTable tfoot th.dt-head-left,table.dataTable thead td,table.dataTable thead td.dt-head-left,table.dataTable thead th,table.dataTable thead th.dt-head-left{text-align:left}table.dataTable tfoot td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable thead th.dt-head-center{text-align:center}table.dataTable tfoot td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable thead th.dt-head-right{text-align:right}table.dataTable tfoot td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable thead th.dt-head-justify{text-align:justify}table.dataTable tfoot td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable thead th.dt-head-nowrap{white-space:nowrap}table.dataTable tbody td.dt-body-left,table.dataTable tbody th.dt-body-left{text-align:left}table.dataTable tbody td.dt-body-center,table.dataTable tbody th.dt-body-center{text-align:center}table.dataTable tbody td.dt-body-right,table.dataTable tbody th.dt-body-right{text-align:right}table.dataTable tbody td.dt-body-justify,table.dataTable tbody th.dt-body-justify{text-align:justify}table.dataTable tbody td.dt-body-nowrap,table.dataTable tbody th.dt-body-nowrap{white-space:nowrap}table.dataTable{border-collapse:separate;border-spacing:0;clear:both;margin:0 auto;width:100%}table.dataTable tfoot th,table.dataTable thead th{font-weight:700}table.dataTable>thead>tr>td,table.dataTable>thead>tr>th{padding:10px}table.dataTable>thead>tr>td:active,table.dataTable>thead>tr>th:active{outline:none}table.dataTable>tfoot>tr>td,table.dataTable>tfoot>tr>th{padding:10px 10px 6px}table.dataTable tbody tr{background-color:transparent}table.dataTable tbody tr.selected>*{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.9);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.9);color:#fff;color:rgb(var(--dt-row-selected-text))}table.dataTable tbody tr.selected a{color:#090a0b;color:rgb(var(--dt-row-selected-link))}table.dataTable tbody td,table.dataTable tbody th{padding:8px 10px}table.dataTable.display>tbody>tr>td,table.dataTable.display>tbody>tr>th,table.dataTable.row-border>tbody>tr>td,table.dataTable.row-border>tbody>tr>th{border-top:1px solid rgba(0,0,0,.15)}table.dataTable.display>tbody>tr:first-child>td,table.dataTable.display>tbody>tr:first-child>th,table.dataTable.row-border>tbody>tr:first-child>td,table.dataTable.row-border>tbody>tr:first-child>th{border-top:none}table.dataTable.display>tbody>tr.selected+tr.selected>td,table.dataTable.row-border>tbody>tr.selected+tr.selected>td{border-top-color:rgba(13,110,253,.65);border-top-color:rgba(var(--dt-row-selected),.65)}table.dataTable.cell-border>tbody>tr>td,table.dataTable.cell-border>tbody>tr>th{border-right:1px solid rgba(0,0,0,.15);border-top:1px solid rgba(0,0,0,.15)}table.dataTable.cell-border>tbody>tr>td:first-child,table.dataTable.cell-border>tbody>tr>th:first-child{border-left:1px solid rgba(0,0,0,.15)}table.dataTable.cell-border>tbody>tr:first-child>td,table.dataTable.cell-border>tbody>tr:first-child>th{border-top:none}table.dataTable.display>tbody>tr.odd>*,table.dataTable.stripe>tbody>tr.odd>*{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.023);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe),.023)}table.dataTable.display>tbody>tr.odd.selected>*,table.dataTable.stripe>tbody>tr.odd.selected>*{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.923);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.923)}table.dataTable.display>tbody>tr:hover>*,table.dataTable.hover>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.035);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover),.035)}table.dataTable.display>tbody>tr.selected:hover>*,table.dataTable.hover>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px #0d6efd!important;box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),1)!important}table.dataTable.display>tbody tr>.sorting_1,table.dataTable.display>tbody tr>.sorting_2,table.dataTable.display>tbody tr>.sorting_3,table.dataTable.order-column>tbody tr>.sorting_1,table.dataTable.order-column>tbody tr>.sorting_2,table.dataTable.order-column>tbody tr>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.019);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.019)}table.dataTable.display>tbody tr.selected>.sorting_1,table.dataTable.display>tbody tr.selected>.sorting_2,table.dataTable.display>tbody tr.selected>.sorting_3,table.dataTable.order-column>tbody tr.selected>.sorting_1,table.dataTable.order-column>tbody tr.selected>.sorting_2,table.dataTable.order-column>tbody tr.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.919);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.919)}table.dataTable.display>tbody>tr.odd>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.054);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.054)}table.dataTable.display>tbody>tr.odd>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.047);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.047)}table.dataTable.display>tbody>tr.odd>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.039);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.039)}table.dataTable.display>tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.954);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.954)}table.dataTable.display>tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.947);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.947)}table.dataTable.display>tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.939);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.939)}table.dataTable.display>tbody>tr.even>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.019);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.019)}table.dataTable.display>tbody>tr.even>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.011);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.011)}table.dataTable.display>tbody>tr.even>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.003);box-shadow:inset 0 0 0 9999px rgba(var(--dt-column-ordering),.003)}table.dataTable.display>tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.919);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.919)}table.dataTable.display>tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.911);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.911)}table.dataTable.display>tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.903);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.903)}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.082);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover),.082)}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.074);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover),.074)}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.062);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover),.062)}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.982);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.982)}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.974);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.974)}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13,110,253,.962);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.962)}table.dataTable.no-footer{border-bottom:1px solid rgba(0,0,0,.3)}table.dataTable.compact tbody td,table.dataTable.compact tbody th,table.dataTable.compact tfoot td,table.dataTable.compact tfoot th,table.dataTable.compact thead td,table.dataTable.compact thead th{padding:4px}table.dataTable td,table.dataTable th{box-sizing:content-box}.dataTables_wrapper{clear:both;position:relative}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_length select{background-color:transparent;border:1px solid #aaa;border-radius:3px;color:inherit;padding:4px}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{background-color:transparent;border:1px solid #aaa;border-radius:3px;color:inherit;margin-left:3px;padding:5px}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;padding-top:.25em;text-align:right}.dataTables_wrapper .dataTables_paginate .paginate_button{background:transparent;border:1px solid transparent;border-radius:2px;box-sizing:border-box;color:inherit!important;cursor:pointer;display:inline-block;margin-left:2px;min-width:1.5em;padding:.5em 1em;text-align:center;text-decoration:none!important}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background-color:rgba(0,0,0,.05);background:linear-gradient(180deg,hsla(0,0%,90%,.05) 0,rgba(0,0,0,.05));border:1px solid rgba(0,0,0,.3);color:inherit!important}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{background:transparent;border:1px solid transparent;box-shadow:none;color:#666!important;cursor:default}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background-color:#111;background:linear-gradient(180deg,#585858 0,#111);border:1px solid #111;color:#fff!important}.dataTables_wrapper .dataTables_paginate .paginate_button:active{background-color:#0c0c0c;background:linear-gradient(180deg,#2b2b2b 0,#0c0c0c);box-shadow:inset 0 0 3px #111;outline:none}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing{height:0;margin:0!important;overflow:hidden;padding:0!important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid rgba(0,0,0,.3)}.dataTables_wrapper.no-footer div.dataTables_scrollBody>table,.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable{border-bottom:none}.dataTables_wrapper:after{clear:both;content:"";display:block;height:0;visibility:hidden}@media screen and (max-width:767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width:640px){.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}}html.dark{--dt-row-hover:255,255,255;--dt-row-stripe:255,255,255;--dt-column-ordering:255,255,255}html.dark table.dataTable>thead>tr>td:active,html.dark table.dataTable>thead>tr>th:active{outline:none}html.dark table.dataTable.display>tbody>tr>td,html.dark table.dataTable.display>tbody>tr>th,html.dark table.dataTable.row-border>tbody>tr>td,html.dark table.dataTable.row-border>tbody>tr>th{border-top:1px solid #404346}html.dark table.dataTable.display>tbody>tr.selected+tr.selected>td,html.dark table.dataTable.row-border>tbody>tr.selected+tr.selected>td{border-top-color:rgba(13,110,253,.65);border-top-color:rgba(var(--dt-row-selected),.65)}html.dark table.dataTable.cell-border>tbody>tr>td,html.dark table.dataTable.cell-border>tbody>tr>th{border-right:1px solid #404346;border-top:1px solid #404346}html.dark table.dataTable.cell-border>tbody>tr>td:first-child,html.dark table.dataTable.cell-border>tbody>tr>th:first-child{border-left:1px solid #404346}html.dark .dataTables_wrapper .dataTables_filter input,html.dark .dataTables_wrapper .dataTables_length select{background-color:var(--dt-html-background);border:1px solid hsla(0,0%,100%,.2)}html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:hsla(0,0%,100%,.15);border:1px solid #595b5e}html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{color:#666!important}html.dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:#353535;border:1px solid #353535}html.dark .dataTables_wrapper .dataTables_paginate .paginate_button:active{background:#3a3a3a}table.dataTable thead th div.DataTables_sort_wrapper{position:relative}table.dataTable thead th div.DataTables_sort_wrapper span{margin-top:-8px;position:absolute;right:-18px;top:50%}table.dataTable tfoot th.ui-state-default,table.dataTable thead th.ui-state-default{border-left-width:0}table.dataTable tfoot th.ui-state-default:first-child,table.dataTable thead th.ui-state-default:first-child{border-left-width:1px}.dataTables_wrapper .dataTables_paginate .fg-button{border:1px solid transparent;box-sizing:border-box;cursor:pointer;display:inline-block;margin-left:2px;min-width:1.5em;padding:.5em;text-align:center;text-decoration:none!important}.dataTables_wrapper .dataTables_paginate .fg-button:active{outline:none}.dataTables_wrapper .dataTables_paginate .fg-button:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.dataTables_wrapper .dataTables_paginate .fg-button:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.dataTables_wrapper .ui-widget-header{font-weight:400}.dataTables_wrapper .ui-toolbar{padding:8px}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:none}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_processing{color:inherit} /*! * Datepicker for Bootstrap v1.10.1 (https://github.com/uxsolutions/bootstrap-datepicker) * * Licensed under the Apache License v2.0 (https://www.apache.org/licenses/LICENSE-2.0) - */ -.datepicker { - border-radius: 4px; - direction: ltr; -} - -.datepicker-inline { - width: 220px; -} - -.datepicker-rtl { - direction: rtl; -} - -.datepicker-rtl.dropdown-menu { - left: auto; -} - -.datepicker-rtl table tr td span { - float: right; -} - -.datepicker-dropdown { - top: 0; - left: 0; - padding: 4px; -} - -.datepicker-dropdown:before { - content: ""; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid rgba(0, 0, 0, 0.15); - border-top: 0; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; -} - -.datepicker-dropdown:after { - content: ""; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #fff; - border-top: 0; - position: absolute; -} - -.datepicker-dropdown.datepicker-orient-left:before { - left: 6px; -} - -.datepicker-dropdown.datepicker-orient-left:after { - left: 7px; -} - -.datepicker-dropdown.datepicker-orient-right:before { - right: 6px; -} - -.datepicker-dropdown.datepicker-orient-right:after { - right: 7px; -} - -.datepicker-dropdown.datepicker-orient-bottom:before { - top: -7px; -} - -.datepicker-dropdown.datepicker-orient-bottom:after { - top: -6px; -} - -.datepicker-dropdown.datepicker-orient-top:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid rgba(0, 0, 0, 0.15); -} - -.datepicker-dropdown.datepicker-orient-top:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid #fff; -} - -.datepicker table { - margin: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.datepicker table tr td, -.datepicker table tr th { - text-align: center; - width: 30px; - height: 30px; - border-radius: 4px; - border: none; -} - -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; -} - -.datepicker table tr td.old, -.datepicker table tr td.new { - color: #777777; -} - -.datepicker table tr td.day:hover, -.datepicker table tr td.focused { - background: #eeeeee; - cursor: pointer; -} - -.datepicker table tr td.disabled, -.datepicker table tr td.disabled:hover { - background: none; - color: #777777; - cursor: default; -} - -.datepicker table tr td.highlighted { - color: #000; - background-color: #d9edf7; - border-color: #85c5e5; - border-radius: 0; -} - -.datepicker table tr td.highlighted:focus, -.datepicker table tr td.highlighted.focus { - color: #000; - background-color: #afd9ee; - border-color: #298fc2; -} - -.datepicker table tr td.highlighted:hover { - color: #000; - background-color: #afd9ee; - border-color: #52addb; -} - -.datepicker table tr td.highlighted:active, -.datepicker table tr td.highlighted.active { - color: #000; - background-color: #afd9ee; - border-color: #52addb; -} - -.datepicker table tr td.highlighted:active:hover, -.datepicker table tr td.highlighted.active:hover, -.datepicker table tr td.highlighted:active:focus, -.datepicker table tr td.highlighted.active:focus, -.datepicker table tr td.highlighted:active.focus, -.datepicker table tr td.highlighted.active.focus { - color: #000; - background-color: #91cbe8; - border-color: #298fc2; -} - -.datepicker table tr td.highlighted.disabled:hover, -.datepicker table tr td.highlighted[disabled]:hover, -fieldset[disabled] .datepicker table tr td.highlighted:hover, -.datepicker table tr td.highlighted.disabled:focus, -.datepicker table tr td.highlighted[disabled]:focus, -fieldset[disabled] .datepicker table tr td.highlighted:focus, -.datepicker table tr td.highlighted.disabled.focus, -.datepicker table tr td.highlighted[disabled].focus, -fieldset[disabled] .datepicker table tr td.highlighted.focus { - background-color: #d9edf7; - border-color: #85c5e5; -} - -.datepicker table tr td.highlighted.focused { - background: #afd9ee; -} - -.datepicker table tr td.highlighted.disabled, -.datepicker table tr td.highlighted.disabled:active { - background: #d9edf7; - color: #777777; -} - -.datepicker table tr td.today { - color: #000; - background-color: #ffdb99; - border-color: #ffb733; -} - -.datepicker table tr td.today:focus, -.datepicker table tr td.today.focus { - color: #000; - background-color: #ffc966; - border-color: #b37400; -} - -.datepicker table tr td.today:hover { - color: #000; - background-color: #ffc966; - border-color: #f59e00; -} - -.datepicker table tr td.today:active, -.datepicker table tr td.today.active { - color: #000; - background-color: #ffc966; - border-color: #f59e00; -} - -.datepicker table tr td.today:active:hover, -.datepicker table tr td.today.active:hover, -.datepicker table tr td.today:active:focus, -.datepicker table tr td.today.active:focus, -.datepicker table tr td.today:active.focus, -.datepicker table tr td.today.active.focus { - color: #000; - background-color: #ffbc42; - border-color: #b37400; -} - -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today[disabled]:hover, -fieldset[disabled] .datepicker table tr td.today:hover, -.datepicker table tr td.today.disabled:focus, -.datepicker table tr td.today[disabled]:focus, -fieldset[disabled] .datepicker table tr td.today:focus, -.datepicker table tr td.today.disabled.focus, -.datepicker table tr td.today[disabled].focus, -fieldset[disabled] .datepicker table tr td.today.focus { - background-color: #ffdb99; - border-color: #ffb733; -} - -.datepicker table tr td.today.focused { - background: #ffc966; -} - -.datepicker table tr td.today.disabled, -.datepicker table tr td.today.disabled:active { - background: #ffdb99; - color: #777777; -} - -.datepicker table tr td.range { - color: #000; - background-color: #eeeeee; - border-color: #bbbbbb; - border-radius: 0; -} - -.datepicker table tr td.range:focus, -.datepicker table tr td.range.focus { - color: #000; - background-color: #d5d5d5; - border-color: #7c7c7c; -} - -.datepicker table tr td.range:hover { - color: #000; - background-color: #d5d5d5; - border-color: #9d9d9d; -} - -.datepicker table tr td.range:active, -.datepicker table tr td.range.active { - color: #000; - background-color: #d5d5d5; - border-color: #9d9d9d; -} - -.datepicker table tr td.range:active:hover, -.datepicker table tr td.range.active:hover, -.datepicker table tr td.range:active:focus, -.datepicker table tr td.range.active:focus, -.datepicker table tr td.range:active.focus, -.datepicker table tr td.range.active.focus { - color: #000; - background-color: #c3c3c3; - border-color: #7c7c7c; -} - -.datepicker table tr td.range.disabled:hover, -.datepicker table tr td.range[disabled]:hover, -fieldset[disabled] .datepicker table tr td.range:hover, -.datepicker table tr td.range.disabled:focus, -.datepicker table tr td.range[disabled]:focus, -fieldset[disabled] .datepicker table tr td.range:focus, -.datepicker table tr td.range.disabled.focus, -.datepicker table tr td.range[disabled].focus, -fieldset[disabled] .datepicker table tr td.range.focus { - background-color: #eeeeee; - border-color: #bbbbbb; -} - -.datepicker table tr td.range.focused { - background: #d5d5d5; -} - -.datepicker table tr td.range.disabled, -.datepicker table tr td.range.disabled:active { - background: #eeeeee; - color: #777777; -} - -.datepicker table tr td.range.highlighted { - color: #000; - background-color: #e4eef3; - border-color: #9dc1d3; -} - -.datepicker table tr td.range.highlighted:focus, -.datepicker table tr td.range.highlighted.focus { - color: #000; - background-color: #c1d7e3; - border-color: #4b88a6; -} - -.datepicker table tr td.range.highlighted:hover { - color: #000; - background-color: #c1d7e3; - border-color: #73a6c0; -} - -.datepicker table tr td.range.highlighted:active, -.datepicker table tr td.range.highlighted.active { - color: #000; - background-color: #c1d7e3; - border-color: #73a6c0; -} - -.datepicker table tr td.range.highlighted:active:hover, -.datepicker table tr td.range.highlighted.active:hover, -.datepicker table tr td.range.highlighted:active:focus, -.datepicker table tr td.range.highlighted.active:focus, -.datepicker table tr td.range.highlighted:active.focus, -.datepicker table tr td.range.highlighted.active.focus { - color: #000; - background-color: #a8c8d8; - border-color: #4b88a6; -} - -.datepicker table tr td.range.highlighted.disabled:hover, -.datepicker table tr td.range.highlighted[disabled]:hover, -fieldset[disabled] .datepicker table tr td.range.highlighted:hover, -.datepicker table tr td.range.highlighted.disabled:focus, -.datepicker table tr td.range.highlighted[disabled]:focus, -fieldset[disabled] .datepicker table tr td.range.highlighted:focus, -.datepicker table tr td.range.highlighted.disabled.focus, -.datepicker table tr td.range.highlighted[disabled].focus, -fieldset[disabled] .datepicker table tr td.range.highlighted.focus { - background-color: #e4eef3; - border-color: #9dc1d3; -} - -.datepicker table tr td.range.highlighted.focused { - background: #c1d7e3; -} - -.datepicker table tr td.range.highlighted.disabled, -.datepicker table tr td.range.highlighted.disabled:active { - background: #e4eef3; - color: #777777; -} - -.datepicker table tr td.range.today { - color: #000; - background-color: #f7ca77; - border-color: #f1a417; -} - -.datepicker table tr td.range.today:focus, -.datepicker table tr td.range.today.focus { - color: #000; - background-color: #f4b747; - border-color: #815608; -} - -.datepicker table tr td.range.today:hover { - color: #000; - background-color: #f4b747; - border-color: #bf800c; -} - -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today.active { - color: #000; - background-color: #f4b747; - border-color: #bf800c; -} - -.datepicker table tr td.range.today:active:hover, -.datepicker table tr td.range.today.active:hover, -.datepicker table tr td.range.today:active:focus, -.datepicker table tr td.range.today.active:focus, -.datepicker table tr td.range.today:active.focus, -.datepicker table tr td.range.today.active.focus { - color: #000; - background-color: #f2aa25; - border-color: #815608; -} - -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today[disabled]:hover, -fieldset[disabled] .datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today.disabled:focus, -.datepicker table tr td.range.today[disabled]:focus, -fieldset[disabled] .datepicker table tr td.range.today:focus, -.datepicker table tr td.range.today.disabled.focus, -.datepicker table tr td.range.today[disabled].focus, -fieldset[disabled] .datepicker table tr td.range.today.focus { - background-color: #f7ca77; - border-color: #f1a417; -} - -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today.disabled:active { - background: #f7ca77; - color: #777777; -} - -.datepicker table tr td.selected, -.datepicker table tr td.selected.highlighted { - color: #fff; - background-color: #777777; - border-color: #555555; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datepicker table tr td.selected:focus, -.datepicker table tr td.selected.highlighted:focus, -.datepicker table tr td.selected.focus, -.datepicker table tr td.selected.highlighted.focus { - color: #fff; - background-color: #5e5e5e; - border-color: #161616; -} - -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected.highlighted:hover { - color: #fff; - background-color: #5e5e5e; - border-color: #373737; -} - -.datepicker table tr td.selected:active, -.datepicker table tr td.selected.highlighted:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected.highlighted.active { - color: #fff; - background-color: #5e5e5e; - border-color: #373737; -} - -.datepicker table tr td.selected:active:hover, -.datepicker table tr td.selected.highlighted:active:hover, -.datepicker table tr td.selected.active:hover, -.datepicker table tr td.selected.highlighted.active:hover, -.datepicker table tr td.selected:active:focus, -.datepicker table tr td.selected.highlighted:active:focus, -.datepicker table tr td.selected.active:focus, -.datepicker table tr td.selected.highlighted.active:focus, -.datepicker table tr td.selected:active.focus, -.datepicker table tr td.selected.highlighted:active.focus, -.datepicker table tr td.selected.active.focus, -.datepicker table tr td.selected.highlighted.active.focus { - color: #fff; - background-color: #4c4c4c; - border-color: #161616; -} - -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.highlighted.disabled:hover, -.datepicker table tr td.selected[disabled]:hover, -.datepicker table tr td.selected.highlighted[disabled]:hover, -fieldset[disabled] .datepicker table tr td.selected:hover, -fieldset[disabled] .datepicker table tr td.selected.highlighted:hover, -.datepicker table tr td.selected.disabled:focus, -.datepicker table tr td.selected.highlighted.disabled:focus, -.datepicker table tr td.selected[disabled]:focus, -.datepicker table tr td.selected.highlighted[disabled]:focus, -fieldset[disabled] .datepicker table tr td.selected:focus, -fieldset[disabled] .datepicker table tr td.selected.highlighted:focus, -.datepicker table tr td.selected.disabled.focus, -.datepicker table tr td.selected.highlighted.disabled.focus, -.datepicker table tr td.selected[disabled].focus, -.datepicker table tr td.selected.highlighted[disabled].focus, -fieldset[disabled] .datepicker table tr td.selected.focus, -fieldset[disabled] .datepicker table tr td.selected.highlighted.focus { - background-color: #777777; - border-color: #555555; -} - -.datepicker table tr td.active, -.datepicker table tr td.active.highlighted { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datepicker table tr td.active:focus, -.datepicker table tr td.active.highlighted:focus, -.datepicker table tr td.active.focus, -.datepicker table tr td.active.highlighted.focus { - color: #fff; - background-color: #286090; - border-color: #122b40; -} - -.datepicker table tr td.active:hover, -.datepicker table tr td.active.highlighted:hover { - color: #fff; - background-color: #286090; - border-color: #204d74; -} - -.datepicker table tr td.active:active, -.datepicker table tr td.active.highlighted:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active.highlighted.active { - color: #fff; - background-color: #286090; - border-color: #204d74; -} - -.datepicker table tr td.active:active:hover, -.datepicker table tr td.active.highlighted:active:hover, -.datepicker table tr td.active.active:hover, -.datepicker table tr td.active.highlighted.active:hover, -.datepicker table tr td.active:active:focus, -.datepicker table tr td.active.highlighted:active:focus, -.datepicker table tr td.active.active:focus, -.datepicker table tr td.active.highlighted.active:focus, -.datepicker table tr td.active:active.focus, -.datepicker table tr td.active.highlighted:active.focus, -.datepicker table tr td.active.active.focus, -.datepicker table tr td.active.highlighted.active.focus { - color: #fff; - background-color: #204d74; - border-color: #122b40; -} - -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.highlighted.disabled:hover, -.datepicker table tr td.active[disabled]:hover, -.datepicker table tr td.active.highlighted[disabled]:hover, -fieldset[disabled] .datepicker table tr td.active:hover, -fieldset[disabled] .datepicker table tr td.active.highlighted:hover, -.datepicker table tr td.active.disabled:focus, -.datepicker table tr td.active.highlighted.disabled:focus, -.datepicker table tr td.active[disabled]:focus, -.datepicker table tr td.active.highlighted[disabled]:focus, -fieldset[disabled] .datepicker table tr td.active:focus, -fieldset[disabled] .datepicker table tr td.active.highlighted:focus, -.datepicker table tr td.active.disabled.focus, -.datepicker table tr td.active.highlighted.disabled.focus, -.datepicker table tr td.active[disabled].focus, -.datepicker table tr td.active.highlighted[disabled].focus, -fieldset[disabled] .datepicker table tr td.active.focus, -fieldset[disabled] .datepicker table tr td.active.highlighted.focus { - background-color: #337ab7; - border-color: #2e6da4; -} - -.datepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - border-radius: 4px; -} - -.datepicker table tr td span:hover, -.datepicker table tr td span.focused { - background: #eeeeee; -} - -.datepicker table tr td span.disabled, -.datepicker table tr td span.disabled:hover { - background: none; - color: #777777; - cursor: default; -} - -.datepicker table tr td span.active, -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active.disabled:hover { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datepicker table tr td span.active:focus, -.datepicker table tr td span.active:hover:focus, -.datepicker table tr td span.active.disabled:focus, -.datepicker table tr td span.active.disabled:hover:focus, -.datepicker table tr td span.active.focus, -.datepicker table tr td span.active:hover.focus, -.datepicker table tr td span.active.disabled.focus, -.datepicker table tr td span.active.disabled:hover.focus { - color: #fff; - background-color: #286090; - border-color: #122b40; -} - -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active:hover:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover:hover { - color: #fff; - background-color: #286090; - border-color: #204d74; -} - -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active { - color: #fff; - background-color: #286090; - border-color: #204d74; -} - -.datepicker table tr td span.active:active:hover, -.datepicker table tr td span.active:hover:active:hover, -.datepicker table tr td span.active.disabled:active:hover, -.datepicker table tr td span.active.disabled:hover:active:hover, -.datepicker table tr td span.active.active:hover, -.datepicker table tr td span.active:hover.active:hover, -.datepicker table tr td span.active.disabled.active:hover, -.datepicker table tr td span.active.disabled:hover.active:hover, -.datepicker table tr td span.active:active:focus, -.datepicker table tr td span.active:hover:active:focus, -.datepicker table tr td span.active.disabled:active:focus, -.datepicker table tr td span.active.disabled:hover:active:focus, -.datepicker table tr td span.active.active:focus, -.datepicker table tr td span.active:hover.active:focus, -.datepicker table tr td span.active.disabled.active:focus, -.datepicker table tr td span.active.disabled:hover.active:focus, -.datepicker table tr td span.active:active.focus, -.datepicker table tr td span.active:hover:active.focus, -.datepicker table tr td span.active.disabled:active.focus, -.datepicker table tr td span.active.disabled:hover:active.focus, -.datepicker table tr td span.active.active.focus, -.datepicker table tr td span.active:hover.active.focus, -.datepicker table tr td span.active.disabled.active.focus, -.datepicker table tr td span.active.disabled:hover.active.focus { - color: #fff; - background-color: #204d74; - border-color: #122b40; -} - -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active:hover.disabled:hover, -.datepicker table tr td span.active.disabled.disabled:hover, -.datepicker table tr td span.active.disabled:hover.disabled:hover, -.datepicker table tr td span.active[disabled]:hover, -.datepicker table tr td span.active:hover[disabled]:hover, -.datepicker table tr td span.active.disabled[disabled]:hover, -.datepicker table tr td span.active.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td span.active:hover, -fieldset[disabled] .datepicker table tr td span.active:hover:hover, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active.disabled:focus, -.datepicker table tr td span.active:hover.disabled:focus, -.datepicker table tr td span.active.disabled.disabled:focus, -.datepicker table tr td span.active.disabled:hover.disabled:focus, -.datepicker table tr td span.active[disabled]:focus, -.datepicker table tr td span.active:hover[disabled]:focus, -.datepicker table tr td span.active.disabled[disabled]:focus, -.datepicker table tr td span.active.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td span.active:focus, -fieldset[disabled] .datepicker table tr td span.active:hover:focus, -fieldset[disabled] .datepicker table tr td span.active.disabled:focus, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, -.datepicker table tr td span.active.disabled.focus, -.datepicker table tr td span.active:hover.disabled.focus, -.datepicker table tr td span.active.disabled.disabled.focus, -.datepicker table tr td span.active.disabled:hover.disabled.focus, -.datepicker table tr td span.active[disabled].focus, -.datepicker table tr td span.active:hover[disabled].focus, -.datepicker table tr td span.active.disabled[disabled].focus, -.datepicker table tr td span.active.disabled:hover[disabled].focus, -fieldset[disabled] .datepicker table tr td span.active.focus, -fieldset[disabled] .datepicker table tr td span.active:hover.focus, -fieldset[disabled] .datepicker table tr td span.active.disabled.focus, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus { - background-color: #337ab7; - border-color: #2e6da4; -} - -.datepicker table tr td span.old, -.datepicker table tr td span.new { - color: #777777; -} - -.datepicker .datepicker-switch { - width: 145px; -} - -.datepicker .datepicker-switch, -.datepicker .prev, -.datepicker .next, -.datepicker tfoot tr th { - cursor: pointer; -} - -.datepicker .datepicker-switch:hover, -.datepicker .prev:hover, -.datepicker .next:hover, -.datepicker tfoot tr th:hover { - background: #eeeeee; -} - -.datepicker .prev.disabled, -.datepicker .next.disabled { - visibility: hidden; -} - -.datepicker .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; -} - -.input-group.date .input-group-addon { - cursor: pointer; -} - -.input-daterange { - width: 100%; -} - -.input-daterange input { - text-align: center; -} - -.input-daterange input:first-child { - border-radius: 3px 0 0 3px; -} - -.input-daterange input:last-child { - border-radius: 0 3px 3px 0; -} - -.input-daterange .input-group-addon { - width: auto; - min-width: 16px; - padding: 4px 5px; - line-height: 1.42857143; - border-width: 1px 0; - margin-left: -5px; - margin-right: -5px; -} - -.datepicker.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - list-style: none; - background-color: #fff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - color: #333333; - font-size: 13px; - line-height: 1.42857143; -} - -.datepicker.dropdown-menu th, -.datepicker.datepicker-inline th, -.datepicker.dropdown-menu td, -.datepicker.datepicker-inline td { - padding: 0px 5px; -} - - -.status-icon { - font-size: 1.1rem; -} - -.toast { - width: 350px; -} - -#toastContainer { - --header-color-light:#6c757d; - --text-color-light:#212529; - --header-bg-color-light:rgba(255, 255, 255, .85); - --body-bg-color-light:rgba(255, 255, 255, .85); - --header-color-dark:#f8f9fa; - --text-color-dark:#f8f9fa; - --header-bg-color-dark:rgba(30, 40, 45, .85); - --body-bg-color-dark:rgba(30, 40, 45, .85); - max-height: 100vh; - overflow-y: scroll; - scrollbar-width: none; - z-index: 1060; -} - -#toastContainer::-webkit-scrollbar { - display: none; -} - -#toastContainer .toast { - margin: 0.8rem; -} - -@media only screen and (max-width: 576px) { - #toastContainer { - width: 100%; - top: 0 !important; - bottom: auto !important; - left: 0 !important; - transform: none !important; - } - #toastContainer .toast { - margin: 0.8rem auto; - } -} -@media (prefers-color-scheme: dark) { - .toast, .toast-header, .toast-header .close { - color: var(--text-color-dark); - } - .toast { - background-color: var(--body-bg-color-dark); - } - .toast-header { - background-color: var(--header-bg-color-dark); - } -} -.top-0 { - top: 0 !important; -} - -.top-50 { - top: 50% !important; -} - -.bottom-0 { - bottom: 0 !important; -} - -.left-0 { - left: 0 !important; -} - -.left-50 { - left: 50% !important; -} - -.right-0 { - right: 0 !important; -} - -.translate-middle { - transform: translate(-50%, -50%) !important; -} - -.translate-middle-x { - transform: translateX(-50%) !important; -} - -.translate-middle-y { - transform: translateY(-50%) !important; -} - - -.ui-datepicker{ - z-index: 1100 !important; -} - -:root { - --jumbotron-padding-y: 7.5rem; -} - -.jumbotron { - padding-top: var(--jumbotron-padding-y); - padding-bottom: var(--jumbotron-padding-y); - margin-bottom: 0; - background-color: #fff; -} -@media (min-width: 768px) { - .jumbotron { - padding-top: calc(var(--jumbotron-padding-y) * 2); - padding-bottom: calc(var(--jumbotron-padding-y) * 2); - } -} - -.jumbotron p:last-child { - margin-bottom: 0; -} - -.jumbotron-heading { - font-weight: 300; -} - -.jumbotron .container { - max-width: 40rem; -} -.headerYSpace{ - padding-bottom: var(--jumbotron-padding-y); -} -.mainContent{ - -} - -.ui-button{ - padding: 0; -} -a{ - text-decoration: none; - color: black; - outline: none; -} -a:hover { - text-decoration: underline; -} - -.menuNavBar li{ - display: inline-flex; -} - - -.customRadioBtnGroup .notActive{ - color: #3276b1; - background-color: #fff; -} - -.dt-buttons{ - display: inline; - padding-left: 5px; -} - -.dataTableHeaderButtons{ - border-radius: 2px; - padding: 2px 4px 2px 4px; -} - -.dataTableRowButton{ - margin-right: 3px; -} - -textarea.orderItemComment{ - width: 50em; -} + */.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{left:0;padding:4px;top:0}.datepicker-dropdown:before{border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent;border-right:7px solid transparent}.datepicker-dropdown:after,.datepicker-dropdown:before{border-top:0;content:"";display:inline-block;position:absolute}.datepicker-dropdown:after{border-bottom:6px solid #fff;border-left:6px solid transparent;border-right:6px solid transparent}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{border-bottom:0;border-top:7px solid rgba(0,0,0,.15);bottom:-7px}.datepicker-dropdown.datepicker-orient-top:after{border-bottom:0;border-top:6px solid #fff;bottom:-6px}.datepicker table{-webkit-touch-callout:none;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{border:none;border-radius:4px;height:30px;text-align:center;width:30px}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#eee;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:none;color:#777;cursor:default}.datepicker table tr td.highlighted{background-color:#d9edf7;border-color:#85c5e5;border-radius:0;color:#000}.datepicker table tr td.highlighted.focus,.datepicker table tr td.highlighted:focus{background-color:#afd9ee;border-color:#298fc2;color:#000}.datepicker table tr td.highlighted.active,.datepicker table tr td.highlighted:active,.datepicker table tr td.highlighted:hover{background-color:#afd9ee;border-color:#52addb;color:#000}.datepicker table tr td.highlighted.active.focus,.datepicker table tr td.highlighted.active:focus,.datepicker table tr td.highlighted.active:hover,.datepicker table tr td.highlighted:active.focus,.datepicker table tr td.highlighted:active:focus,.datepicker table tr td.highlighted:active:hover{background-color:#91cbe8;border-color:#298fc2;color:#000}.datepicker table tr td.highlighted.disabled.focus,.datepicker table tr td.highlighted.disabled:focus,.datepicker table tr td.highlighted.disabled:hover,.datepicker table tr td.highlighted[disabled].focus,.datepicker table tr td.highlighted[disabled]:focus,.datepicker table tr td.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.highlighted.focus,fieldset[disabled] .datepicker table tr td.highlighted:focus,fieldset[disabled] .datepicker table tr td.highlighted:hover{background-color:#d9edf7;border-color:#85c5e5}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#d9edf7;color:#777}.datepicker table tr td.today{background-color:#ffdb99;border-color:#ffb733;color:#000}.datepicker table tr td.today.focus,.datepicker table tr td.today:focus{background-color:#ffc966;border-color:#b37400;color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover{background-color:#ffc966;border-color:#f59e00;color:#000}.datepicker table tr td.today.active.focus,.datepicker table tr td.today.active:focus,.datepicker table tr td.today.active:hover,.datepicker table tr td.today:active.focus,.datepicker table tr td.today:active:focus,.datepicker table tr td.today:active:hover{background-color:#ffbc42;border-color:#b37400;color:#000}.datepicker table tr td.today.disabled.focus,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today[disabled].focus,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today.focus,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#ffdb99;color:#777}.datepicker table tr td.range{background-color:#eee;border-color:#bbb;border-radius:0;color:#000}.datepicker table tr td.range.focus,.datepicker table tr td.range:focus{background-color:#d5d5d5;border-color:#7c7c7c;color:#000}.datepicker table tr td.range.active,.datepicker table tr td.range:active,.datepicker table tr td.range:hover{background-color:#d5d5d5;border-color:#9d9d9d;color:#000}.datepicker table tr td.range.active.focus,.datepicker table tr td.range.active:focus,.datepicker table tr td.range.active:hover,.datepicker table tr td.range:active.focus,.datepicker table tr td.range:active:focus,.datepicker table tr td.range:active:hover{background-color:#c3c3c3;border-color:#7c7c7c;color:#000}.datepicker table tr td.range.disabled.focus,.datepicker table tr td.range.disabled:focus,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range[disabled].focus,.datepicker table tr td.range[disabled]:focus,.datepicker table tr td.range[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.focus,fieldset[disabled] .datepicker table tr td.range:focus,fieldset[disabled] .datepicker table tr td.range:hover{background-color:#eee;border-color:#bbb}.datepicker table tr td.range.focused{background:#d5d5d5}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#eee;color:#777}.datepicker table tr td.range.highlighted{background-color:#e4eef3;border-color:#9dc1d3;color:#000}.datepicker table tr td.range.highlighted.focus,.datepicker table tr td.range.highlighted:focus{background-color:#c1d7e3;border-color:#4b88a6;color:#000}.datepicker table tr td.range.highlighted.active,.datepicker table tr td.range.highlighted:active,.datepicker table tr td.range.highlighted:hover{background-color:#c1d7e3;border-color:#73a6c0;color:#000}.datepicker table tr td.range.highlighted.active.focus,.datepicker table tr td.range.highlighted.active:focus,.datepicker table tr td.range.highlighted.active:hover,.datepicker table tr td.range.highlighted:active.focus,.datepicker table tr td.range.highlighted:active:focus,.datepicker table tr td.range.highlighted:active:hover{background-color:#a8c8d8;border-color:#4b88a6;color:#000}.datepicker table tr td.range.highlighted.disabled.focus,.datepicker table tr td.range.highlighted.disabled:focus,.datepicker table tr td.range.highlighted.disabled:hover,.datepicker table tr td.range.highlighted[disabled].focus,.datepicker table tr td.range.highlighted[disabled]:focus,.datepicker table tr td.range.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.highlighted.focus,fieldset[disabled] .datepicker table tr td.range.highlighted:focus,fieldset[disabled] .datepicker table tr td.range.highlighted:hover{background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focused{background:#c1d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e4eef3;color:#777}.datepicker table tr td.range.today{background-color:#f7ca77;border-color:#f1a417;color:#000}.datepicker table tr td.range.today.focus,.datepicker table tr td.range.today:focus{background-color:#f4b747;border-color:#815608;color:#000}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover{background-color:#f4b747;border-color:#bf800c;color:#000}.datepicker table tr td.range.today.active.focus,.datepicker table tr td.range.today.active:focus,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today:active.focus,.datepicker table tr td.range.today:active:focus,.datepicker table tr td.range.today:active:hover{background-color:#f2aa25;border-color:#815608;color:#000}.datepicker table tr td.range.today.disabled.focus,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today[disabled].focus,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today.focus,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#f7ca77;color:#777}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{background-color:#777;border-color:#555;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.focus,.datepicker table tr td.selected.highlighted.focus,.datepicker table tr td.selected.highlighted:focus,.datepicker table tr td.selected:focus{background-color:#5e5e5e;border-color:#161616;color:#fff}.datepicker table tr td.selected.active,.datepicker table tr td.selected.highlighted.active,.datepicker table tr td.selected.highlighted:active,.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover{background-color:#5e5e5e;border-color:#373737;color:#fff}.datepicker table tr td.selected.active.focus,.datepicker table tr td.selected.active:focus,.datepicker table tr td.selected.active:hover,.datepicker table tr td.selected.highlighted.active.focus,.datepicker table tr td.selected.highlighted.active:focus,.datepicker table tr td.selected.highlighted.active:hover,.datepicker table tr td.selected.highlighted:active.focus,.datepicker table tr td.selected.highlighted:active:focus,.datepicker table tr td.selected.highlighted:active:hover,.datepicker table tr td.selected:active.focus,.datepicker table tr td.selected:active:focus,.datepicker table tr td.selected:active:hover{background-color:#4c4c4c;border-color:#161616;color:#fff}.datepicker table tr td.selected.disabled.focus,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.highlighted.disabled.focus,.datepicker table tr td.selected.highlighted.disabled:focus,.datepicker table tr td.selected.highlighted.disabled:hover,.datepicker table tr td.selected.highlighted[disabled].focus,.datepicker table tr td.selected.highlighted[disabled]:focus,.datepicker table tr td.selected.highlighted[disabled]:hover,.datepicker table tr td.selected[disabled].focus,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover{background-color:#777;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{background-color:#337ab7;border-color:#2e6da4;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.focus,.datepicker table tr td.active.highlighted.focus,.datepicker table tr td.active.highlighted:focus,.datepicker table tr td.active:focus{background-color:#286090;border-color:#122b40;color:#fff}.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:hover{background-color:#286090;border-color:#204d74;color:#fff}.datepicker table tr td.active.active.focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active.focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active:active.focus,.datepicker table tr td.active:active:focus,.datepicker table tr td.active:active:hover{background-color:#204d74;border-color:#122b40;color:#fff}.datepicker table tr td.active.disabled.focus,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.highlighted.disabled.focus,.datepicker table tr td.active.highlighted.disabled:focus,.datepicker table tr td.active.highlighted.disabled:hover,.datepicker table tr td.active.highlighted[disabled].focus,.datepicker table tr td.active.highlighted[disabled]:focus,.datepicker table tr td.active.highlighted[disabled]:hover,.datepicker table tr td.active[disabled].focus,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active.focus,fieldset[disabled] .datepicker table tr td.active.highlighted.focus,fieldset[disabled] .datepicker table tr td.active.highlighted:focus,fieldset[disabled] .datepicker table tr td.active.highlighted:hover,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span{border-radius:4px;cursor:pointer;display:block;float:left;height:54px;line-height:54px;margin:1%;width:23%}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:none;color:#777;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#337ab7;border-color:#2e6da4;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover.focus,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.focus,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover.focus,.datepicker table tr td span.active:hover:focus{background-color:#286090;border-color:#122b40;color:#fff}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover{background-color:#286090;border-color:#204d74;color:#fff}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{background-color:#204d74;border-color:#122b40;color:#fff}.datepicker table tr td span.active.disabled.disabled.focus,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled.focus,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled].focus,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled].focus,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled.focus,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled].focus,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled].focus,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active.disabled.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active.focus,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.focus,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;padding:0 2px 0 5px;vertical-align:middle;width:12px}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{border-width:1px 0;line-height:1.42857143;margin-left:-5px;margin-right:-5px;min-width:16px;padding:4px 5px;width:auto}.datepicker.dropdown-menu{-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);color:#333;display:none;float:left;font-size:13px;left:0;line-height:1.42857143;list-style:none;min-width:160px;position:absolute;top:100%;z-index:1000}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px}.status-icon{font-size:1.1rem}.toast{width:350px}#toastContainer{--header-color-light:#6c757d;--text-color-light:#212529;--header-bg-color-light:hsla(0,0%,100%,.85);--body-bg-color-light:hsla(0,0%,100%,.85);--header-color-dark:#f8f9fa;--text-color-dark:#f8f9fa;--header-bg-color-dark:rgba(30,40,45,.85);--body-bg-color-dark:rgba(30,40,45,.85);max-height:100vh;overflow-y:scroll;scrollbar-width:none;z-index:1060}#toastContainer::-webkit-scrollbar{display:none}#toastContainer .toast{margin:.8rem}@media only screen and (max-width:576px){#toastContainer{bottom:auto!important;left:0!important;top:0!important;transform:none!important;width:100%}#toastContainer .toast{margin:.8rem auto}}@media (prefers-color-scheme:dark){.toast,.toast-header,.toast-header .close{color:var(--text-color-dark)}.toast{background-color:var(--body-bg-color-dark)}.toast-header{background-color:var(--header-bg-color-dark)}}.top-0{top:0!important}.top-50{top:50%!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.left-50{left:50%!important}.right-0{right:0!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important} +.ui-datepicker{z-index:1100!important}:root{--jumbotron-padding-y:7.5rem}.jumbotron{background-color:#fff;margin-bottom:0;padding-bottom:var(--jumbotron-padding-y);padding-top:var(--jumbotron-padding-y)}@media (min-width:768px){.jumbotron{padding-bottom:calc(var(--jumbotron-padding-y)*2);padding-top:calc(var(--jumbotron-padding-y)*2)}}.jumbotron p:last-child{margin-bottom:0}.jumbotron-heading{font-weight:300}.jumbotron .container{max-width:40rem}.headerYSpace{padding-bottom:var(--jumbotron-padding-y)}.ui-button{padding:0}a{color:#000;outline:none;text-decoration:none}a:hover{text-decoration:underline}.menuNavBar li{display:inline-flex}.customRadioBtnGroup .notActive{background-color:#fff;color:#3276b1}.dt-buttons{display:inline;padding-left:5px}.dataTableHeaderButtons{border-radius:2px;padding:2px 4px}.dataTableRowButton{margin-right:3px}textarea.orderItemComment{width:50em} +/*# sourceMappingURL=app.css.map*/ \ No newline at end of file diff --git a/public/js/admin.js.map b/public/js/admin.js.map index 3645b6e..1747a8d 100644 --- a/public/js/admin.js.map +++ b/public/js/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"/js/admin.js","mappings":"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","sources":["webpack:///./resources/js/admin/dashboard.js","webpack:///./resources/js/admin/priceList.js","webpack:///./resources/js/admin/priceListProfitCenter.js","webpack:///./resources/js/admin/product.js","webpack:///./resources/js/admin/profitCenter.js","webpack:///./resources/js/admin/supplier.js"],"sourcesContent":["window.Dashboard=function () {\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".dashboard\",\r\n testFileMod:false,\r\n isAdmin:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('Dashboard constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n this.init = function (options) {\r\n console.log('Dashboard init called');\r\n $.extend(Opts, options);\r\n/*\r\n APP.setOpts({\r\n afterLoadMainContent:root.initEditor,\r\n })\r\n*/\r\n /*\r\n Init list view\r\n */\r\n root.initEditorButtons();\r\n }\r\n\r\n this.initEditorButtons=function (){\r\n $('.DashboardEditable button.edit').off('click');\r\n $('.DashboardEditable button.edit').on('click',function (){\r\n root.initEditor();\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n });\r\n\r\n $('.DashboardEditable button.btnSave').off('click');\r\n $('.DashboardEditable button.btnSave').on('click',function (){\r\n /*$('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n */\r\n root.saveCustomContent();\r\n //tinymce.activeEditor.isDirty() //true when modified\r\n });\r\n\r\n\r\n\r\n $('.DashboardEditable button.btnCancel').off('click');\r\n $('.DashboardEditable button.btnCancel').on('click',function (){\r\n\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n root.removeEditor();\r\n });\r\n\r\n }\r\n\r\n this.saveCustomContent=function (){\r\n let ajaxData= new FormData($('.dashboardForm')[0]);\r\n ajaxData.append('stored_data',tinymce.activeEditor.getContent());\r\n let ajaxUrl=Opts.URL.update.replace('%id%',$('div.dashboardCustomContent').data('id'));\r\n ajaxData.append('_method','PUT');\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n Toast.create(\"Siekeres mentés!\",'Új tartalom elmentve.' , TOAST_STATUS.INFO,5000);\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n this.loadTinymce= function (){\r\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js',function (){\r\n root.initEditor();\r\n });\r\n }\r\n this.removeEditor = function (options) {\r\n if(typeof tinymce!==\"undefined\"){\r\n tinymce.remove();\r\n }\r\n }\r\n this.initEditor = function (options) {\r\n\r\n if(typeof tinymce===\"undefined\"){\r\n root.loadTinymce();\r\n return;\r\n }\r\n\r\n tinymce.init({\r\n selector: 'div.dashboardCustomContent', // Replace this CSS selector to match the placeholder element for TinyMCE\r\n language: 'hu_HU',\r\n plugins: 'code table lists',\r\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n\r\n/*\r\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n setup: function (editor) {\r\n editor.ui.registry.addButton('customInsertButton', {\r\n text: 'My Button',\r\n onAction: function (_) {\r\n editor.insertContent(' It\\'s my button! ');\r\n }});\r\n }\r\n*/\r\n\r\n });\r\n }\r\n};\r\n","window.PriceListAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".priceListForm\",\r\n testFileMod:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let PriceList = {};\r\n let root = this;\r\n let dataTableCSSSelector=null;\r\n\r\n\r\n\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('PriceListAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n\r\n let errorRowPointer=null;\r\n let errorRowCount=0;\r\n\r\n this.initErrorNavigationButton=function (){\r\n\r\n errorRowCount=$('.statusError').length;\r\n errorRowPointer=null;\r\n $('.priceListForm .buttonPrevError .buttonNextError').off('click')\r\n $('.priceListForm .buttonPrevError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer>0){\r\n errorRowPointer--;\r\n }else{return;}\r\n }\r\n $('.statusError').removeClass('highlightedErrorRow');\r\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\r\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\r\n });\r\n $('.priceListForm .buttonNextError').off('click');\r\n $('.priceListForm .buttonNextError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer tbody').empty();\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.clickNewPriceListCallBack=function () {\r\n root.initViewDetails();\r\n }\r\n this.clickNewPriceList=function(){\r\n APP.loadMainContent(Opts.URL.create,root.clickNewPriceListCallBack);\r\n }\r\n this.datatableRowActionButtonClick=function(event){\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n //_token\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n/*\r\n*/\r\n\r\n\r\n }\r\n\r\n this.initViewList = function (options) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNewPriceList,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n\r\n\r\n APP.dataTablePriceList=$(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n\r\n buttons: [\r\n //'createState', 'savedStates',\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"supplierName\" },\r\n { \"data\": \"available\" },\r\n { \"data\": \"created_at\" },\r\n { \"data\": \"note\" },\r\n null,\r\n ],\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n\r\n }\r\n\r\n this.initViewDetails = function (options) {\r\n $(Opts.containerCssSelector+' .datePickerClick').off('click');\r\n $(Opts.containerCssSelector+' .datePickerClick').on('click',function(){\r\n $(Opts.containerCssSelector+' .datePicker').datepicker('show');\r\n });\r\n\r\n $(Opts.containerCssSelector+' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n onSelect:function (dateText){\r\n console.log(dateText);\r\n $('.selectedDateText').text(dateText.replaceAll('-','.'));\r\n\r\n $('input[name=\"availableDate\"]').val(dateText);\r\n\r\n },\r\n\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonNewUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonNewUpload').on('click',function (){\r\n root.selectedUploadFileToggle();\r\n });\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.log('------------------');\r\n root.selectedUploadFileToggle();\r\n\r\n let data= new FormData($('.priceListForm')[0]);\r\n if($('.supplierSelect').val().length<1){\r\n Toast.create(\"Hiba!\", 'Adjon meg beszállítót!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n let fileInput=$('#inputGroupPriceListFile');\r\n console.log(fileInput[0].files.length<1);\r\n\r\n /* teszteles miatt kikapcsolva a fajl ellenorzes\r\n */\r\n if(!Opts.testFileMod){\r\n console.log(fileInput[0].files.length<1);\r\n if(fileInput[0].files.length<1){\r\n Toast.create(\"Hiba!\", 'Vállaszon ki fájlt!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n }\r\n\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n root.selectedUploadFileToggle(fileInput);\r\n\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonFinalization').on('click',function (){\r\n let data= new FormData($('.priceListForm')[0]);\r\n let fileInput=$('#inputGroupPriceListFile');\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n data.append('finalization',1);\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success){\r\n $('.priceListTable tbody tr').remove();\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\r\n }\r\n /*\r\n if(data.success==1){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n */\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n }\r\n\r\n this.init = function (options) {\r\n console.log('PriceListAdmin init called');\r\n $.extend(Opts, options);\r\n console.log('Opt extended');\r\n console.log(Opts);\r\n /*\r\n Init list view\r\n */\r\n console.log('call list view Init');\r\n root.initViewList(options);\r\n\r\n\r\n }\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n let priceListHasError=false;\r\n\r\n this.processCheckedPriceListResponse=function (responseData){\r\n priceListHasError=false;\r\n root.processCheckedPriceListResponseRows(responseData.rows);\r\n if(priceListHasError){\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow >.canFinishError').show();\r\n root.initErrorNavigationButton();\r\n }else{\r\n $('.uploadStatusRow >.canFinish').show();\r\n $('.uploadStatusRow >.canFinishError').hide();\r\n }\r\n $('.uploadStatusRow').removeClass('d-none');\r\n $('.containerUploadedSpinner').addClass('d-none');\r\n }\r\n\r\n this.processCheckedPriceListResponseRows=function (responseRowsData){\r\n console.log('processingRows');\r\n for (let key in responseRowsData) {\r\n let rowData=responseRowsData[key];\r\n let templateData=rowData.originalData;\r\n templateData.rowNum=rowData.rowNum;\r\n let template=$('template[data-name=\"priceListTableRow\"]').html()\r\n let render=Mustache.render(template,templateData);\r\n $('.priceListTable tbody').append(render);\r\n $('tr[data-rownum='+rowData.rowNum+']').addClass('status'+$.ucFirst(rowData.status));\r\n root.processResponseRowErrors(rowData.error,rowData.rowNum);\r\n if(rowData.changed){\r\n root.processResponseRowChanged(rowData.changed,rowData.rowNum);\r\n }\r\n }\r\n }\r\n this.processResponseRowChanged=function (changedArray,rowNum){\r\n if(changedArray.length<1){\r\n return;\r\n }\r\n console.log(changedArray);\r\n //fields error resz\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in changedArray) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-primary');\r\n let changedTxtNode=$(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\r\n tdNode.append(changedTxtNode);\r\n }\r\n\r\n }\r\n this.processResponseRowErrors=function (errorArray,rowNum){\r\n if(errorArray.length<1){\r\n return;\r\n }\r\n //general error resz\r\n console.log(errorArray);\r\n priceListHasError = true;\r\n\r\n //fields error resz\r\n if(typeof errorArray.fields =='undefined'){\r\n return;\r\n }\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in errorArray.fields) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-danger');\r\n let errorTxtNode=$(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\r\n tdNode.append(errorTxtNode);\r\n }\r\n }\r\n};\r\n","window.PriceListProfitCenterAdmin=function (options) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerPriceListProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n getProductGroupHTML: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, SupplierItem) {\r\n console.log('PriceListProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n let changeParameter={\r\n supplier:'',\r\n profitCenter:'',\r\n deliveryDate:'',\r\n /*\r\n supplier:26,\r\n profitCenter:49,\r\n deliveryDate:'2023-09-10',\r\n */\r\n\r\n }\r\n\r\n this.checkRefreshPossible=function (){\r\n console.log('check need parameter');\r\n let needRefresh=true;\r\n $.each(changeParameter,function (name,data){\r\n if(data===''){\r\n needRefresh=false;\r\n }\r\n });\r\n if(needRefresh){\r\n root.refreshDatatable()\r\n root.refreshProductGroup();\r\n root.setDatatableHeaderText('');\r\n }\r\n }\r\n this.setDatatableHeaderText=function(text){\r\n $('.tableHeaderText').text(text);\r\n }\r\n\r\n this.getTreePathName=function (node){\r\n let res='';\r\n let items=$(node).parents('li').toArray();\r\n items.shift();\r\n items.reverse();\r\n for (const item in items) {\r\n if($(items[item]).children('a.categoryItem').length>0){\r\n res+=$(items[item]).children('a.categoryItem').text()+'/'\r\n }\r\n }\r\n res+=$(node).text();\r\n return res;\r\n }\r\n\r\n this.bindProductGroupItem=function(){\r\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\r\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\r\n function () {\r\n let groupId=$(this).data('id');\r\n selectedProductGroup=groupId;\r\n root.setDatatableHeaderText(root.getTreePathName(this));\r\n /*\r\n console.log(groupId);\r\n console.log(root.getTreePathName(this));\r\n */\r\n root.refreshDatatable();\r\n });\r\n\r\n\r\n }\r\n this.refreshProductGroup=function (){\r\n let ajaxData={\r\n 'supplierId':changeParameter.supplier,\r\n 'deliveryDate':changeParameter.deliveryDate\r\n }\r\n let ajaxUrl=Opts.URL.getProductGroupHTML;\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'GET',\r\n contentType:false,\r\n processData: true,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n $('.sidebar-menu .productGroup').find('ul').html(data);\r\n root.bindProductGroupItem();\r\n },\r\n error: function(data) {\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n this.refreshDatatable=function (){\r\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\r\n }\r\n\r\n\r\n this.changePriceListProfitCenterParameter=function(e,obj){\r\n if(typeof obj =='undefined'){\r\n obj=$(this);\r\n }\r\n let objName=obj.attr(\"name\");\r\n if(objName=='supplier'){\r\n selectedProductGroup=null;\r\n }\r\n let data='';\r\n if(obj.get(0).nodeName=='SELECT'){\r\n if(obj.select2('data').length>0){\r\n data=obj.select2('data')[0].id;\r\n };\r\n }else{\r\n data=obj.val()\r\n }\r\n if(changeParameter[objName]!=data){\r\n changeParameter[objName]=data;\r\n root.checkRefreshPossible();\r\n }\r\n }\r\n\r\n this.init=function (options){\r\n $.extend(Opts, options);\r\n let CSSSelectorForm=Opts.containerCssSelector;\r\n $(CSSSelectorForm+' .datePickerClick').click(function(){\r\n $(CSSSelectorForm+' .datePicker').datepicker('show');\r\n });\r\n\r\n $('.supplierSelect').on('change',root.changePriceListProfitCenterParameter);\r\n $('.profitCenterSelect').on('change',root.changePriceListProfitCenterParameter);\r\n\r\n //$('input[name=\"deliveryDate\"]').on('change',changePriceListProfitCenterParameter);\r\n\r\n\r\n $(\".supplierSelect\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n /*\r\n */\r\n $(\".profitCenterSelect\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n\r\n $(CSSSelectorForm + ' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n minDate: new Date(),\r\n onSelect: function (dateText,obj) {\r\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\r\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\r\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\r\n root.changePriceListProfitCenterParameter(null,$(obj.input));\r\n },\r\n });\r\n //root.initViewList();\r\n let table = root.getDatatables('');\r\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\r\n /*\r\n /!*\r\n ----------------------------------------------------------\r\n Add event listener for opening and closing details\r\n *!/\r\n\r\n $('.dataTableOrderProductSelect tbody').on('click', 'td.details-control', function () {\r\n let tr = $(this).closest('tr');\r\n let row = table.row( tr );\r\n\r\n if ( row.child.isShown() ) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n // Open this row\r\n row.child( root.productSelectDatatablesRowFormatter(row.data()) ).show();\r\n tr.addClass('shown');\r\n root.bindProductDetailsAction();\r\n }\r\n } );*/\r\n }\r\n this.productSelectDataTableDrawDT=function (e) {\r\n //debug( 'Table draw complete: '+new Date().getTime() );\r\n\r\n $('td:contains(\"*\")').html('');\r\n $('td.details-control').removeClass('details-control');\r\n\r\n\r\n\r\n }\r\n let selectedProductGroup=null;\r\n\r\n this.getDatatables=function (orderType){\r\n let table = $('.dataTableOrderProductSelect').DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": {\r\n url:Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n /*\r\n data.searchStr=dataTableSearchStr;\r\n data.krel=dataTableSearchKrel;\r\n data.groupId=selectedProductGroup;\r\n */\r\n data.supplierId=changeParameter.supplier;\r\n data.profitCenterId=changeParameter.profitCenter;\r\n data.deliveryDate=changeParameter.deliveryDate;\r\n data.groupId=selectedProductGroup;\r\n }\r\n },\r\n buttons: {\r\n buttons: []\r\n },\r\n \"columnDefs\": APP.OrderModule.productSelectDataTableColumnDefs(),\r\n \"columns\": APP.OrderModule.productSelectDataTableColumn(),\r\n \"order\": [[1, 'asc']],\r\n } );\r\n return table;\r\n }\r\n\r\n\r\n}\r\n","if(typeof Product==='undefined'){\r\n class Product extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n console.log('Product constructor called');\r\n };\r\n };\r\n window.Product=Product;\r\n}\r\nwindow.ProductAdmin=function (options,ProductItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProduct',\r\n container:null,\r\n resultContainerSelector:'.containerProduct .containerResult',\r\n resultContainer:null,\r\n\r\n testMode: false,\r\n filters:{\r\n Product:{},\r\n },\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n attachFile: '',\r\n detachFile: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc'],\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let Product = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let dataTable=null;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProductItem) {\r\n console.log('ProductAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProductItem) {\r\n console.log('Product letre kellet hozni ');\r\n if (!APP.Product) {\r\n APP.Product = new window.Product();\r\n }\r\n root.Product = APP.Product;\r\n }\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.initViewListOld = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n serverSide: true,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n orderable: false,\r\n \"render\": function ( data, type, row ) {\r\n let\r\n buttons=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\"},\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n {\"data\": \"productGroup\"},\r\n {\"data\": \"supplierName\"},\r\n { \"data\": \"price\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n this.initViewList=function (options={}) {\r\n debug('initViewSearch inicialization 1');\r\n\r\n root.container.find('select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect').select2();\r\n root.container.find('select.productSelect').select2({\r\n placeholder: '...',\r\n allowClear: true,\r\n ajax: {\r\n url: Opts.URL.getProductSearch,\r\n dataType: 'json',\r\n data: function(params) {\r\n return {\r\n term: params.term || '',\r\n page: params.page || 1,\r\n supplierId: root.container.find('select.supplierSelect').val(),\r\n }\r\n },\r\n cache: true\r\n }\r\n });\r\n root.container.find('.datePickerFrom, .datePickerTo').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n\r\n onSelect: function (dateText,obj) {\r\n debug(this);\r\n debug(obj.input);\r\n /*\r\n root.container.find('.selectedDateText').text(dateText);\r\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\r\n root.container.find(' input[name=\"deliveryDate\"]').val(dateText);\r\n */\r\n //root.changePriceListProfitCenterParameter(null,$(obj.input));\r\n },\r\n });\r\n root.container.find('.datePickerClick').click(function(){\r\n debug($(this).data('action'));\r\n root.container.find('input[name=\"'+$(this).data('action')+'\"]').datepicker('show');\r\n });\r\n let button=root.container.find('.FormSendButton');\r\n button.off('click');\r\n button.on('click',function (){\r\n debug ('FormSendButton click');\r\n root.loadingResultContainer();\r\n root.requestProducts();\r\n });\r\n root.setVisibleFilters('Product');\r\n\r\n debug('initViewSearch end');\r\n }\r\n\r\n\r\n this.loadingResultContainer=function (){\r\n debug('clearResultContainer');\r\n debug(root.resultContainer);\r\n root.hideResultContainer();\r\n root.container.find('.containerLoading').show();\r\n /*\r\n let template=root.container.find('template[data-name=\"loading\"]').html()\r\n root.resultContainer.html(template);\r\n\r\n */\r\n }\r\n this.hideResultContainer=function (){\r\n debug('hide containerResult');\r\n debug(root.resultContainer);\r\n root.resultContainer.hide();\r\n }\r\n this.showResultContainer=function (){\r\n root.container.find('.containerLoading').hide();\r\n root.resultContainer.show();\r\n }\r\n\r\n this.init=function (options,ProductItem){\r\n console.log('ProductAdmin init');\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProductItem){\r\n root.Product=ProductItem\r\n }\r\n root.dataTable=null;\r\n root.container=$(Opts.containerCssSelector);\r\n root.resultContainer=$(Opts.resultContainerSelector);\r\n root.initViewList();\r\n }\r\n this.initViewDetails=function (options,ProductItem){\r\n debug('**call initViewDetails ');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n if(root.Product.picture){\r\n console.log('*****//////////////////****************');\r\n console.log(root.Product.picture);\r\n console.log(CSSSelectorForm);\r\n let picUrl=root.Product.picture.PublicUrl+'/'+root.Product.picture.filename;\r\n console.log(picUrl);\r\n console.log($(CSSSelectorForm+' img.imageProduct'));\r\n $(CSSSelectorForm+' img.imageProduct').attr('src',picUrl);\r\n }\r\n if(root.Product.specification){\r\n console.log('*****//////////////////****************');\r\n console.log(root.Product.specification);\r\n let docUrl=root.Product.specification.PublicUrl+'/'+root.Product.specification.filename;\r\n root.addAttachment(root.Product.specification);\r\n }\r\n let FormSaveButton=$(CSSSelectorForm+' button.FormSaveButton');\r\n FormSaveButton.off('click');\r\n FormSaveButton.on('click',root.clickSaveButton);\r\n\r\n }\r\n\r\n this.addAttachment=function (attachmentData){\r\n console.log(attachmentData);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n //root.Supplier.attachment.push(attachmentData);\r\n //attachmentData.rowNum=root.Supplier.attachment.length;\r\n attachmentData.rowNum=1;\r\n let dateStr=new Date(attachmentData.updated_at);\r\n dateStr=dateStr.toLocaleString('hu-HU', {});\r\n attachmentData.date=dateStr;\r\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\r\n let template=$('template[data-name=\"productAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\r\n //root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Fájl hozzáadva!\", attachmentData.original_filename+\" fájl hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n this.setVisibleFilters=function (type){\r\n console.log('setVisibleFilters');\r\n console.log(Opts.filters[type]);\r\n console.log(root.container);\r\n $(root.container).find('div[class*=\"filter\"]').hide()\r\n for (const typeIndex in Opts.filters[type]) {\r\n const typeName=Opts.filters[type][typeIndex];\r\n debug(typeName);\r\n console.log($(root.container).find('.filter_'+typeName));\r\n $(root.container).find('.filter_'+typeName).show();\r\n }\r\n }\r\n this.c=function (CSSSelectorForm){\r\n console.log('c called');\r\n console.log(CSSSelectorForm);\r\n console.log(root.container);\r\n console.log(root.container.find('form'));\r\n console.log(root.container.find(CSSSelectorForm));\r\n\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n\r\n console.log(CSSSelectorForm);\r\n console.log(root.container);\r\n console.log(root.container.find(CSSSelectorForm));\r\n console.log(root.container.find('form'));\r\n console.log(root.container.find('form'+CSSSelectorForm)[0]);\r\n //return;\r\n let ajaxData = new FormData(root.container.find('form'+CSSSelectorForm)[0]);\r\n $.each(ajaxData.getAll('supplier'), function (key, value) {\r\n ajaxData.append('suppliers[]', value);\r\n })\r\n ajaxData.delete('supplier');\r\n $.each(ajaxData.getAll('profitCenter'), function (key, value) {\r\n ajaxData.append('profitCenters[]', value);\r\n })\r\n ajaxData.delete('profitCenter');\r\n $.each(ajaxData.getAll('productGroup'), function (key, value) {\r\n ajaxData.append('productGroups[]', value);\r\n })\r\n ajaxData.delete('productGroup');\r\n $.each(ajaxData.getAll('product'), function (key, value) {\r\n ajaxData.append('products[]', value);\r\n })\r\n ajaxData.delete('product');\r\n $.each(ajaxData.getAll('producer'), function (key, value) {\r\n ajaxData.append('producers[]', value);\r\n })\r\n ajaxData.delete('producer');\r\n $.each(ajaxData.getAll('hooreycaName'), function (key, value) {\r\n ajaxData.append('hooreycaNames[]', value);\r\n })\r\n ajaxData.delete('hooreycaName');\r\n\r\n //ajaxData.append('_token', root.container.find('input[name=_token]').val());\r\n\r\n /*\r\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\r\n let indexKey = $(this).attr('name');\r\n if (ajaxData.get(indexKey)) {\r\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\r\n }\r\n });\r\n */\r\n return ajaxData;\r\n\r\n }\r\n this.getAjaxDataJson=function(){\r\n\r\n let ajaxData=root.formDataToDataObjectAPICall('.ProductListForm');\r\n console.log('======================');\r\n for (let pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n\r\n let object = {};\r\n ajaxData.forEach((value, key) => {\r\n // Reflect.has in favor of: object.hasOwnProperty(key)\r\n if(!Reflect.has(object, key)){\r\n object[key] = value;\r\n return;\r\n }\r\n if(!Array.isArray(object[key])){\r\n object[key] = [object[key]];\r\n }\r\n object[key].push(value);\r\n });\r\n let ajaxDataJson = JSON.stringify(object);\r\n return ajaxDataJson;\r\n }\r\n\r\n this.requestProducts=function () {\r\n let ajaxUrl=Opts.URL.getDataTableContent;\r\n let ajaxMethod='GET';\r\n //token formdataba!\r\n debug(ajaxUrl);\r\n\r\n ajaxDataJson=root.getAjaxDataJson();\r\n console.log(ajaxDataJson);\r\n\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n console.log(dataTableCSSSelector );\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n /*\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n */\r\n\r\n if(!root.dataTable){\r\n console.log('XXXXXXXXXXXXXXXXXXXX Nincs Datatable');\r\n root.dataTable=\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\":{\r\n url: Opts.URL.getDataTableContent,\r\n data: function (d) {\r\n console.log('---******----');\r\n console.log(APP.ProductAdmin.getAjaxDataJson());\r\n return $.extend({}, d, {\r\n ajaxData: APP.ProductAdmin.getAjaxDataJson\r\n });\r\n },\r\n type: ajaxMethod\r\n /*\r\n data: ajaxData,\r\n */\r\n } ,\r\n serverSide: true,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n orderable: false,\r\n \"render\": function ( data, type, row ) {\r\n let\r\n buttons=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\"},\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n {\"data\": \"productGroup\"},\r\n {\"data\": \"supplierName\"},\r\n { \"data\": \"price\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n root.showResultContainer();\r\n console.log('drawCallback');\r\n }\r\n } );\r\n\r\n\r\n }else{\r\n console.log('XXXXXXXXXXXXXXXXXXXX van Datatable');\r\n //root.dataTable.ajax.reload();\r\n root.dataTable.draw();\r\n }\r\n\r\n\r\n }\r\n this.processResponse=function () {\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n event.preventDefault();\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n\r\n let ajaxData=root.formDataToDataObjectAPICall('.productForm');\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.Product.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.Product.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n\r\n debug(ajaxMethod);\r\n debug(ajaxData);\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n //'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n 'X-CSRF-TOKEN': Opts.token\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű termék elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n// APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n","if(typeof DataModelProfitCenter==='undefined'){\r\n class DataModelProfitCenter extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n if(typeof this.address ===\"undefined\"){\r\n this.address=[];\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelProfitCenter=DataModelProfitCenter;\r\n}\r\n\r\nwindow.ProfitCenterAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let ProfitCenter = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let addressPopupWorkflow = 'new';\r\n let CSSSelectorForm='';\r\n let dataTableCSSSelector='';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProfitCenterItem) {\r\n console.log('ProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProfitCenterItem) {\r\n console.log('ProfitCentert letre kellet hozni ');\r\n if (!APP.ProfitCenter) {\r\n APP.ProfitCenter = new window.DataModelProfitCenter();\r\n }\r\n root.ProfitCenter = APP.ProfitCenter;\r\n }\r\n CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.getData=function (){\r\n return root.ProfitCenter;\r\n }\r\n\r\n this.init=function (options,ProfitCenterItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProfitCenterItem){\r\n root.ProfitCenter=ProfitCenterItem\r\n }\r\n root.initViewList();\r\n }\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.ProfitCenter=new window.DataModelProfitCenter();\r\n root.initViewDetails();\r\n }\r\n\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n /**\r\n * Contact Popup setup\r\n */\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $(CSSSelectorForm+' .buttonNewContact').bind('click',function (){\r\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n /**\r\n * Address Popup setup\r\n */\r\n if(!APP.AddressPopUp){\r\n console.log('nincs APP.AddressPopUp')\r\n APP.AddressPopUp = new window.AddressPopUp();\r\n }else{\r\n console.log('mar van APP.AddressPopUp')\r\n }\r\n APP.AddressPopUp.init({\r\n active:true,\r\n onAfterSave:root.addressAction\r\n });\r\n root.renderAddress();\r\n $(CSSSelectorForm+' .buttonNewAddress').bind('click',function (){\r\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\r\n APP.AddressPopUp.clearData();\r\n APP.AddressPopUp.show();\r\n });\r\n /**\r\n *\r\n */\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons({\r\n onChange: function (value,node) {\r\n debug(value);\r\n debug(node);\r\n /*\r\n\r\n if(node==='profitCenterMultiAddress'){\r\n if(value==1){\r\n $('.containerMultiAddress').removeClass('d-none');\r\n }else{\r\n $('.containerMultiAddress').addClass('d-none');\r\n }\r\n }\r\n\r\n */\r\n if(node==='addressEqual'){\r\n if(value==1){\r\n $(CSSSelectorForm+' .containerMultiAddress').addClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').addClass('d-none');\r\n }else{\r\n $(CSSSelectorForm+' .containerMultiAddress').removeClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').removeClass('d-none');\r\n }\r\n }\r\n\r\n }\r\n });\r\n $(CSSSelectorForm+\" :input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $(CSSSelectorForm+' button.FormSaveButton').off('click');\r\n $(CSSSelectorForm+' button.FormSaveButton').on('click',root.clickSaveButton);\r\n/*\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n*/\r\n\r\n //Opts.onAfterInitViewDetails();\r\n debug('**end initViewDetails ');\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'email','postCode','city','street','phone','mobil'\r\n ];\r\n $.each(needToSet,function () {\r\n // debug(this); //alapadatok beallitasanak logolasa\r\n if(typeof root.ProfitCenter[this]!='undefined'){\r\n/* //alapadatok beallitasanak logolasa\r\n debug(root.ProfitCenter[this]);\r\n debug(CSSSelectorForm+' input[name='+this+']');\r\n debug($(CSSSelectorForm+' input[name='+this+']'));\r\n*/\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.ProfitCenter[this]);\r\n }\r\n })\r\n if(typeof root.ProfitCenter['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.ProfitCenter.note);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.ProfitCenter.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.ProfitCenter.hooreycaDataActive+']').click();\r\n\r\n if(typeof root.ProfitCenter['logoFile']!='undefined' && (root.ProfitCenter['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.ProfitCenter['logoFile']);\r\n }\r\n\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title='+root.ProfitCenter.addressEqual+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title='+root.ProfitCenter.multiAddress+']').click();\r\n /*debug(root.ProfitCenter.address.length);\r\n if(root.ProfitCenter.address.length>0){\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\r\n if(root.ProfitCenter.address.length>1){\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\r\n }\r\n }\r\n */\r\n let supplier=[];\r\n $.each(root.ProfitCenter.suppliers,function () {\r\n supplier.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n $.each(supplier,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n }\r\n\r\n this.resetContactTable=function (){\r\n $(CSSSelectorForm+' .contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.ProfitCenter.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n $('.contactTable .buttonDelete').unbind('click');\r\n $('.contactTable .buttonDelete').bind('click',root.contactDeleteClick);\r\n $('.contactTable .buttonEdit').unbind('click');\r\n $('.contactTable .buttonEdit').bind('click',root.contactEditClick);\r\n\r\n }\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.ProfitCenter.contact=root.ProfitCenter.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n console.log(root.ProfitCenter.contact);\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n this.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n this.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.contact.push(contactData);\r\n contactData.rowNum=root.ProfitCenter.contact.length;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $(CSSSelectorForm+' .contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Kapcsolat tartó hozzáadva!\", contactData.name+\" nevű kapocsolattartó hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.ProfitCenter.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.ProfitCenter.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create(\"Kapcsolat adatai módosítva!\", contactData.name+\" nevű kapocsolattartó módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n /***************\r\n *\r\n * Address function\r\n *\r\n */\r\n this.resetAddressTable=function (){\r\n $(CSSSelectorForm+' .addressTable tbody tr').remove();\r\n root.renderAddress();\r\n }\r\n this.renderAddress=function (){\r\n let rowNum=1;\r\n console.log('renderingAddress');\r\n $.each(root.ProfitCenter.getData('address'),function (){\r\n let itemData=this;\r\n itemData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n debug(itemData);\r\n let render=Mustache.render(template,itemData);\r\n $('.addressTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAddressClickAction();\r\n }\r\n\r\n this.bindAddressClickAction =function (){\r\n $('.addressTable .buttonDelete').unbind('click');\r\n $('.addressTable .buttonDelete').bind('click',root.addressDeleteClick);\r\n $('.addressTable .buttonEdit').unbind('click');\r\n $('.addressTable .buttonEdit').bind('click',root.addressEditClick);\r\n\r\n }\r\n this.addressDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.ProfitCenter.address=root.ProfitCenter.address.filter(\r\n function (value,index,arr){\r\n if (value.id!=id) return true;\r\n }\r\n );\r\n console.log(root.ProfitCenter.address);\r\n row.remove();\r\n root.resetAddressTable();\r\n }\r\n this.getAddressPopupWorkflow = function () {\r\n return addressPopupWorkflow;\r\n }\r\n this.setAddressPopupWorkflow = function (status) {\r\n addressPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.addressEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.setAddressPopupWorkflow('edit');\r\n APP.AddressPopUp.loadData(id);\r\n }\r\n this.addressAction=function (itemData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getAddressPopupWorkflow()=='new'){\r\n root.addAddress(itemData);\r\n }else if(root.getAddressPopupWorkflow()=='edit'){\r\n root.editAddress(itemData.id,itemData);\r\n }\r\n }\r\n this.addAddress=function (ItemData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.address.push(ItemData);\r\n ItemData.rowNum=root.ProfitCenter.address.length;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n let render=Mustache.render(template,ItemData);\r\n $(CSSSelectorForm+' .addressTable tbody').append(render);\r\n root.bindAddressClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Cím hozzáadva!\", ItemData.street+\" hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.editAddress=function (id,itemData){\r\n\r\n let newItem=[];\r\n $.each(root.ProfitCenter.getData('address'),function (index){\r\n if(this.id==id){\r\n newItem.push(itemData);\r\n }else{\r\n newItem.push(this);\r\n }\r\n });\r\n root.ProfitCenter.address=newItem;\r\n root.resetAddressTable();\r\n Toast.create(\"cím adatai módosítva!\", itemData.street+\" módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n console.log(ajaxUrl);\r\n */\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n event.preventDefault();\r\n debug(CSSSelectorForm);\r\n debug($(CSSSelectorForm));\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.ProfitCenter.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.ProfitCenter.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n/*\r\n debug(ajaxUrl);\r\n debug(ajaxMethod);\r\n debug(ajaxData.entries());\r\n for (var pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n*/\r\n\r\n console.table(Object.fromEntries(ajaxData));\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű beszálllító elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n/*\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n*/\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n $.each(ajaxData.getAll('supplier'),function(key,value){\r\n ajaxData.append('supplier[]',value);\r\n })\r\n return ajaxData;\r\n }\r\n this.construct(options, ProfitCenterItem);\r\n\r\n}\r\n","if(typeof Supplier==='undefined'){\r\n class Supplier extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n console.log('Supplier constructor called');\r\n };\r\n };\r\n window.Supplier=Supplier;\r\n}\r\n\r\n\r\nwindow.SupplierAdmin=function (options,SupplierItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token:null,\r\n containerCssSelector: '.containerSupplier',\r\n testMode:false,\r\n URL:{\r\n getDataTableContent:'',\r\n index:'',\r\n show:'',\r\n edit:'',\r\n create:'',\r\n store:'',\r\n update:'',\r\n destroy:'',\r\n attachFile:'',\r\n detachFile:'',\r\n },\r\n dataTable:{\r\n orderDirective:[1, 'asc']\r\n },\r\n onAfterInitViewDetails:function (){}\r\n };\r\n let Supplier = {};\r\n let root = this;\r\n let contactPopupWorkflow='new';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options,SupplierItem) {\r\n console.log('SupplierAdmin constructor called');\r\n $.extend(Opts, options);\r\n if(!SupplierItem){\r\n console.log('supplier letre kellet hozni ');\r\n if(!APP.Supplier){\r\n APP.Supplier=new window.Supplier();\r\n }\r\n root.Supplier=APP.Supplier;\r\n }\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n\r\n this.formDataToDataObjectAPICallOld= function (CSSSelector) {\r\n let data = new FormData(document.querySelector(CSSSelector));\r\n //let formJSON = Object.fromEntries(data.entries());\r\n var formJSON = {};\r\n data.forEach((value, key) => {\r\n // Reflect.has in favor of: formJSON.hasOwnProperty(key)\r\n if(!Reflect.has(formJSON, key)){\r\n formJSON[key] = value;\r\n return;\r\n }\r\n if(!Array.isArray(formJSON[key])){\r\n formJSON[key] = [formJSON[key]];\r\n }\r\n formJSON[key].push(value);\r\n });\r\n\r\n $(CSSSelector+' input[data-inputmask]').each(function (){\r\n if(formJSON[$(this).attr('name')]){\r\n formJSON[$(this).attr('name')]=formJSON[$(this).attr('name')].replace(/[_ ]+$/g,\"\");\r\n }\r\n });\r\n //formJSON.productGroups=$(\".productCategorySelect\").select2().val();\r\n\r\n\r\n /*Multiselect or checkbox to array:\r\n ajaxData['productGroup']=$(\".productCategorySelect\").select2().val();\r\n\r\n formJSON.multiselectName = data.getAll('multiselectName');\r\n $.each(formJSON, function (item, value) {\r\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\r\n delete formJSON[item];\r\n });\r\n if(formJSON.phone){\r\n formJSON.phone=formJSON.phone.replaceAll('_','');\r\n }\r\n if(formJSON.email){\r\n formJSON.email=formJSON.email.replaceAll('_','');\r\n }\r\n */\r\n return formJSON;\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n $.each(ajaxData.getAll('profitCenter'),function(key,value){\r\n ajaxData.append('profitCenter[]',value);\r\n })\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n $.each(ajaxData.getAll('supplierService'),function(key,value){\r\n ajaxData.append('supplierService[]',value);\r\n })\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n\r\n return ajaxData;\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n event.preventDefault();\r\n if ($(CSSSelectorForm+' input[name=\"canSeeInOrder\"]').val()==1 && $(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.Supplier.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.Supplier.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n\r\n debug(ajaxMethod);\r\n debug(ajaxData);\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű beszálllító elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n console.log(Supplier);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'orderEmail','orderEmail2','address','mailingAddress','phone','fax','customerServicePhone',\r\n 'name22',\r\n 'openHours', 'ordersDeadline', 'minOrderValue',\r\n ];\r\n $.each(needToSet,function () {\r\n if(typeof root.Supplier[this]!='undefined'){\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.Supplier[this]);\r\n $(CSSSelectorForm+' textarea[name='+this+']').val(root.Supplier[this]);\r\n }\r\n })\r\n if(typeof root.Supplier['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.Supplier.note);\r\n }\r\n if(typeof root.Supplier['emailAttachmentType']!='undefined'){\r\n $(CSSSelectorForm+' input[name=emailAttachmentType][value='+root.Supplier['emailAttachmentType']+']').prop('checked',true);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.Supplier.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=canSeeInOrder][data-title='+root.Supplier.canSeeInOrder+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.Supplier.hooreycaDataActive+']').click();\r\n let productGroup=[];\r\n $.each(root.Supplier.product_group,function () {\r\n productGroup.push(this.name);\r\n });\r\n $(CSSSelectorForm+' .productCategorySelect').val(productGroup).change();\r\n\r\n let service=[];\r\n $.each(root.Supplier.service,function () {\r\n service.push(this.name);\r\n });\r\n $(CSSSelectorForm+' .serviceSelect').val(service).change();\r\n\r\n let profitCenter=[];\r\n $.each(root.Supplier.profit_center,function () {\r\n profitCenter.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n //debug(profitCenter);\r\n $.each(profitCenter,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n if(typeof root.Supplier['logoFile']!='undefined' && (root.Supplier['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.Supplier['logoFile']);\r\n }\r\n\r\n //debug(APP.SupplierAdmin.formDataToDataObjectAPICall('.supplierForm')['productGroup']);\r\n //$('[name=productGroup]').val(['Büféáru_édesipari_termékek','Tojás']).change();\r\n //root.setDetailsViewData();\r\n }\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $('.supplierForm .buttonNewContact').bind('click',function (){\r\n APP.SupplierAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons();\r\n $(\":input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $('form.supplierForm button.FormSaveButton').off('click');\r\n $('form.supplierForm button.FormSaveButton').on('click',root.clickSaveButton);\r\n root.setDetailsViewData();\r\n $(\".productCategorySelect\").select2();\r\n $(\".serviceSelect\").select2({\r\n tags: true,\r\n createTag: function (params) {\r\n let term = $.trim(params.term);\r\n\r\n if (term === '') {\r\n return null;\r\n }\r\n\r\n return {\r\n id: term,\r\n text: term,\r\n newTag: true // add additional parameters\r\n }\r\n }\r\n });\r\n\r\n //$(\".profitCenterSelect\").select2();\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n\r\n $('form.supplierForm .profitCenterSelectCheckboxAll').off('click');\r\n $('form.supplierForm .profitCenterSelectCheckboxAll').on('click',function () {\r\n //console.log();\r\n //let checked=$(this).is(\":checked\")\r\n $('form.supplierForm input.profitCenterSelectCheckbox').prop('checked',$(this).is(\":checked\"));\r\n });\r\n root.renderAttachment();\r\n //Opts.onAfterInitViewDetails();\r\n root.initFileAttachmentFeature();\r\n debug('**end initViewDetails ');\r\n }\r\n\r\n this.selectedUploadFileToggle=function (fileInput){\r\n /*\r\n console.log(fileInput.attr('name'));\r\n console.log(fileInput[0].files[0]);\r\n console.log(fileInput[0].files[0].name);\r\n */\r\n if(fileInput){\r\n $('.containerFileUpload').addClass('d-none');\r\n if(fileInput[0].files[0]){\r\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\r\n\r\n }\r\n $('.containerFileUploadStarted').removeClass('d-none');\r\n $('.containerUploadedSpinner').removeClass('d-none');\r\n }else{\r\n $('.containerUploadedFileName').text('');\r\n $('.custom-file-label.selected').text('');\r\n $('.containerFileUploadStarted').addClass('d-none');\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.initFileAttachmentFeature=function () {\r\n console.log('-------initFileAttachmentFeature-----------');\r\n if(root.Supplier.id){\r\n $('.containerFileUpload').removeClass('d-none');\r\n $('.containerFileUploadNone').addClass('d-none');\r\n }\r\n\r\n\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.group('-------buttonUpload-----------');\r\n let fileInput=$('#inputGroupAttacheFile');\r\n if(fileInput[0].files.length<1){\r\n Toast.create(\"Hiba!\", 'Vállaszon ki fájlt!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n console.log($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n\r\n root.selectedUploadFileToggle(fileInput);\r\n let ajaxUrl=Opts.URL.attachFile.replace('%id%',root.Supplier.id);\r\n\r\n console.groupEnd();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.addAttachment(data.data.attachment);\r\n root.selectedUploadFileToggle();\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n });\r\n\r\n }\r\n\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.Supplier=new window.Supplier();\r\n root.initViewDetails();\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n this.clickOrderDeleteConfirmed=function (event){\r\n debug('clickSupplierDeleteConfirmed');\r\n debug(event);\r\n debug(event.data);\r\n $('#dialogModal').modal('hide');\r\n let ajaxData={};\r\n ajaxData._token=Opts.token;\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',event.data.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n console.log(ajaxUrl);\r\n console.log(ajaxData);\r\n let row=$(dataTableCSSSelector).DataTable().row(root.dadatatableRowActionCallerNode.parents('tr'));\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n root.dadatatableRowActionCallerNode=false;\r\n }\r\n }\r\n });\r\n\r\n }\r\n let datatableRowActionCallerNode=false;\r\n\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n root.dadatatableRowActionCallerNode=node;\r\n $('#dialogModal').on('show.bs.modal', function (event) {\r\n // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).\r\n // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.\r\n var modal = $(this);\r\n modal.find('.modal-title').text('Megerősítés ');\r\n modal.find('.modal-body').text('Biztosan törli a beszállítót?');\r\n modal.find('.buttonYes').off('click');\r\n modal.find('.buttonYes').on('click',{id:rowData.id},root.clickOrderDeleteConfirmed);\r\n });\r\n $('#dialogModal').modal('show');\r\n }\r\n\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n this.autofillDetails=function (){\r\n debug('nyeresre allunk');\r\n let randomNumber=getRandomInt(9999);\r\n $('input[name=name]').val('Beszalító'+randomNumber);\r\n $('input[name=hooreycaId]').val('hb'+randomNumber);\r\n $('input[name=nameId]').val('be'+randomNumber);\r\n $('input[name=orderEmail]').val('kapcsolat'+randomNumber+'@beszallito.hu');\r\n $('input[name=orderEmail2]').val('informacio'+randomNumber+'@beszallito.hu');\r\n $('input[name=address]').val('8989 Supplier utca '+randomNumber);\r\n $('input[name=mailingAddress]').val('8989 Postai út'+randomNumber);\r\n $('input[name=phone]').val('+36301234567');\r\n $('input[name=fax]').val('36308889999');\r\n $('input[name=customerServicePhone]').val('+36761234444');\r\n $('textarea[name=note]').val('Megjegyzem '+randomNumber);\r\n\r\n }\r\n this.testMode=function () {\r\n console.debug('!!!!testmode !!!!');\r\n root.Supplier = new window.Supplier({\r\n 'contact':[\r\n {\r\n id:2,\r\n },\r\n {\r\n id:3,\r\n },\r\n /*\r\n {\r\n id:3,\r\n name:'Kósa Veronika',\r\n email:'szamlazas4@funkcio.hu',\r\n phone:'{{formatterPhoneNumber(\"+36204589180\")}}'\r\n }\r\n*/\r\n\r\n ]\r\n });\r\n Opts.onAfterInitViewDetails=root.autofillDetails;\r\n APP.loadMainContent(Opts.URL.create,root.initViewDetails);\r\n }\r\n this.init=function (options,SupplierItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(SupplierItem){\r\n root.Supplier=SupplierItem\r\n }\r\n root.initViewList();\r\n }\r\n\r\n this.renderAttachment=function (){\r\n let rowNum=1;\r\n console.log('renderingAttachment');\r\n $.each(root.Supplier.getData('attachment'),function (){\r\n let attachmentData=this;\r\n attachmentData.rowNum=rowNum;\r\n date=new Date(attachmentData.created_at);\r\n attachmentData.date=date.toLocaleString();\r\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\r\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $('.attachmentTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAttachmentClickAction();\r\n }\r\n\r\n this.addAttachment=function (attachmentData){\r\n console.log(attachmentData);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n root.Supplier.attachment.push(attachmentData);\r\n attachmentData.rowNum=root.Supplier.attachment.length;\r\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Fájl hozzáadva!\", attachmentData.original_filename+\" fájl hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n this.resetContactTable=function (){\r\n $('.contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.Supplier.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n //console.log(contactData);\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n let node=$('.contactTable .buttonDelete');\r\n node.unbind('click');\r\n node.bind('click',root.contactDeleteClick);\r\n\r\n node=$('.contactTable .buttonEdit');\r\n node.unbind('click');\r\n node.bind('click',root.contactEditClick);\r\n\r\n }\r\n\r\n this.bindAttachmentClickAction=function (){\r\n let node=$('.attachmentTable .buttonDelete');\r\n node.unbind('click');\r\n node.bind('click',root.attachmentDeleteClick);\r\n }\r\n let currentAttachmentRow=false;\r\n this.attachmentDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=attachmentId]').val();\r\n let ajaxUrl=Opts.URL.detachFile.replace('%id%',root.Supplier.id);\r\n //let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n //data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n let data={};\r\n data._token=$('input[name=\"_token\"]').val();\r\n data.attachemntId=id;\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:data,\r\n type:'POST',\r\n //contentType:false,\r\n //processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.Supplier.attachment=root.Supplier.attachment.filter(\r\n function (value,index,arr){\r\n if (value.id!==data.data. attachment.id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n /*\r\n */\r\n //row.remove();\r\n root.resetAttachmentTable();\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n this.resetAttachmentTable=function (){\r\n $('.attachmentTable tbody tr').remove();\r\n root.renderAttachment();\r\n }\r\n\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n root.Supplier.contact=root.Supplier.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n root.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n root.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n //console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n\r\n this.getSupplier=function (){\r\n return root.Supplier;\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.Supplier.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.Supplier.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create(\"Kapcsolat adatai módosítva!\", contactData.name+\" nevű kapocsolattartó módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.Supplier.contact.push(contactData);\r\n contactData.rowNum=root.Supplier.contact.length;\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Kapcsolat tartó hozzáadva!\", contactData.name+\" nevű kapocsolattartó hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n this.construct(options,SupplierItem);\r\n};\r\n"],"names":["window","Dashboard","Opts","active","containerCssSelector","testFileMod","isAdmin","URL","create","store","getDataTableContent","destroy","root","this","construct","options","debug","$","extend","getOpts","init","console","log","initEditorButtons","off","on","initEditor","toggleClass","saveCustomContent","removeEditor","ajaxData","FormData","append","tinymce","activeEditor","getContent","ajaxUrl","update","replace","data","ajax","url","type","contentType","processData","beforeSend","success","Toast","TOAST_STATUS","INFO","error","responseJSON","ajaxErrorFieldHandler","loadTinymce","getScript","remove","selector","language","plugins","toolbar","PriceListAdmin","ProfitCenterItem","dataTableCSSSelector","errorRowPointer","errorRowCount","initErrorNavigationButton","length","removeClass","scrollTop","position","top","addClass","selectedUploadFileToggle","fileInput","files","text","name","empty","clickNewPriceListCallBack","initViewDetails","clickNewPriceList","APP","loadMainContent","datatableRowActionButtonClick","event","node","currentTarget","row","DataTable","parents","rowData","id","_token","val","method","draw","initViewList","colNum","setOpts","datatableActionButtonClickCallBack","datatableRowActionButtonClickCallBack","dataTablePriceList","datatableAddRowTrashButton","arguments","buttons","autoPrint","className","attr","api","config","action","e","dt","settings","datatableAddRowAction","datepicker","dateFormat","onSelect","dateText","replaceAll","DANGER","processCheckedPriceListResponse","hide","priceListHasError","responseData","processCheckedPriceListResponseRows","rows","show","responseRowsData","key","templateData","originalData","rowNum","template","html","render","Mustache","ucFirst","status","processResponseRowErrors","changed","processResponseRowChanged","changedArray","trNode","tdNode","find","changedTxtNode","document","createElement","old","errorArray","fields","errorTxtNode","PriceListProfitCenterAdmin","token","testMode","getProductGroupHTML","index","edit","dataTable","orderDirective","onAfterInitViewDetails","SupplierItem","changeParameter","supplier","profitCenter","deliveryDate","checkRefreshPossible","needRefresh","each","refreshDatatable","refreshProductGroup","setDatatableHeaderText","getTreePathName","res","items","toArray","item","shift","reverse","children","bindProductGroupItem","groupId","selectedProductGroup","reload","changePriceListProfitCenterParameter","obj","objName","get","nodeName","select2","CSSSelectorForm","click","maximumSelectionLength","minDate","Date","input","getDatatables","productSelectDataTableDrawDT","orderType","supplierId","profitCenterId","OrderModule","productSelectDataTableColumnDefs","productSelectDataTableColumn","Product","_Product","_this","_classCallCheck","_callSuper","contact","_inherits","DataModel","ProductAdmin","ProductItem","container","resultContainerSelector","resultContainer","filters","attachFile","detachFile","actionName","capitalize","datatableRowActionEdit","initViewListOld","undefined","serverSide","orderable","datatableAddRowEditButton","latinise","placeholder","allowClear","getProductSearch","dataType","params","term","page","cache","button","loadingResultContainer","requestProducts","setVisibleFilters","hideResultContainer","showResultContainer","picture","picUrl","PublicUrl","filename","specification","addAttachment","FormSaveButton","clickSaveButton","attachmentData","dateStr","updated_at","toLocaleString","date","link","enableTimers","original_filename","SUCCESS","typeIndex","typeName","c","formDataToDataObjectAPICall","getAll","value","getAjaxDataJson","_step","_iterator","_createForOfIteratorHelper","entries","s","n","done","pair","err","f","object","forEach","Reflect","has","Array","isArray","push","JSON","stringify","ajaxDataJson","d","processResponse","preventDefault","checkValidity","stopPropagation","ajaxMethod","headers","DataModelProfitCenter","_DataModelProfitCenter","address","constructor","ProfitCenterAdmin","contactPopupWorkflow","addressPopupWorkflow","ProfitCenter","getData","clickNew","clickNewCallBack","ContactPopUp","onAfterSave","contactAction","renderContact","bind","setContactPopupWorkflow","clearData","AddressPopUp","addressAction","renderAddress","setAddressPopupWorkflow","tooltip","initRadioButtons","onChange","inputmask","setDetailsViewData","note","canSee","hooreycaDataActive","addressEqual","multiAddress","suppliers","escapeSelector","prop","resetContactTable","bindContactClickAction","unbind","contactDeleteClick","contactEditClick","closest","filter","arr","getContactPopupWorkflow","loadData","contactData","addContact","editContact","newContacts","resetAddressTable","itemData","bindAddressClickAction","addressDeleteClick","addressEditClick","getAddressPopupWorkflow","addAddress","editAddress","ItemData","street","newItem","datatableRowActionDelete","table","Object","fromEntries","indexKey","set","Supplier","_Supplier","SupplierAdmin","formDataToDataObjectAPICallOld","CSSSelector","querySelector","formJSON","canSeeInOrder","productGroup","product_group","change","service","profit_center","tags","createTag","trim","newTag","setImageFromLocal","is","renderAttachment","initFileAttachmentFeature","group","groupEnd","attachment","clickOrderDeleteConfirmed","modal","dadatatableRowActionCallerNode","autofillDetails","randomNumber","getRandomInt","created_at","bindAttachmentClickAction","attachmentDeleteClick","attachemntId","resetAttachmentTable","getSupplier"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"/js/admin.js","mappings":"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","sources":["webpack:///./resources/js/admin/dashboard.js","webpack:///./resources/js/admin/priceList.js","webpack:///./resources/js/admin/priceListProfitCenter.js","webpack:///./resources/js/admin/product.js","webpack:///./resources/js/admin/profitCenter.js","webpack:///./resources/js/admin/supplier.js"],"sourcesContent":["window.Dashboard=function () {\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".dashboard\",\r\n testFileMod:false,\r\n isAdmin:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('Dashboard constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n this.init = function (options) {\r\n console.log('Dashboard init called');\r\n $.extend(Opts, options);\r\n/*\r\n APP.setOpts({\r\n afterLoadMainContent:root.initEditor,\r\n })\r\n*/\r\n /*\r\n Init list view\r\n */\r\n root.initEditorButtons();\r\n }\r\n\r\n this.initEditorButtons=function (){\r\n $('.DashboardEditable button.edit').off('click');\r\n $('.DashboardEditable button.edit').on('click',function (){\r\n root.initEditor();\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n });\r\n\r\n $('.DashboardEditable button.btnSave').off('click');\r\n $('.DashboardEditable button.btnSave').on('click',function (){\r\n /*$('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n */\r\n root.saveCustomContent();\r\n //tinymce.activeEditor.isDirty() //true when modified\r\n });\r\n\r\n\r\n\r\n $('.DashboardEditable button.btnCancel').off('click');\r\n $('.DashboardEditable button.btnCancel').on('click',function (){\r\n\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n root.removeEditor();\r\n });\r\n\r\n }\r\n\r\n this.saveCustomContent=function (){\r\n let ajaxData= new FormData($('.dashboardForm')[0]);\r\n ajaxData.append('stored_data',tinymce.activeEditor.getContent());\r\n let ajaxUrl=Opts.URL.update.replace('%id%',$('div.dashboardCustomContent').data('id'));\r\n ajaxData.append('_method','PUT');\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n Toast.create(\"Siekeres mentés!\",'Új tartalom elmentve.' , TOAST_STATUS.INFO,5000);\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n this.loadTinymce= function (){\r\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js',function (){\r\n root.initEditor();\r\n });\r\n }\r\n this.removeEditor = function (options) {\r\n if(typeof tinymce!==\"undefined\"){\r\n tinymce.remove();\r\n }\r\n }\r\n this.initEditor = function (options) {\r\n\r\n if(typeof tinymce===\"undefined\"){\r\n root.loadTinymce();\r\n return;\r\n }\r\n\r\n tinymce.init({\r\n selector: 'div.dashboardCustomContent', // Replace this CSS selector to match the placeholder element for TinyMCE\r\n language: 'hu_HU',\r\n plugins: 'code table lists',\r\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n\r\n/*\r\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n setup: function (editor) {\r\n editor.ui.registry.addButton('customInsertButton', {\r\n text: 'My Button',\r\n onAction: function (_) {\r\n editor.insertContent(' It\\'s my button! ');\r\n }});\r\n }\r\n*/\r\n\r\n });\r\n }\r\n};\r\n","window.PriceListAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".priceListForm\",\r\n testFileMod:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let PriceList = {};\r\n let root = this;\r\n let dataTableCSSSelector=null;\r\n\r\n\r\n\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('PriceListAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n\r\n let errorRowPointer=null;\r\n let errorRowCount=0;\r\n\r\n this.initErrorNavigationButton=function (){\r\n\r\n errorRowCount=$('.statusError').length;\r\n errorRowPointer=null;\r\n $('.priceListForm .buttonPrevError .buttonNextError').off('click')\r\n $('.priceListForm .buttonPrevError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer>0){\r\n errorRowPointer--;\r\n }else{return;}\r\n }\r\n $('.statusError').removeClass('highlightedErrorRow');\r\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\r\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\r\n });\r\n $('.priceListForm .buttonNextError').off('click');\r\n $('.priceListForm .buttonNextError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer tbody').empty();\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.clickNewPriceListCallBack=function () {\r\n root.initViewDetails();\r\n }\r\n this.clickNewPriceList=function(){\r\n APP.loadMainContent(Opts.URL.create,root.clickNewPriceListCallBack);\r\n }\r\n this.datatableRowActionButtonClick=function(event){\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n //_token\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n/*\r\n*/\r\n\r\n\r\n }\r\n\r\n this.initViewList = function (options) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNewPriceList,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n\r\n\r\n APP.dataTablePriceList=$(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n\r\n buttons: [\r\n //'createState', 'savedStates',\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"supplierName\" },\r\n { \"data\": \"available\" },\r\n { \"data\": \"created_at\" },\r\n { \"data\": \"note\" },\r\n null,\r\n ],\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n\r\n }\r\n\r\n this.initViewDetails = function (options) {\r\n $(Opts.containerCssSelector+' .datePickerClick').off('click');\r\n $(Opts.containerCssSelector+' .datePickerClick').on('click',function(){\r\n $(Opts.containerCssSelector+' .datePicker').datepicker('show');\r\n });\r\n\r\n $(Opts.containerCssSelector+' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n onSelect:function (dateText){\r\n console.log(dateText);\r\n $('.selectedDateText').text(dateText.replaceAll('-','.'));\r\n\r\n $('input[name=\"availableDate\"]').val(dateText);\r\n\r\n },\r\n\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonNewUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonNewUpload').on('click',function (){\r\n root.selectedUploadFileToggle();\r\n });\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.log('------------------');\r\n root.selectedUploadFileToggle();\r\n\r\n let data= new FormData($('.priceListForm')[0]);\r\n if($('.supplierSelect').val().length<1){\r\n Toast.create(\"Hiba!\", 'Adjon meg beszállítót!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n let fileInput=$('#inputGroupPriceListFile');\r\n console.log(fileInput[0].files.length<1);\r\n\r\n /* teszteles miatt kikapcsolva a fajl ellenorzes\r\n */\r\n if(!Opts.testFileMod){\r\n console.log(fileInput[0].files.length<1);\r\n if(fileInput[0].files.length<1){\r\n Toast.create(\"Hiba!\", 'Vállaszon ki fájlt!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n }\r\n\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n root.selectedUploadFileToggle(fileInput);\r\n\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonFinalization').on('click',function (){\r\n let data= new FormData($('.priceListForm')[0]);\r\n let fileInput=$('#inputGroupPriceListFile');\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n data.append('finalization',1);\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success){\r\n $('.priceListTable tbody tr').remove();\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\r\n }\r\n /*\r\n if(data.success==1){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n */\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n }\r\n\r\n this.init = function (options) {\r\n console.log('PriceListAdmin init called');\r\n $.extend(Opts, options);\r\n console.log('Opt extended');\r\n console.log(Opts);\r\n /*\r\n Init list view\r\n */\r\n console.log('call list view Init');\r\n root.initViewList(options);\r\n\r\n\r\n }\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n let priceListHasError=false;\r\n\r\n this.processCheckedPriceListResponse=function (responseData){\r\n priceListHasError=false;\r\n root.processCheckedPriceListResponseRows(responseData.rows);\r\n if(priceListHasError){\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow >.canFinishError').show();\r\n root.initErrorNavigationButton();\r\n }else{\r\n $('.uploadStatusRow >.canFinish').show();\r\n $('.uploadStatusRow >.canFinishError').hide();\r\n }\r\n $('.uploadStatusRow').removeClass('d-none');\r\n $('.containerUploadedSpinner').addClass('d-none');\r\n }\r\n\r\n this.processCheckedPriceListResponseRows=function (responseRowsData){\r\n console.log('processingRows');\r\n for (let key in responseRowsData) {\r\n let rowData=responseRowsData[key];\r\n let templateData=rowData.originalData;\r\n templateData.rowNum=rowData.rowNum;\r\n let template=$('template[data-name=\"priceListTableRow\"]').html()\r\n let render=Mustache.render(template,templateData);\r\n $('.priceListTable tbody').append(render);\r\n $('tr[data-rownum='+rowData.rowNum+']').addClass('status'+$.ucFirst(rowData.status));\r\n root.processResponseRowErrors(rowData.error,rowData.rowNum);\r\n if(rowData.changed){\r\n root.processResponseRowChanged(rowData.changed,rowData.rowNum);\r\n }\r\n }\r\n }\r\n this.processResponseRowChanged=function (changedArray,rowNum){\r\n if(changedArray.length<1){\r\n return;\r\n }\r\n console.log(changedArray);\r\n //fields error resz\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in changedArray) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-primary');\r\n let changedTxtNode=$(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\r\n tdNode.append(changedTxtNode);\r\n }\r\n\r\n }\r\n this.processResponseRowErrors=function (errorArray,rowNum){\r\n if(errorArray.length<1){\r\n return;\r\n }\r\n //general error resz\r\n console.log(errorArray);\r\n priceListHasError = true;\r\n\r\n //fields error resz\r\n if(typeof errorArray.fields =='undefined'){\r\n return;\r\n }\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in errorArray.fields) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-danger');\r\n let errorTxtNode=$(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\r\n tdNode.append(errorTxtNode);\r\n }\r\n }\r\n};\r\n","window.PriceListProfitCenterAdmin=function (options) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerPriceListProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n getProductGroupHTML: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, SupplierItem) {\r\n console.log('PriceListProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n let changeParameter={\r\n supplier:'',\r\n profitCenter:'',\r\n deliveryDate:'',\r\n /*\r\n supplier:26,\r\n profitCenter:49,\r\n deliveryDate:'2023-09-10',\r\n */\r\n\r\n }\r\n\r\n this.checkRefreshPossible=function (){\r\n console.log('check need parameter');\r\n let needRefresh=true;\r\n $.each(changeParameter,function (name,data){\r\n if(data===''){\r\n needRefresh=false;\r\n }\r\n });\r\n if(needRefresh){\r\n root.refreshDatatable()\r\n root.refreshProductGroup();\r\n root.setDatatableHeaderText('');\r\n }\r\n }\r\n this.setDatatableHeaderText=function(text){\r\n $('.tableHeaderText').text(text);\r\n }\r\n\r\n this.getTreePathName=function (node){\r\n let res='';\r\n let items=$(node).parents('li').toArray();\r\n items.shift();\r\n items.reverse();\r\n for (const item in items) {\r\n if($(items[item]).children('a.categoryItem').length>0){\r\n res+=$(items[item]).children('a.categoryItem').text()+'/'\r\n }\r\n }\r\n res+=$(node).text();\r\n return res;\r\n }\r\n\r\n this.bindProductGroupItem=function(){\r\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\r\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\r\n function () {\r\n let groupId=$(this).data('id');\r\n selectedProductGroup=groupId;\r\n root.setDatatableHeaderText(root.getTreePathName(this));\r\n /*\r\n console.log(groupId);\r\n console.log(root.getTreePathName(this));\r\n */\r\n root.refreshDatatable();\r\n });\r\n\r\n\r\n }\r\n this.refreshProductGroup=function (){\r\n let ajaxData={\r\n 'supplierId':changeParameter.supplier,\r\n 'deliveryDate':changeParameter.deliveryDate\r\n }\r\n let ajaxUrl=Opts.URL.getProductGroupHTML;\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'GET',\r\n contentType:false,\r\n processData: true,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n $('.sidebar-menu .productGroup').find('ul').html(data);\r\n root.bindProductGroupItem();\r\n },\r\n error: function(data) {\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n this.refreshDatatable=function (){\r\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\r\n }\r\n\r\n\r\n this.changePriceListProfitCenterParameter=function(e,obj){\r\n if(typeof obj =='undefined'){\r\n obj=$(this);\r\n }\r\n let objName=obj.attr(\"name\");\r\n if(objName=='supplier'){\r\n selectedProductGroup=null;\r\n }\r\n let data='';\r\n if(obj.get(0).nodeName=='SELECT'){\r\n if(obj.select2('data').length>0){\r\n data=obj.select2('data')[0].id;\r\n };\r\n }else{\r\n data=obj.val()\r\n }\r\n if(changeParameter[objName]!=data){\r\n changeParameter[objName]=data;\r\n root.checkRefreshPossible();\r\n }\r\n }\r\n\r\n this.init=function (options){\r\n $.extend(Opts, options);\r\n let CSSSelectorForm=Opts.containerCssSelector;\r\n $(CSSSelectorForm+' .datePickerClick').click(function(){\r\n $(CSSSelectorForm+' .datePicker').datepicker('show');\r\n });\r\n\r\n $('.supplierSelect').on('change',root.changePriceListProfitCenterParameter);\r\n $('.profitCenterSelect').on('change',root.changePriceListProfitCenterParameter);\r\n\r\n //$('input[name=\"deliveryDate\"]').on('change',changePriceListProfitCenterParameter);\r\n\r\n\r\n $(\".supplierSelect\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n /*\r\n */\r\n $(\".profitCenterSelect\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n\r\n $(CSSSelectorForm + ' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n minDate: new Date(),\r\n onSelect: function (dateText,obj) {\r\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\r\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\r\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\r\n root.changePriceListProfitCenterParameter(null,$(obj.input));\r\n },\r\n });\r\n //root.initViewList();\r\n let table = root.getDatatables('');\r\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\r\n /*\r\n /!*\r\n ----------------------------------------------------------\r\n Add event listener for opening and closing details\r\n *!/\r\n\r\n $('.dataTableOrderProductSelect tbody').on('click', 'td.details-control', function () {\r\n let tr = $(this).closest('tr');\r\n let row = table.row( tr );\r\n\r\n if ( row.child.isShown() ) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n // Open this row\r\n row.child( root.productSelectDatatablesRowFormatter(row.data()) ).show();\r\n tr.addClass('shown');\r\n root.bindProductDetailsAction();\r\n }\r\n } );*/\r\n }\r\n this.productSelectDataTableDrawDT=function (e) {\r\n //debug( 'Table draw complete: '+new Date().getTime() );\r\n\r\n $('td:contains(\"*\")').html('');\r\n $('td.details-control').removeClass('details-control');\r\n\r\n\r\n\r\n }\r\n let selectedProductGroup=null;\r\n\r\n this.getDatatables=function (orderType){\r\n let table = $('.dataTableOrderProductSelect').DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": {\r\n url:Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n /*\r\n data.searchStr=dataTableSearchStr;\r\n data.krel=dataTableSearchKrel;\r\n data.groupId=selectedProductGroup;\r\n */\r\n data.supplierId=changeParameter.supplier;\r\n data.profitCenterId=changeParameter.profitCenter;\r\n data.deliveryDate=changeParameter.deliveryDate;\r\n data.groupId=selectedProductGroup;\r\n }\r\n },\r\n buttons: {\r\n buttons: []\r\n },\r\n \"columnDefs\": APP.OrderModule.productSelectDataTableColumnDefs(),\r\n \"columns\": APP.OrderModule.productSelectDataTableColumn(),\r\n \"order\": [[1, 'asc']],\r\n } );\r\n return table;\r\n }\r\n\r\n\r\n}\r\n","if(typeof Product==='undefined'){\r\n class Product extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n console.log('Product constructor called');\r\n };\r\n };\r\n window.Product=Product;\r\n}\r\nwindow.ProductAdmin=function (options,ProductItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProduct',\r\n container:null,\r\n resultContainerSelector:'.containerProduct .containerResult',\r\n resultContainer:null,\r\n\r\n testMode: false,\r\n filters:{\r\n Product:{},\r\n },\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n attachFile: '',\r\n detachFile: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc'],\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let Product = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let dataTable=null;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProductItem) {\r\n console.log('ProductAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProductItem) {\r\n console.log('Product letre kellet hozni ');\r\n if (!APP.Product) {\r\n APP.Product = new window.Product();\r\n }\r\n root.Product = APP.Product;\r\n }\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.initViewListOld = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n serverSide: true,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n orderable: false,\r\n \"render\": function ( data, type, row ) {\r\n let\r\n buttons=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\"},\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n {\"data\": \"productGroup\"},\r\n {\"data\": \"supplierName\"},\r\n { \"data\": \"price\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n this.initViewList=function (options={}) {\r\n debug('initViewSearch inicialization 1');\r\n\r\n root.container.find('select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect').select2();\r\n root.container.find('select.productSelect').select2({\r\n placeholder: '...',\r\n allowClear: true,\r\n ajax: {\r\n url: Opts.URL.getProductSearch,\r\n dataType: 'json',\r\n data: function(params) {\r\n return {\r\n term: params.term || '',\r\n page: params.page || 1,\r\n supplierId: root.container.find('select.supplierSelect').val(),\r\n }\r\n },\r\n cache: true\r\n }\r\n });\r\n root.container.find('.datePickerFrom, .datePickerTo').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n\r\n onSelect: function (dateText,obj) {\r\n debug(this);\r\n debug(obj.input);\r\n /*\r\n root.container.find('.selectedDateText').text(dateText);\r\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\r\n root.container.find(' input[name=\"deliveryDate\"]').val(dateText);\r\n */\r\n //root.changePriceListProfitCenterParameter(null,$(obj.input));\r\n },\r\n });\r\n root.container.find('.datePickerClick').click(function(){\r\n debug($(this).data('action'));\r\n root.container.find('input[name=\"'+$(this).data('action')+'\"]').datepicker('show');\r\n });\r\n let button=root.container.find('.FormSendButton');\r\n button.off('click');\r\n button.on('click',function (){\r\n debug ('FormSendButton click');\r\n root.loadingResultContainer();\r\n root.requestProducts();\r\n });\r\n root.setVisibleFilters('Product');\r\n\r\n debug('initViewSearch end');\r\n }\r\n\r\n\r\n this.loadingResultContainer=function (){\r\n debug('clearResultContainer');\r\n debug(root.resultContainer);\r\n root.hideResultContainer();\r\n root.container.find('.containerLoading').show();\r\n /*\r\n let template=root.container.find('template[data-name=\"loading\"]').html()\r\n root.resultContainer.html(template);\r\n\r\n */\r\n }\r\n this.hideResultContainer=function (){\r\n debug('hide containerResult');\r\n debug(root.resultContainer);\r\n root.resultContainer.hide();\r\n }\r\n this.showResultContainer=function (){\r\n root.container.find('.containerLoading').hide();\r\n root.resultContainer.show();\r\n }\r\n\r\n this.init=function (options,ProductItem){\r\n console.log('ProductAdmin init');\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProductItem){\r\n root.Product=ProductItem\r\n }\r\n root.dataTable=null;\r\n root.container=$(Opts.containerCssSelector);\r\n root.resultContainer=$(Opts.resultContainerSelector);\r\n root.initViewList();\r\n }\r\n this.initViewDetails=function (options,ProductItem){\r\n debug('**call initViewDetails ');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n if(root.Product.picture){\r\n console.log('*****//////////////////****************');\r\n console.log(root.Product.picture);\r\n console.log(CSSSelectorForm);\r\n let picUrl=root.Product.picture.PublicUrl+'/'+root.Product.picture.filename;\r\n console.log(picUrl);\r\n console.log($(CSSSelectorForm+' img.imageProduct'));\r\n $(CSSSelectorForm+' img.imageProduct').attr('src',picUrl);\r\n }\r\n if(root.Product.specification){\r\n console.log('*****//////////////////****************');\r\n console.log(root.Product.specification);\r\n let docUrl=root.Product.specification.PublicUrl+'/'+root.Product.specification.filename;\r\n root.addAttachment(root.Product.specification);\r\n }\r\n let FormSaveButton=$(CSSSelectorForm+' button.FormSaveButton');\r\n FormSaveButton.off('click');\r\n FormSaveButton.on('click',root.clickSaveButton);\r\n\r\n }\r\n\r\n this.addAttachment=function (attachmentData){\r\n console.log(attachmentData);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n //root.Supplier.attachment.push(attachmentData);\r\n //attachmentData.rowNum=root.Supplier.attachment.length;\r\n attachmentData.rowNum=1;\r\n let dateStr=new Date(attachmentData.updated_at);\r\n dateStr=dateStr.toLocaleString('hu-HU', {});\r\n attachmentData.date=dateStr;\r\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\r\n let template=$('template[data-name=\"productAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\r\n //root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Fájl hozzáadva!\", attachmentData.original_filename+\" fájl hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n this.setVisibleFilters=function (type){\r\n console.log('setVisibleFilters');\r\n console.log(Opts.filters[type]);\r\n console.log(root.container);\r\n $(root.container).find('div[class*=\"filter\"]').hide()\r\n for (const typeIndex in Opts.filters[type]) {\r\n const typeName=Opts.filters[type][typeIndex];\r\n debug(typeName);\r\n console.log($(root.container).find('.filter_'+typeName));\r\n $(root.container).find('.filter_'+typeName).show();\r\n }\r\n }\r\n this.c=function (CSSSelectorForm){\r\n console.log('c called');\r\n console.log(CSSSelectorForm);\r\n console.log(root.container);\r\n console.log(root.container.find('form'));\r\n console.log(root.container.find(CSSSelectorForm));\r\n\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n\r\n console.log(CSSSelectorForm);\r\n console.log(root.container);\r\n console.log(root.container.find(CSSSelectorForm));\r\n console.log(root.container.find('form'));\r\n console.log(root.container.find('form'+CSSSelectorForm)[0]);\r\n //return;\r\n let ajaxData = new FormData(root.container.find('form'+CSSSelectorForm)[0]);\r\n $.each(ajaxData.getAll('supplier'), function (key, value) {\r\n ajaxData.append('suppliers[]', value);\r\n })\r\n ajaxData.delete('supplier');\r\n $.each(ajaxData.getAll('profitCenter'), function (key, value) {\r\n ajaxData.append('profitCenters[]', value);\r\n })\r\n ajaxData.delete('profitCenter');\r\n $.each(ajaxData.getAll('productGroup'), function (key, value) {\r\n ajaxData.append('productGroups[]', value);\r\n })\r\n ajaxData.delete('productGroup');\r\n $.each(ajaxData.getAll('product'), function (key, value) {\r\n ajaxData.append('products[]', value);\r\n })\r\n ajaxData.delete('product');\r\n $.each(ajaxData.getAll('producer'), function (key, value) {\r\n ajaxData.append('producers[]', value);\r\n })\r\n ajaxData.delete('producer');\r\n $.each(ajaxData.getAll('hooreycaName'), function (key, value) {\r\n ajaxData.append('hooreycaNames[]', value);\r\n })\r\n ajaxData.delete('hooreycaName');\r\n\r\n //ajaxData.append('_token', root.container.find('input[name=_token]').val());\r\n\r\n /*\r\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\r\n let indexKey = $(this).attr('name');\r\n if (ajaxData.get(indexKey)) {\r\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\r\n }\r\n });\r\n */\r\n return ajaxData;\r\n\r\n }\r\n this.getAjaxDataJson=function(){\r\n\r\n let ajaxData=root.formDataToDataObjectAPICall('.ProductListForm');\r\n console.log('======================');\r\n for (let pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n\r\n let object = {};\r\n ajaxData.forEach((value, key) => {\r\n // Reflect.has in favor of: object.hasOwnProperty(key)\r\n if(!Reflect.has(object, key)){\r\n object[key] = value;\r\n return;\r\n }\r\n if(!Array.isArray(object[key])){\r\n object[key] = [object[key]];\r\n }\r\n object[key].push(value);\r\n });\r\n let ajaxDataJson = JSON.stringify(object);\r\n return ajaxDataJson;\r\n }\r\n\r\n this.requestProducts=function () {\r\n let ajaxUrl=Opts.URL.getDataTableContent;\r\n let ajaxMethod='GET';\r\n //token formdataba!\r\n debug(ajaxUrl);\r\n\r\n ajaxDataJson=root.getAjaxDataJson();\r\n console.log(ajaxDataJson);\r\n\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n console.log(dataTableCSSSelector );\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n /*\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n */\r\n\r\n if(!root.dataTable){\r\n console.log('XXXXXXXXXXXXXXXXXXXX Nincs Datatable');\r\n root.dataTable=\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\":{\r\n url: Opts.URL.getDataTableContent,\r\n data: function (d) {\r\n console.log('---******----');\r\n console.log(APP.ProductAdmin.getAjaxDataJson());\r\n return $.extend({}, d, {\r\n ajaxData: APP.ProductAdmin.getAjaxDataJson\r\n });\r\n },\r\n type: ajaxMethod\r\n /*\r\n data: ajaxData,\r\n */\r\n } ,\r\n serverSide: true,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n orderable: false,\r\n \"render\": function ( data, type, row ) {\r\n let\r\n buttons=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\"},\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n {\"data\": \"productGroup\"},\r\n {\"data\": \"supplierName\"},\r\n { \"data\": \"price\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n root.showResultContainer();\r\n console.log('drawCallback');\r\n }\r\n } );\r\n\r\n\r\n }else{\r\n console.log('XXXXXXXXXXXXXXXXXXXX van Datatable');\r\n //root.dataTable.ajax.reload();\r\n root.dataTable.draw();\r\n }\r\n\r\n\r\n }\r\n this.processResponse=function () {\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n\r\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\r\n event.preventDefault();\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n\r\n let ajaxData=root.formDataToDataObjectAPICall('.productForm');\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.Product.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.Product.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n\r\n debug(ajaxMethod);\r\n debug(ajaxData);\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n //'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n 'X-CSRF-TOKEN': Opts.token\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű termék elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n// APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n","if(typeof DataModelProfitCenter==='undefined'){\r\n class DataModelProfitCenter extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n if(typeof this.address ===\"undefined\"){\r\n this.address=[];\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelProfitCenter=DataModelProfitCenter;\r\n}\r\n\r\nwindow.ProfitCenterAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let ProfitCenter = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let addressPopupWorkflow = 'new';\r\n let CSSSelectorForm='';\r\n let dataTableCSSSelector='';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProfitCenterItem) {\r\n console.log('ProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProfitCenterItem) {\r\n console.log('ProfitCentert letre kellet hozni ');\r\n if (!APP.ProfitCenter) {\r\n APP.ProfitCenter = new window.DataModelProfitCenter();\r\n }\r\n root.ProfitCenter = APP.ProfitCenter;\r\n }\r\n CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.getData=function (){\r\n return root.ProfitCenter;\r\n }\r\n\r\n this.init=function (options,ProfitCenterItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProfitCenterItem){\r\n root.ProfitCenter=ProfitCenterItem\r\n }\r\n root.initViewList();\r\n }\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.ProfitCenter=new window.DataModelProfitCenter();\r\n root.initViewDetails();\r\n }\r\n\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n /**\r\n * Contact Popup setup\r\n */\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $(CSSSelectorForm+' .buttonNewContact').bind('click',function (){\r\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n /**\r\n * Address Popup setup\r\n */\r\n if(!APP.AddressPopUp){\r\n console.log('nincs APP.AddressPopUp')\r\n APP.AddressPopUp = new window.AddressPopUp();\r\n }else{\r\n console.log('mar van APP.AddressPopUp')\r\n }\r\n APP.AddressPopUp.init({\r\n active:true,\r\n onAfterSave:root.addressAction\r\n });\r\n root.renderAddress();\r\n $(CSSSelectorForm+' .buttonNewAddress').bind('click',function (){\r\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\r\n APP.AddressPopUp.clearData();\r\n APP.AddressPopUp.show();\r\n });\r\n /**\r\n *\r\n */\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons({\r\n onChange: function (value,node) {\r\n debug(value);\r\n debug(node);\r\n /*\r\n\r\n if(node==='profitCenterMultiAddress'){\r\n if(value==1){\r\n $('.containerMultiAddress').removeClass('d-none');\r\n }else{\r\n $('.containerMultiAddress').addClass('d-none');\r\n }\r\n }\r\n\r\n */\r\n if(node==='addressEqual'){\r\n if(value==1){\r\n $(CSSSelectorForm+' .containerMultiAddress').addClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').addClass('d-none');\r\n }else{\r\n $(CSSSelectorForm+' .containerMultiAddress').removeClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').removeClass('d-none');\r\n }\r\n }\r\n\r\n }\r\n });\r\n $(CSSSelectorForm+\" :input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $(CSSSelectorForm+' button.FormSaveButton').off('click');\r\n $(CSSSelectorForm+' button.FormSaveButton').on('click',root.clickSaveButton);\r\n/*\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n*/\r\n\r\n //Opts.onAfterInitViewDetails();\r\n debug('**end initViewDetails ');\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'email','postCode','city','street','phone','mobil'\r\n ];\r\n $.each(needToSet,function () {\r\n // debug(this); //alapadatok beallitasanak logolasa\r\n if(typeof root.ProfitCenter[this]!='undefined'){\r\n/* //alapadatok beallitasanak logolasa\r\n debug(root.ProfitCenter[this]);\r\n debug(CSSSelectorForm+' input[name='+this+']');\r\n debug($(CSSSelectorForm+' input[name='+this+']'));\r\n*/\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.ProfitCenter[this]);\r\n }\r\n })\r\n if(typeof root.ProfitCenter['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.ProfitCenter.note);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.ProfitCenter.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.ProfitCenter.hooreycaDataActive+']').click();\r\n\r\n if(typeof root.ProfitCenter['logoFile']!='undefined' && (root.ProfitCenter['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.ProfitCenter['logoFile']);\r\n }\r\n\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title='+root.ProfitCenter.addressEqual+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title='+root.ProfitCenter.multiAddress+']').click();\r\n /*debug(root.ProfitCenter.address.length);\r\n if(root.ProfitCenter.address.length>0){\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\r\n if(root.ProfitCenter.address.length>1){\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\r\n }\r\n }\r\n */\r\n let supplier=[];\r\n $.each(root.ProfitCenter.suppliers,function () {\r\n supplier.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n $.each(supplier,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n }\r\n\r\n this.resetContactTable=function (){\r\n $(CSSSelectorForm+' .contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.ProfitCenter.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n $('.contactTable .buttonDelete').unbind('click');\r\n $('.contactTable .buttonDelete').bind('click',root.contactDeleteClick);\r\n $('.contactTable .buttonEdit').unbind('click');\r\n $('.contactTable .buttonEdit').bind('click',root.contactEditClick);\r\n\r\n }\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.ProfitCenter.contact=root.ProfitCenter.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n console.log(root.ProfitCenter.contact);\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n this.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n this.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.contact.push(contactData);\r\n contactData.rowNum=root.ProfitCenter.contact.length;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $(CSSSelectorForm+' .contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Kapcsolat tartó hozzáadva!\", contactData.name+\" nevű kapocsolattartó hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.ProfitCenter.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.ProfitCenter.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create(\"Kapcsolat adatai módosítva!\", contactData.name+\" nevű kapocsolattartó módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n /***************\r\n *\r\n * Address function\r\n *\r\n */\r\n this.resetAddressTable=function (){\r\n $(CSSSelectorForm+' .addressTable tbody tr').remove();\r\n root.renderAddress();\r\n }\r\n this.renderAddress=function (){\r\n let rowNum=1;\r\n console.log('renderingAddress');\r\n $.each(root.ProfitCenter.getData('address'),function (){\r\n let itemData=this;\r\n itemData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n debug(itemData);\r\n let render=Mustache.render(template,itemData);\r\n $('.addressTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAddressClickAction();\r\n }\r\n\r\n this.bindAddressClickAction =function (){\r\n $('.addressTable .buttonDelete').unbind('click');\r\n $('.addressTable .buttonDelete').bind('click',root.addressDeleteClick);\r\n $('.addressTable .buttonEdit').unbind('click');\r\n $('.addressTable .buttonEdit').bind('click',root.addressEditClick);\r\n\r\n }\r\n this.addressDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.ProfitCenter.address=root.ProfitCenter.address.filter(\r\n function (value,index,arr){\r\n if (value.id!=id) return true;\r\n }\r\n );\r\n console.log(root.ProfitCenter.address);\r\n row.remove();\r\n root.resetAddressTable();\r\n }\r\n this.getAddressPopupWorkflow = function () {\r\n return addressPopupWorkflow;\r\n }\r\n this.setAddressPopupWorkflow = function (status) {\r\n addressPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.addressEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.setAddressPopupWorkflow('edit');\r\n APP.AddressPopUp.loadData(id);\r\n }\r\n this.addressAction=function (itemData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getAddressPopupWorkflow()=='new'){\r\n root.addAddress(itemData);\r\n }else if(root.getAddressPopupWorkflow()=='edit'){\r\n root.editAddress(itemData.id,itemData);\r\n }\r\n }\r\n this.addAddress=function (ItemData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.address.push(ItemData);\r\n ItemData.rowNum=root.ProfitCenter.address.length;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n let render=Mustache.render(template,ItemData);\r\n $(CSSSelectorForm+' .addressTable tbody').append(render);\r\n root.bindAddressClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Cím hozzáadva!\", ItemData.street+\" hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.editAddress=function (id,itemData){\r\n\r\n let newItem=[];\r\n $.each(root.ProfitCenter.getData('address'),function (index){\r\n if(this.id==id){\r\n newItem.push(itemData);\r\n }else{\r\n newItem.push(this);\r\n }\r\n });\r\n root.ProfitCenter.address=newItem;\r\n root.resetAddressTable();\r\n Toast.create(\"cím adatai módosítva!\", itemData.street+\" módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n console.log(ajaxUrl);\r\n */\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n event.preventDefault();\r\n debug(CSSSelectorForm);\r\n debug($(CSSSelectorForm));\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.ProfitCenter.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.ProfitCenter.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n/*\r\n debug(ajaxUrl);\r\n debug(ajaxMethod);\r\n debug(ajaxData.entries());\r\n for (var pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n*/\r\n\r\n console.table(Object.fromEntries(ajaxData));\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű beszálllító elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n/*\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n*/\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n $.each(ajaxData.getAll('supplier'),function(key,value){\r\n ajaxData.append('supplier[]',value);\r\n })\r\n return ajaxData;\r\n }\r\n this.construct(options, ProfitCenterItem);\r\n\r\n}\r\n","if(typeof Supplier==='undefined'){\r\n class Supplier extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n console.log('Supplier constructor called');\r\n };\r\n };\r\n window.Supplier=Supplier;\r\n}\r\n\r\n\r\nwindow.SupplierAdmin=function (options,SupplierItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token:null,\r\n containerCssSelector: '.containerSupplier',\r\n testMode:false,\r\n URL:{\r\n getDataTableContent:'',\r\n index:'',\r\n show:'',\r\n edit:'',\r\n create:'',\r\n store:'',\r\n update:'',\r\n destroy:'',\r\n attachFile:'',\r\n detachFile:'',\r\n },\r\n dataTable:{\r\n orderDirective:[1, 'asc']\r\n },\r\n onAfterInitViewDetails:function (){}\r\n };\r\n let Supplier = {};\r\n let root = this;\r\n let contactPopupWorkflow='new';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options,SupplierItem) {\r\n console.log('SupplierAdmin constructor called');\r\n $.extend(Opts, options);\r\n if(!SupplierItem){\r\n console.log('supplier letre kellet hozni ');\r\n if(!APP.Supplier){\r\n APP.Supplier=new window.Supplier();\r\n }\r\n root.Supplier=APP.Supplier;\r\n }\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n\r\n this.formDataToDataObjectAPICallOld= function (CSSSelector) {\r\n let data = new FormData(document.querySelector(CSSSelector));\r\n //let formJSON = Object.fromEntries(data.entries());\r\n var formJSON = {};\r\n data.forEach((value, key) => {\r\n // Reflect.has in favor of: formJSON.hasOwnProperty(key)\r\n if(!Reflect.has(formJSON, key)){\r\n formJSON[key] = value;\r\n return;\r\n }\r\n if(!Array.isArray(formJSON[key])){\r\n formJSON[key] = [formJSON[key]];\r\n }\r\n formJSON[key].push(value);\r\n });\r\n\r\n $(CSSSelector+' input[data-inputmask]').each(function (){\r\n if(formJSON[$(this).attr('name')]){\r\n formJSON[$(this).attr('name')]=formJSON[$(this).attr('name')].replace(/[_ ]+$/g,\"\");\r\n }\r\n });\r\n //formJSON.productGroups=$(\".productCategorySelect\").select2().val();\r\n\r\n\r\n /*Multiselect or checkbox to array:\r\n ajaxData['productGroup']=$(\".productCategorySelect\").select2().val();\r\n\r\n formJSON.multiselectName = data.getAll('multiselectName');\r\n $.each(formJSON, function (item, value) {\r\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\r\n delete formJSON[item];\r\n });\r\n if(formJSON.phone){\r\n formJSON.phone=formJSON.phone.replaceAll('_','');\r\n }\r\n if(formJSON.email){\r\n formJSON.email=formJSON.email.replaceAll('_','');\r\n }\r\n */\r\n return formJSON;\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n $.each(ajaxData.getAll('profitCenter'),function(key,value){\r\n ajaxData.append('profitCenter[]',value);\r\n })\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n $.each(ajaxData.getAll('supplierService'),function(key,value){\r\n ajaxData.append('supplierService[]',value);\r\n })\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n\r\n return ajaxData;\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n event.preventDefault();\r\n if ($(CSSSelectorForm+' input[name=\"canSeeInOrder\"]').val()==1 && $(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.Supplier.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.Supplier.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n\r\n debug(ajaxMethod);\r\n debug(ajaxData);\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create(\"Sikeres rögzítés!\", ajaxData.get('name')+\" nevű beszálllító elmentve\", TOAST_STATUS.SUCCESS,5000);\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n console.log(Supplier);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'orderEmail','orderEmail2','address','mailingAddress','phone','fax','customerServicePhone',\r\n 'name22',\r\n 'openHours', 'ordersDeadline', 'minOrderValue',\r\n ];\r\n $.each(needToSet,function () {\r\n if(typeof root.Supplier[this]!='undefined'){\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.Supplier[this]);\r\n $(CSSSelectorForm+' textarea[name='+this+']').val(root.Supplier[this]);\r\n }\r\n })\r\n if(typeof root.Supplier['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.Supplier.note);\r\n }\r\n if(typeof root.Supplier['emailAttachmentType']!='undefined'){\r\n $(CSSSelectorForm+' input[name=emailAttachmentType][value='+root.Supplier['emailAttachmentType']+']').prop('checked',true);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.Supplier.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=canSeeInOrder][data-title='+root.Supplier.canSeeInOrder+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.Supplier.hooreycaDataActive+']').click();\r\n let productGroup=[];\r\n $.each(root.Supplier.product_group,function () {\r\n productGroup.push(this.name);\r\n });\r\n $(CSSSelectorForm+' .productCategorySelect').val(productGroup).change();\r\n\r\n let service=[];\r\n $.each(root.Supplier.service,function () {\r\n service.push(this.name);\r\n });\r\n $(CSSSelectorForm+' .serviceSelect').val(service).change();\r\n\r\n let profitCenter=[];\r\n $.each(root.Supplier.profit_center,function () {\r\n profitCenter.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n //debug(profitCenter);\r\n $.each(profitCenter,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n if(typeof root.Supplier['logoFile']!='undefined' && (root.Supplier['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.Supplier['logoFile']);\r\n }\r\n\r\n //debug(APP.SupplierAdmin.formDataToDataObjectAPICall('.supplierForm')['productGroup']);\r\n //$('[name=productGroup]').val(['Büféáru_édesipari_termékek','Tojás']).change();\r\n //root.setDetailsViewData();\r\n }\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $('.supplierForm .buttonNewContact').bind('click',function (){\r\n APP.SupplierAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons();\r\n $(\":input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $('form.supplierForm button.FormSaveButton').off('click');\r\n $('form.supplierForm button.FormSaveButton').on('click',root.clickSaveButton);\r\n root.setDetailsViewData();\r\n $(\".productCategorySelect\").select2();\r\n $(\".serviceSelect\").select2({\r\n tags: true,\r\n createTag: function (params) {\r\n let term = $.trim(params.term);\r\n\r\n if (term === '') {\r\n return null;\r\n }\r\n\r\n return {\r\n id: term,\r\n text: term,\r\n newTag: true // add additional parameters\r\n }\r\n }\r\n });\r\n\r\n //$(\".profitCenterSelect\").select2();\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n\r\n $('form.supplierForm .profitCenterSelectCheckboxAll').off('click');\r\n $('form.supplierForm .profitCenterSelectCheckboxAll').on('click',function () {\r\n //console.log();\r\n //let checked=$(this).is(\":checked\")\r\n $('form.supplierForm input.profitCenterSelectCheckbox').prop('checked',$(this).is(\":checked\"));\r\n });\r\n root.renderAttachment();\r\n //Opts.onAfterInitViewDetails();\r\n root.initFileAttachmentFeature();\r\n debug('**end initViewDetails ');\r\n }\r\n\r\n this.selectedUploadFileToggle=function (fileInput){\r\n /*\r\n console.log(fileInput.attr('name'));\r\n console.log(fileInput[0].files[0]);\r\n console.log(fileInput[0].files[0].name);\r\n */\r\n if(fileInput){\r\n $('.containerFileUpload').addClass('d-none');\r\n if(fileInput[0].files[0]){\r\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\r\n\r\n }\r\n $('.containerFileUploadStarted').removeClass('d-none');\r\n $('.containerUploadedSpinner').removeClass('d-none');\r\n }else{\r\n $('.containerUploadedFileName').text('');\r\n $('.custom-file-label.selected').text('');\r\n $('.containerFileUploadStarted').addClass('d-none');\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.initFileAttachmentFeature=function () {\r\n console.log('-------initFileAttachmentFeature-----------');\r\n if(root.Supplier.id){\r\n $('.containerFileUpload').removeClass('d-none');\r\n $('.containerFileUploadNone').addClass('d-none');\r\n }\r\n\r\n\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.group('-------buttonUpload-----------');\r\n let fileInput=$('#inputGroupAttacheFile');\r\n if(fileInput[0].files.length<1){\r\n Toast.create(\"Hiba!\", 'Vállaszon ki fájlt!', TOAST_STATUS.DANGER, 10000);\r\n return;\r\n }\r\n console.log($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n\r\n root.selectedUploadFileToggle(fileInput);\r\n let ajaxUrl=Opts.URL.attachFile.replace('%id%',root.Supplier.id);\r\n\r\n console.groupEnd();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.addAttachment(data.data.attachment);\r\n root.selectedUploadFileToggle();\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n });\r\n\r\n }\r\n\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.Supplier=new window.Supplier();\r\n root.initViewDetails();\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n this.clickOrderDeleteConfirmed=function (event){\r\n debug('clickSupplierDeleteConfirmed');\r\n debug(event);\r\n debug(event.data);\r\n $('#dialogModal').modal('hide');\r\n let ajaxData={};\r\n ajaxData._token=Opts.token;\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',event.data.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n console.log(ajaxUrl);\r\n console.log(ajaxData);\r\n let row=$(dataTableCSSSelector).DataTable().row(root.dadatatableRowActionCallerNode.parents('tr'));\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n root.dadatatableRowActionCallerNode=false;\r\n }\r\n }\r\n });\r\n\r\n }\r\n let datatableRowActionCallerNode=false;\r\n\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n root.dadatatableRowActionCallerNode=node;\r\n $('#dialogModal').on('show.bs.modal', function (event) {\r\n // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).\r\n // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.\r\n var modal = $(this);\r\n modal.find('.modal-title').text('Megerősítés ');\r\n modal.find('.modal-body').text('Biztosan törli a beszállítót?');\r\n modal.find('.buttonYes').off('click');\r\n modal.find('.buttonYes').on('click',{id:rowData.id},root.clickOrderDeleteConfirmed);\r\n });\r\n $('#dialogModal').modal('show');\r\n }\r\n\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n this.autofillDetails=function (){\r\n debug('nyeresre allunk');\r\n let randomNumber=getRandomInt(9999);\r\n $('input[name=name]').val('Beszalító'+randomNumber);\r\n $('input[name=hooreycaId]').val('hb'+randomNumber);\r\n $('input[name=nameId]').val('be'+randomNumber);\r\n $('input[name=orderEmail]').val('kapcsolat'+randomNumber+'@beszallito.hu');\r\n $('input[name=orderEmail2]').val('informacio'+randomNumber+'@beszallito.hu');\r\n $('input[name=address]').val('8989 Supplier utca '+randomNumber);\r\n $('input[name=mailingAddress]').val('8989 Postai út'+randomNumber);\r\n $('input[name=phone]').val('+36301234567');\r\n $('input[name=fax]').val('36308889999');\r\n $('input[name=customerServicePhone]').val('+36761234444');\r\n $('textarea[name=note]').val('Megjegyzem '+randomNumber);\r\n\r\n }\r\n this.testMode=function () {\r\n console.debug('!!!!testmode !!!!');\r\n root.Supplier = new window.Supplier({\r\n 'contact':[\r\n {\r\n id:2,\r\n },\r\n {\r\n id:3,\r\n },\r\n /*\r\n {\r\n id:3,\r\n name:'Kósa Veronika',\r\n email:'szamlazas4@funkcio.hu',\r\n phone:'{{formatterPhoneNumber(\"+36204589180\")}}'\r\n }\r\n*/\r\n\r\n ]\r\n });\r\n Opts.onAfterInitViewDetails=root.autofillDetails;\r\n APP.loadMainContent(Opts.URL.create,root.initViewDetails);\r\n }\r\n this.init=function (options,SupplierItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(SupplierItem){\r\n root.Supplier=SupplierItem\r\n }\r\n root.initViewList();\r\n }\r\n\r\n this.renderAttachment=function (){\r\n let rowNum=1;\r\n console.log('renderingAttachment');\r\n $.each(root.Supplier.getData('attachment'),function (){\r\n let attachmentData=this;\r\n attachmentData.rowNum=rowNum;\r\n date=new Date(attachmentData.created_at);\r\n attachmentData.date=date.toLocaleString();\r\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\r\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $('.attachmentTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAttachmentClickAction();\r\n }\r\n\r\n this.addAttachment=function (attachmentData){\r\n console.log(attachmentData);\r\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\r\n root.Supplier.attachment.push(attachmentData);\r\n attachmentData.rowNum=root.Supplier.attachment.length;\r\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\r\n let render=Mustache.render(template,attachmentData);\r\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Fájl hozzáadva!\", attachmentData.original_filename+\" fájl hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n this.resetContactTable=function (){\r\n $('.contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.Supplier.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n //console.log(contactData);\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n let node=$('.contactTable .buttonDelete');\r\n node.unbind('click');\r\n node.bind('click',root.contactDeleteClick);\r\n\r\n node=$('.contactTable .buttonEdit');\r\n node.unbind('click');\r\n node.bind('click',root.contactEditClick);\r\n\r\n }\r\n\r\n this.bindAttachmentClickAction=function (){\r\n let node=$('.attachmentTable .buttonDelete');\r\n node.unbind('click');\r\n node.bind('click',root.attachmentDeleteClick);\r\n }\r\n let currentAttachmentRow=false;\r\n this.attachmentDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=attachmentId]').val();\r\n let ajaxUrl=Opts.URL.detachFile.replace('%id%',root.Supplier.id);\r\n //let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\r\n //data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n let data={};\r\n data._token=$('input[name=\"_token\"]').val();\r\n data.attachemntId=id;\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:data,\r\n type:'POST',\r\n //contentType:false,\r\n //processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.Supplier.attachment=root.Supplier.attachment.filter(\r\n function (value,index,arr){\r\n if (value.id!==data.data. attachment.id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n /*\r\n */\r\n //row.remove();\r\n root.resetAttachmentTable();\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n this.resetAttachmentTable=function (){\r\n $('.attachmentTable tbody tr').remove();\r\n root.renderAttachment();\r\n }\r\n\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n root.Supplier.contact=root.Supplier.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n root.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n root.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n //console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n\r\n this.getSupplier=function (){\r\n return root.Supplier;\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.Supplier.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.Supplier.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create(\"Kapcsolat adatai módosítva!\", contactData.name+\" nevű kapocsolattartó módosítva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.Supplier.contact.push(contactData);\r\n contactData.rowNum=root.Supplier.contact.length;\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create(\"Kapcsolat tartó hozzáadva!\", contactData.name+\" nevű kapocsolattartó hozzáadva\", TOAST_STATUS.SUCCESS,5000);\r\n }\r\n\r\n\r\n this.construct(options,SupplierItem);\r\n};\r\n"],"names":["window","Dashboard","Opts","active","containerCssSelector","testFileMod","isAdmin","URL","create","store","getDataTableContent","destroy","root","this","construct","options","debug","$","extend","getOpts","init","console","log","initEditorButtons","off","on","initEditor","toggleClass","saveCustomContent","removeEditor","ajaxData","FormData","append","tinymce","activeEditor","getContent","ajaxUrl","update","replace","data","ajax","url","type","contentType","processData","beforeSend","success","Toast","TOAST_STATUS","INFO","error","responseJSON","ajaxErrorFieldHandler","loadTinymce","getScript","remove","selector","language","plugins","toolbar","PriceListAdmin","ProfitCenterItem","dataTableCSSSelector","errorRowPointer","errorRowCount","initErrorNavigationButton","length","removeClass","scrollTop","position","top","addClass","selectedUploadFileToggle","fileInput","files","text","name","empty","clickNewPriceListCallBack","initViewDetails","clickNewPriceList","APP","loadMainContent","datatableRowActionButtonClick","event","node","currentTarget","row","DataTable","parents","rowData","id","_token","val","method","draw","initViewList","colNum","setOpts","datatableActionButtonClickCallBack","datatableRowActionButtonClickCallBack","dataTablePriceList","render","datatableAddRowTrashButton","arguments","buttons","autoPrint","className","attr","api","config","action","e","dt","drawCallback","settings","datatableAddRowAction","datepicker","dateFormat","onSelect","dateText","replaceAll","DANGER","processCheckedPriceListResponse","hide","priceListHasError","responseData","processCheckedPriceListResponseRows","rows","show","responseRowsData","key","templateData","originalData","rowNum","template","html","Mustache","ucFirst","status","processResponseRowErrors","changed","processResponseRowChanged","changedArray","trNode","tdNode","find","changedTxtNode","document","createElement","old","errorArray","fields","errorTxtNode","PriceListProfitCenterAdmin","token","testMode","getProductGroupHTML","index","edit","dataTable","orderDirective","onAfterInitViewDetails","SupplierItem","changeParameter","supplier","profitCenter","deliveryDate","checkRefreshPossible","needRefresh","each","refreshDatatable","refreshProductGroup","setDatatableHeaderText","getTreePathName","res","items","toArray","item","shift","reverse","children","bindProductGroupItem","groupId","selectedProductGroup","reload","changePriceListProfitCenterParameter","obj","objName","get","nodeName","select2","CSSSelectorForm","click","maximumSelectionLength","minDate","Date","input","getDatatables","productSelectDataTableDrawDT","orderType","supplierId","profitCenterId","OrderModule","productSelectDataTableColumnDefs","productSelectDataTableColumn","Product","_Product","_this","_classCallCheck","_callSuper","contact","_inherits","DataModel","_createClass","ProductAdmin","ProductItem","container","resultContainerSelector","resultContainer","filters","attachFile","detachFile","actionName","capitalize","datatableRowActionEdit","initViewListOld","undefined","serverSide","orderable","datatableAddRowEditButton","latinise","placeholder","allowClear","getProductSearch","dataType","params","term","page","cache","button","loadingResultContainer","requestProducts","setVisibleFilters","hideResultContainer","showResultContainer","picture","picUrl","PublicUrl","filename","specification","addAttachment","FormSaveButton","clickSaveButton","attachmentData","dateStr","updated_at","toLocaleString","date","link","enableTimers","original_filename","SUCCESS","typeIndex","typeName","c","formDataToDataObjectAPICall","getAll","value","getAjaxDataJson","_step","_iterator","_createForOfIteratorHelper","entries","s","n","done","pair","err","f","object","forEach","Reflect","has","Array","isArray","push","JSON","stringify","ajaxDataJson","d","processResponse","preventDefault","checkValidity","stopPropagation","ajaxMethod","headers","DataModelProfitCenter","_DataModelProfitCenter","address","constructor","ProfitCenterAdmin","contactPopupWorkflow","addressPopupWorkflow","ProfitCenter","getData","clickNew","clickNewCallBack","ContactPopUp","onAfterSave","contactAction","renderContact","bind","setContactPopupWorkflow","clearData","AddressPopUp","addressAction","renderAddress","setAddressPopupWorkflow","tooltip","initRadioButtons","onChange","inputmask","onincomplete","oncomplete","oncleared","setDetailsViewData","note","canSee","hooreycaDataActive","addressEqual","multiAddress","suppliers","escapeSelector","prop","resetContactTable","bindContactClickAction","unbind","contactDeleteClick","contactEditClick","closest","filter","arr","getContactPopupWorkflow","loadData","contactData","addContact","editContact","newContacts","resetAddressTable","itemData","bindAddressClickAction","addressDeleteClick","addressEditClick","getAddressPopupWorkflow","addAddress","editAddress","ItemData","street","newItem","datatableRowActionDelete","table","Object","fromEntries","indexKey","set","Supplier","_Supplier","SupplierAdmin","formDataToDataObjectAPICallOld","CSSSelector","querySelector","formJSON","canSeeInOrder","productGroup","product_group","change","service","profit_center","tags","createTag","trim","newTag","setImageFromLocal","is","renderAttachment","initFileAttachmentFeature","group","groupEnd","attachment","clickOrderDeleteConfirmed","modal","dadatatableRowActionCallerNode","autofillDetails","randomNumber","getRandomInt","created_at","bindAttachmentClickAction","attachmentDeleteClick","attachemntId","resetAttachmentTable","getSupplier"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/app.js.map b/public/js/app.js.map index 0883bd3..cc50217 100644 --- a/public/js/app.js.map +++ b/public/js/app.js.map @@ -1 +1 @@ -{"version":3,"file":"/js/app.js","mappings":"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ACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,KACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,KACJ,EAAI,IACJ,EAAI,IACJ,EAAI,IACJ,EAAI,I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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./resources/js/app.js","webpack:///./resources/js/bootstrap.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/lodash/lodash.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/axios/dist/browser/axios.cjs","webpack:///webpack/bootstrap","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","require('./bootstrap');\r\n\r\n\r\n//----------------------------------------------------------------------\r\n/*\r\nHelper function\r\n*/\r\nwindow.getMonday=function(date,dateStr) {\r\n if(dateStr){\r\n date = new Date(dateStr);\r\n }\r\n\r\n let day = date.getDay(),\r\n diff = date.getDate() - day + (day == 0 ? -6:1); // adjust when day is sunday\r\n return new Date(date.setDate(diff));\r\n}\r\nwindow.debug=function (txt)\r\n{\r\n try {\r\n console.log(txt);\r\n }\r\n catch(e){}\r\n};\r\n\r\nwindow.buildFormData=function(formData, data, parentKey) {\r\n if (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File)) {\r\n Object.keys(data).forEach(key => {\r\n buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key);\r\n });\r\n } else {\r\n const value = data == null ? '' : data;\r\n\r\n formData.append(parentKey, value);\r\n }\r\n}\r\n\r\nwindow.jsonToFormData=function(data) {\r\n const formData = new FormData();\r\n\r\n buildFormData(formData, data);\r\n\r\n return formData;\r\n}\r\n\r\nString.prototype.capitalize = function() {\r\n return this.charAt(0).toUpperCase() + this.slice(1)\r\n}\r\n\r\nwindow.arrayRemove=function(arr, value) {\r\n\r\n return arr.filter(function(ele){\r\n return ele != value;\r\n });\r\n}\r\nwindow.getRandomInt=function (max=Number.MAX_SAFE_INTEGER,min=0) {\r\n debug(max);\r\n debug(min);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nwindow.setImageFromLocal=function(input,targetImgCssSelector) {\r\n if (input.files && input.files[0]) {\r\n let reader = new FileReader();\r\n reader.onload = function (e) {\r\n $(targetImgCssSelector).attr('src', e.target.result);\r\n }\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n}\r\n\r\nlet Latinise={};Latinise.latin_map={\"Á\":\"A\",\r\n \"Ă\":\"A\",\r\n \"Ắ\":\"A\",\r\n \"Ặ\":\"A\",\r\n \"Ằ\":\"A\",\r\n \"Ẳ\":\"A\",\r\n \"Ẵ\":\"A\",\r\n \"Ǎ\":\"A\",\r\n \"Â\":\"A\",\r\n \"Ấ\":\"A\",\r\n \"Ậ\":\"A\",\r\n \"Ầ\":\"A\",\r\n \"Ẩ\":\"A\",\r\n \"Ẫ\":\"A\",\r\n \"Ä\":\"A\",\r\n \"Ǟ\":\"A\",\r\n \"Ȧ\":\"A\",\r\n \"Ǡ\":\"A\",\r\n \"Ạ\":\"A\",\r\n \"Ȁ\":\"A\",\r\n \"À\":\"A\",\r\n \"Ả\":\"A\",\r\n \"Ȃ\":\"A\",\r\n \"Ā\":\"A\",\r\n \"Ą\":\"A\",\r\n \"Å\":\"A\",\r\n \"Ǻ\":\"A\",\r\n \"Ḁ\":\"A\",\r\n \"Ⱥ\":\"A\",\r\n \"Ã\":\"A\",\r\n \"Ꜳ\":\"AA\",\r\n \"Æ\":\"AE\",\r\n \"Ǽ\":\"AE\",\r\n \"Ǣ\":\"AE\",\r\n \"Ꜵ\":\"AO\",\r\n \"Ꜷ\":\"AU\",\r\n \"Ꜹ\":\"AV\",\r\n \"Ꜻ\":\"AV\",\r\n \"Ꜽ\":\"AY\",\r\n \"Ḃ\":\"B\",\r\n \"Ḅ\":\"B\",\r\n \"Ɓ\":\"B\",\r\n \"Ḇ\":\"B\",\r\n \"Ƀ\":\"B\",\r\n \"Ƃ\":\"B\",\r\n \"Ć\":\"C\",\r\n \"Č\":\"C\",\r\n \"Ç\":\"C\",\r\n \"Ḉ\":\"C\",\r\n \"Ĉ\":\"C\",\r\n \"Ċ\":\"C\",\r\n \"Ƈ\":\"C\",\r\n \"Ȼ\":\"C\",\r\n \"Ď\":\"D\",\r\n \"Ḑ\":\"D\",\r\n \"Ḓ\":\"D\",\r\n \"Ḋ\":\"D\",\r\n \"Ḍ\":\"D\",\r\n \"Ɗ\":\"D\",\r\n \"Ḏ\":\"D\",\r\n \"Dz\":\"D\",\r\n \"Dž\":\"D\",\r\n \"Đ\":\"D\",\r\n \"Ƌ\":\"D\",\r\n \"DZ\":\"DZ\",\r\n \"DŽ\":\"DZ\",\r\n \"É\":\"E\",\r\n \"Ĕ\":\"E\",\r\n \"Ě\":\"E\",\r\n \"Ȩ\":\"E\",\r\n \"Ḝ\":\"E\",\r\n \"Ê\":\"E\",\r\n \"Ế\":\"E\",\r\n \"Ệ\":\"E\",\r\n \"Ề\":\"E\",\r\n \"Ể\":\"E\",\r\n \"Ễ\":\"E\",\r\n \"Ḙ\":\"E\",\r\n \"Ë\":\"E\",\r\n \"Ė\":\"E\",\r\n \"Ẹ\":\"E\",\r\n \"Ȅ\":\"E\",\r\n \"È\":\"E\",\r\n \"Ẻ\":\"E\",\r\n \"Ȇ\":\"E\",\r\n \"Ē\":\"E\",\r\n \"Ḗ\":\"E\",\r\n \"Ḕ\":\"E\",\r\n \"Ę\":\"E\",\r\n \"Ɇ\":\"E\",\r\n \"Ẽ\":\"E\",\r\n \"Ḛ\":\"E\",\r\n \"Ꝫ\":\"ET\",\r\n \"Ḟ\":\"F\",\r\n \"Ƒ\":\"F\",\r\n \"Ǵ\":\"G\",\r\n \"Ğ\":\"G\",\r\n \"Ǧ\":\"G\",\r\n \"Ģ\":\"G\",\r\n \"Ĝ\":\"G\",\r\n \"Ġ\":\"G\",\r\n \"Ɠ\":\"G\",\r\n \"Ḡ\":\"G\",\r\n \"Ǥ\":\"G\",\r\n \"Ḫ\":\"H\",\r\n \"Ȟ\":\"H\",\r\n \"Ḩ\":\"H\",\r\n \"Ĥ\":\"H\",\r\n \"Ⱨ\":\"H\",\r\n \"Ḧ\":\"H\",\r\n \"Ḣ\":\"H\",\r\n \"Ḥ\":\"H\",\r\n \"Ħ\":\"H\",\r\n \"Í\":\"I\",\r\n \"Ĭ\":\"I\",\r\n \"Ǐ\":\"I\",\r\n \"Î\":\"I\",\r\n \"Ï\":\"I\",\r\n \"Ḯ\":\"I\",\r\n \"İ\":\"I\",\r\n \"Ị\":\"I\",\r\n \"Ȉ\":\"I\",\r\n \"Ì\":\"I\",\r\n \"Ỉ\":\"I\",\r\n \"Ȋ\":\"I\",\r\n \"Ī\":\"I\",\r\n \"Į\":\"I\",\r\n \"Ɨ\":\"I\",\r\n \"Ĩ\":\"I\",\r\n \"Ḭ\":\"I\",\r\n \"Ꝺ\":\"D\",\r\n \"Ꝼ\":\"F\",\r\n \"Ᵹ\":\"G\",\r\n \"Ꞃ\":\"R\",\r\n \"Ꞅ\":\"S\",\r\n \"Ꞇ\":\"T\",\r\n \"Ꝭ\":\"IS\",\r\n \"Ĵ\":\"J\",\r\n \"Ɉ\":\"J\",\r\n \"Ḱ\":\"K\",\r\n \"Ǩ\":\"K\",\r\n \"Ķ\":\"K\",\r\n \"Ⱪ\":\"K\",\r\n \"Ꝃ\":\"K\",\r\n \"Ḳ\":\"K\",\r\n \"Ƙ\":\"K\",\r\n \"Ḵ\":\"K\",\r\n \"Ꝁ\":\"K\",\r\n \"Ꝅ\":\"K\",\r\n \"Ĺ\":\"L\",\r\n \"Ƚ\":\"L\",\r\n \"Ľ\":\"L\",\r\n \"Ļ\":\"L\",\r\n \"Ḽ\":\"L\",\r\n \"Ḷ\":\"L\",\r\n \"Ḹ\":\"L\",\r\n \"Ⱡ\":\"L\",\r\n \"Ꝉ\":\"L\",\r\n \"Ḻ\":\"L\",\r\n \"Ŀ\":\"L\",\r\n \"Ɫ\":\"L\",\r\n \"Lj\":\"L\",\r\n \"Ł\":\"L\",\r\n \"LJ\":\"LJ\",\r\n \"Ḿ\":\"M\",\r\n \"Ṁ\":\"M\",\r\n \"Ṃ\":\"M\",\r\n \"Ɱ\":\"M\",\r\n \"Ń\":\"N\",\r\n \"Ň\":\"N\",\r\n \"Ņ\":\"N\",\r\n \"Ṋ\":\"N\",\r\n \"Ṅ\":\"N\",\r\n \"Ṇ\":\"N\",\r\n \"Ǹ\":\"N\",\r\n \"Ɲ\":\"N\",\r\n \"Ṉ\":\"N\",\r\n \"Ƞ\":\"N\",\r\n \"Nj\":\"N\",\r\n \"Ñ\":\"N\",\r\n \"NJ\":\"NJ\",\r\n \"Ó\":\"O\",\r\n \"Ŏ\":\"O\",\r\n \"Ǒ\":\"O\",\r\n \"Ô\":\"O\",\r\n \"Ố\":\"O\",\r\n \"Ộ\":\"O\",\r\n \"Ồ\":\"O\",\r\n \"Ổ\":\"O\",\r\n \"Ỗ\":\"O\",\r\n \"Ö\":\"O\",\r\n \"Ȫ\":\"O\",\r\n \"Ȯ\":\"O\",\r\n \"Ȱ\":\"O\",\r\n \"Ọ\":\"O\",\r\n \"Ő\":\"O\",\r\n \"Ȍ\":\"O\",\r\n \"Ò\":\"O\",\r\n \"Ỏ\":\"O\",\r\n \"Ơ\":\"O\",\r\n \"Ớ\":\"O\",\r\n \"Ợ\":\"O\",\r\n \"Ờ\":\"O\",\r\n \"Ở\":\"O\",\r\n \"Ỡ\":\"O\",\r\n \"Ȏ\":\"O\",\r\n \"Ꝋ\":\"O\",\r\n \"Ꝍ\":\"O\",\r\n \"Ō\":\"O\",\r\n \"Ṓ\":\"O\",\r\n \"Ṑ\":\"O\",\r\n \"Ɵ\":\"O\",\r\n \"Ǫ\":\"O\",\r\n \"Ǭ\":\"O\",\r\n \"Ø\":\"O\",\r\n \"Ǿ\":\"O\",\r\n \"Õ\":\"O\",\r\n \"Ṍ\":\"O\",\r\n \"Ṏ\":\"O\",\r\n \"Ȭ\":\"O\",\r\n \"Ƣ\":\"OI\",\r\n \"Ꝏ\":\"OO\",\r\n \"Ɛ\":\"E\",\r\n \"Ɔ\":\"O\",\r\n \"Ȣ\":\"OU\",\r\n \"Ṕ\":\"P\",\r\n \"Ṗ\":\"P\",\r\n \"Ꝓ\":\"P\",\r\n \"Ƥ\":\"P\",\r\n \"Ꝕ\":\"P\",\r\n \"Ᵽ\":\"P\",\r\n \"Ꝑ\":\"P\",\r\n \"Ꝙ\":\"Q\",\r\n \"Ꝗ\":\"Q\",\r\n \"Ŕ\":\"R\",\r\n \"Ř\":\"R\",\r\n \"Ŗ\":\"R\",\r\n \"Ṙ\":\"R\",\r\n \"Ṛ\":\"R\",\r\n \"Ṝ\":\"R\",\r\n \"Ȑ\":\"R\",\r\n \"Ȓ\":\"R\",\r\n \"Ṟ\":\"R\",\r\n \"Ɍ\":\"R\",\r\n \"Ɽ\":\"R\",\r\n \"Ꜿ\":\"C\",\r\n \"Ǝ\":\"E\",\r\n \"Ś\":\"S\",\r\n \"Ṥ\":\"S\",\r\n \"Š\":\"S\",\r\n \"Ṧ\":\"S\",\r\n \"Ş\":\"S\",\r\n \"Ŝ\":\"S\",\r\n \"Ș\":\"S\",\r\n \"Ṡ\":\"S\",\r\n \"Ṣ\":\"S\",\r\n \"Ṩ\":\"S\",\r\n \"Ť\":\"T\",\r\n \"Ţ\":\"T\",\r\n \"Ṱ\":\"T\",\r\n \"Ț\":\"T\",\r\n \"Ⱦ\":\"T\",\r\n \"Ṫ\":\"T\",\r\n \"Ṭ\":\"T\",\r\n \"Ƭ\":\"T\",\r\n \"Ṯ\":\"T\",\r\n \"Ʈ\":\"T\",\r\n \"Ŧ\":\"T\",\r\n \"Ɐ\":\"A\",\r\n \"Ꞁ\":\"L\",\r\n \"Ɯ\":\"M\",\r\n \"Ʌ\":\"V\",\r\n \"Ꜩ\":\"TZ\",\r\n \"Ú\":\"U\",\r\n \"Ŭ\":\"U\",\r\n \"Ǔ\":\"U\",\r\n \"Û\":\"U\",\r\n \"Ṷ\":\"U\",\r\n \"Ü\":\"U\",\r\n \"Ǘ\":\"U\",\r\n \"Ǚ\":\"U\",\r\n \"Ǜ\":\"U\",\r\n \"Ǖ\":\"U\",\r\n \"Ṳ\":\"U\",\r\n \"Ụ\":\"U\",\r\n \"Ű\":\"U\",\r\n \"Ȕ\":\"U\",\r\n \"Ù\":\"U\",\r\n \"Ủ\":\"U\",\r\n \"Ư\":\"U\",\r\n \"Ứ\":\"U\",\r\n \"Ự\":\"U\",\r\n \"Ừ\":\"U\",\r\n \"Ử\":\"U\",\r\n \"Ữ\":\"U\",\r\n \"Ȗ\":\"U\",\r\n \"Ū\":\"U\",\r\n \"Ṻ\":\"U\",\r\n \"Ų\":\"U\",\r\n \"Ů\":\"U\",\r\n \"Ũ\":\"U\",\r\n \"Ṹ\":\"U\",\r\n \"Ṵ\":\"U\",\r\n \"Ꝟ\":\"V\",\r\n \"Ṿ\":\"V\",\r\n \"Ʋ\":\"V\",\r\n \"Ṽ\":\"V\",\r\n \"Ꝡ\":\"VY\",\r\n \"Ẃ\":\"W\",\r\n \"Ŵ\":\"W\",\r\n \"Ẅ\":\"W\",\r\n \"Ẇ\":\"W\",\r\n \"Ẉ\":\"W\",\r\n \"Ẁ\":\"W\",\r\n \"Ⱳ\":\"W\",\r\n \"Ẍ\":\"X\",\r\n \"Ẋ\":\"X\",\r\n \"Ý\":\"Y\",\r\n \"Ŷ\":\"Y\",\r\n \"Ÿ\":\"Y\",\r\n \"Ẏ\":\"Y\",\r\n \"Ỵ\":\"Y\",\r\n \"Ỳ\":\"Y\",\r\n \"Ƴ\":\"Y\",\r\n \"Ỷ\":\"Y\",\r\n \"Ỿ\":\"Y\",\r\n \"Ȳ\":\"Y\",\r\n \"Ɏ\":\"Y\",\r\n \"Ỹ\":\"Y\",\r\n \"Ź\":\"Z\",\r\n \"Ž\":\"Z\",\r\n \"Ẑ\":\"Z\",\r\n \"Ⱬ\":\"Z\",\r\n \"Ż\":\"Z\",\r\n \"Ẓ\":\"Z\",\r\n \"Ȥ\":\"Z\",\r\n \"Ẕ\":\"Z\",\r\n \"Ƶ\":\"Z\",\r\n \"IJ\":\"IJ\",\r\n \"Œ\":\"OE\",\r\n \"ᴀ\":\"A\",\r\n \"ᴁ\":\"AE\",\r\n \"ʙ\":\"B\",\r\n \"ᴃ\":\"B\",\r\n \"ᴄ\":\"C\",\r\n \"ᴅ\":\"D\",\r\n \"ᴇ\":\"E\",\r\n \"ꜰ\":\"F\",\r\n \"ɢ\":\"G\",\r\n \"ʛ\":\"G\",\r\n \"ʜ\":\"H\",\r\n \"ɪ\":\"I\",\r\n \"ʁ\":\"R\",\r\n \"ᴊ\":\"J\",\r\n \"ᴋ\":\"K\",\r\n \"ʟ\":\"L\",\r\n \"ᴌ\":\"L\",\r\n \"ᴍ\":\"M\",\r\n \"ɴ\":\"N\",\r\n \"ᴏ\":\"O\",\r\n \"ɶ\":\"OE\",\r\n \"ᴐ\":\"O\",\r\n \"ᴕ\":\"OU\",\r\n \"ᴘ\":\"P\",\r\n \"ʀ\":\"R\",\r\n \"ᴎ\":\"N\",\r\n \"ᴙ\":\"R\",\r\n \"ꜱ\":\"S\",\r\n \"ᴛ\":\"T\",\r\n \"ⱻ\":\"E\",\r\n \"ᴚ\":\"R\",\r\n \"ᴜ\":\"U\",\r\n \"ᴠ\":\"V\",\r\n \"ᴡ\":\"W\",\r\n \"ʏ\":\"Y\",\r\n \"ᴢ\":\"Z\",\r\n \"á\":\"a\",\r\n \"ă\":\"a\",\r\n \"ắ\":\"a\",\r\n \"ặ\":\"a\",\r\n \"ằ\":\"a\",\r\n \"ẳ\":\"a\",\r\n \"ẵ\":\"a\",\r\n \"ǎ\":\"a\",\r\n \"â\":\"a\",\r\n \"ấ\":\"a\",\r\n \"ậ\":\"a\",\r\n \"ầ\":\"a\",\r\n \"ẩ\":\"a\",\r\n \"ẫ\":\"a\",\r\n \"ä\":\"a\",\r\n \"ǟ\":\"a\",\r\n \"ȧ\":\"a\",\r\n \"ǡ\":\"a\",\r\n \"ạ\":\"a\",\r\n \"ȁ\":\"a\",\r\n \"à\":\"a\",\r\n \"ả\":\"a\",\r\n \"ȃ\":\"a\",\r\n \"ā\":\"a\",\r\n \"ą\":\"a\",\r\n \"ᶏ\":\"a\",\r\n \"ẚ\":\"a\",\r\n \"å\":\"a\",\r\n \"ǻ\":\"a\",\r\n \"ḁ\":\"a\",\r\n \"ⱥ\":\"a\",\r\n \"ã\":\"a\",\r\n \"ꜳ\":\"aa\",\r\n \"æ\":\"ae\",\r\n \"ǽ\":\"ae\",\r\n \"ǣ\":\"ae\",\r\n \"ꜵ\":\"ao\",\r\n \"ꜷ\":\"au\",\r\n \"ꜹ\":\"av\",\r\n \"ꜻ\":\"av\",\r\n \"ꜽ\":\"ay\",\r\n \"ḃ\":\"b\",\r\n \"ḅ\":\"b\",\r\n \"ɓ\":\"b\",\r\n \"ḇ\":\"b\",\r\n \"ᵬ\":\"b\",\r\n \"ᶀ\":\"b\",\r\n \"ƀ\":\"b\",\r\n \"ƃ\":\"b\",\r\n \"ɵ\":\"o\",\r\n \"ć\":\"c\",\r\n \"č\":\"c\",\r\n \"ç\":\"c\",\r\n \"ḉ\":\"c\",\r\n \"ĉ\":\"c\",\r\n \"ɕ\":\"c\",\r\n \"ċ\":\"c\",\r\n \"ƈ\":\"c\",\r\n \"ȼ\":\"c\",\r\n \"ď\":\"d\",\r\n \"ḑ\":\"d\",\r\n \"ḓ\":\"d\",\r\n \"ȡ\":\"d\",\r\n \"ḋ\":\"d\",\r\n \"ḍ\":\"d\",\r\n \"ɗ\":\"d\",\r\n \"ᶑ\":\"d\",\r\n \"ḏ\":\"d\",\r\n \"ᵭ\":\"d\",\r\n \"ᶁ\":\"d\",\r\n \"đ\":\"d\",\r\n \"ɖ\":\"d\",\r\n \"ƌ\":\"d\",\r\n \"ı\":\"i\",\r\n \"ȷ\":\"j\",\r\n \"ɟ\":\"j\",\r\n \"ʄ\":\"j\",\r\n \"dz\":\"dz\",\r\n \"dž\":\"dz\",\r\n \"é\":\"e\",\r\n \"ĕ\":\"e\",\r\n \"ě\":\"e\",\r\n \"ȩ\":\"e\",\r\n \"ḝ\":\"e\",\r\n \"ê\":\"e\",\r\n \"ế\":\"e\",\r\n \"ệ\":\"e\",\r\n \"ề\":\"e\",\r\n \"ể\":\"e\",\r\n \"ễ\":\"e\",\r\n \"ḙ\":\"e\",\r\n \"ë\":\"e\",\r\n \"ė\":\"e\",\r\n \"ẹ\":\"e\",\r\n \"ȅ\":\"e\",\r\n \"è\":\"e\",\r\n \"ẻ\":\"e\",\r\n \"ȇ\":\"e\",\r\n \"ē\":\"e\",\r\n \"ḗ\":\"e\",\r\n \"ḕ\":\"e\",\r\n \"ⱸ\":\"e\",\r\n \"ę\":\"e\",\r\n \"ᶒ\":\"e\",\r\n \"ɇ\":\"e\",\r\n \"ẽ\":\"e\",\r\n \"ḛ\":\"e\",\r\n \"ꝫ\":\"et\",\r\n \"ḟ\":\"f\",\r\n \"ƒ\":\"f\",\r\n \"ᵮ\":\"f\",\r\n \"ᶂ\":\"f\",\r\n \"ǵ\":\"g\",\r\n \"ğ\":\"g\",\r\n \"ǧ\":\"g\",\r\n \"ģ\":\"g\",\r\n \"ĝ\":\"g\",\r\n \"ġ\":\"g\",\r\n \"ɠ\":\"g\",\r\n \"ḡ\":\"g\",\r\n \"ᶃ\":\"g\",\r\n \"ǥ\":\"g\",\r\n \"ḫ\":\"h\",\r\n \"ȟ\":\"h\",\r\n \"ḩ\":\"h\",\r\n \"ĥ\":\"h\",\r\n \"ⱨ\":\"h\",\r\n \"ḧ\":\"h\",\r\n \"ḣ\":\"h\",\r\n \"ḥ\":\"h\",\r\n \"ɦ\":\"h\",\r\n \"ẖ\":\"h\",\r\n \"ħ\":\"h\",\r\n \"ƕ\":\"hv\",\r\n \"í\":\"i\",\r\n \"ĭ\":\"i\",\r\n \"ǐ\":\"i\",\r\n \"î\":\"i\",\r\n \"ï\":\"i\",\r\n \"ḯ\":\"i\",\r\n \"ị\":\"i\",\r\n \"ȉ\":\"i\",\r\n \"ì\":\"i\",\r\n \"ỉ\":\"i\",\r\n \"ȋ\":\"i\",\r\n \"ī\":\"i\",\r\n \"į\":\"i\",\r\n \"ᶖ\":\"i\",\r\n \"ɨ\":\"i\",\r\n \"ĩ\":\"i\",\r\n \"ḭ\":\"i\",\r\n \"ꝺ\":\"d\",\r\n \"ꝼ\":\"f\",\r\n \"ᵹ\":\"g\",\r\n \"ꞃ\":\"r\",\r\n \"ꞅ\":\"s\",\r\n \"ꞇ\":\"t\",\r\n \"ꝭ\":\"is\",\r\n \"ǰ\":\"j\",\r\n \"ĵ\":\"j\",\r\n \"ʝ\":\"j\",\r\n \"ɉ\":\"j\",\r\n \"ḱ\":\"k\",\r\n \"ǩ\":\"k\",\r\n \"ķ\":\"k\",\r\n \"ⱪ\":\"k\",\r\n \"ꝃ\":\"k\",\r\n \"ḳ\":\"k\",\r\n \"ƙ\":\"k\",\r\n \"ḵ\":\"k\",\r\n \"ᶄ\":\"k\",\r\n \"ꝁ\":\"k\",\r\n \"ꝅ\":\"k\",\r\n \"ĺ\":\"l\",\r\n \"ƚ\":\"l\",\r\n \"ɬ\":\"l\",\r\n \"ľ\":\"l\",\r\n \"ļ\":\"l\",\r\n \"ḽ\":\"l\",\r\n \"ȴ\":\"l\",\r\n \"ḷ\":\"l\",\r\n \"ḹ\":\"l\",\r\n \"ⱡ\":\"l\",\r\n \"ꝉ\":\"l\",\r\n \"ḻ\":\"l\",\r\n \"ŀ\":\"l\",\r\n \"ɫ\":\"l\",\r\n \"ᶅ\":\"l\",\r\n \"ɭ\":\"l\",\r\n \"ł\":\"l\",\r\n \"lj\":\"lj\",\r\n \"ſ\":\"s\",\r\n \"ẜ\":\"s\",\r\n \"ẛ\":\"s\",\r\n \"ẝ\":\"s\",\r\n \"ḿ\":\"m\",\r\n \"ṁ\":\"m\",\r\n \"ṃ\":\"m\",\r\n \"ɱ\":\"m\",\r\n \"ᵯ\":\"m\",\r\n \"ᶆ\":\"m\",\r\n \"ń\":\"n\",\r\n \"ň\":\"n\",\r\n \"ņ\":\"n\",\r\n \"ṋ\":\"n\",\r\n \"ȵ\":\"n\",\r\n \"ṅ\":\"n\",\r\n \"ṇ\":\"n\",\r\n \"ǹ\":\"n\",\r\n \"ɲ\":\"n\",\r\n \"ṉ\":\"n\",\r\n \"ƞ\":\"n\",\r\n \"ᵰ\":\"n\",\r\n \"ᶇ\":\"n\",\r\n \"ɳ\":\"n\",\r\n \"ñ\":\"n\",\r\n \"nj\":\"nj\",\r\n \"ó\":\"o\",\r\n \"ŏ\":\"o\",\r\n \"ǒ\":\"o\",\r\n \"ô\":\"o\",\r\n \"ố\":\"o\",\r\n \"ộ\":\"o\",\r\n \"ồ\":\"o\",\r\n \"ổ\":\"o\",\r\n \"ỗ\":\"o\",\r\n \"ö\":\"o\",\r\n \"ȫ\":\"o\",\r\n \"ȯ\":\"o\",\r\n \"ȱ\":\"o\",\r\n \"ọ\":\"o\",\r\n \"ő\":\"o\",\r\n \"ȍ\":\"o\",\r\n \"ò\":\"o\",\r\n \"ỏ\":\"o\",\r\n \"ơ\":\"o\",\r\n \"ớ\":\"o\",\r\n \"ợ\":\"o\",\r\n \"ờ\":\"o\",\r\n \"ở\":\"o\",\r\n \"ỡ\":\"o\",\r\n \"ȏ\":\"o\",\r\n \"ꝋ\":\"o\",\r\n \"ꝍ\":\"o\",\r\n \"ⱺ\":\"o\",\r\n \"ō\":\"o\",\r\n \"ṓ\":\"o\",\r\n \"ṑ\":\"o\",\r\n \"ǫ\":\"o\",\r\n \"ǭ\":\"o\",\r\n \"ø\":\"o\",\r\n \"ǿ\":\"o\",\r\n \"õ\":\"o\",\r\n \"ṍ\":\"o\",\r\n \"ṏ\":\"o\",\r\n \"ȭ\":\"o\",\r\n \"ƣ\":\"oi\",\r\n \"ꝏ\":\"oo\",\r\n \"ɛ\":\"e\",\r\n \"ᶓ\":\"e\",\r\n \"ɔ\":\"o\",\r\n \"ᶗ\":\"o\",\r\n \"ȣ\":\"ou\",\r\n \"ṕ\":\"p\",\r\n \"ṗ\":\"p\",\r\n \"ꝓ\":\"p\",\r\n \"ƥ\":\"p\",\r\n \"ᵱ\":\"p\",\r\n \"ᶈ\":\"p\",\r\n \"ꝕ\":\"p\",\r\n \"ᵽ\":\"p\",\r\n \"ꝑ\":\"p\",\r\n \"ꝙ\":\"q\",\r\n \"ʠ\":\"q\",\r\n \"ɋ\":\"q\",\r\n \"ꝗ\":\"q\",\r\n \"ŕ\":\"r\",\r\n \"ř\":\"r\",\r\n \"ŗ\":\"r\",\r\n \"ṙ\":\"r\",\r\n \"ṛ\":\"r\",\r\n \"ṝ\":\"r\",\r\n \"ȑ\":\"r\",\r\n \"ɾ\":\"r\",\r\n \"ᵳ\":\"r\",\r\n \"ȓ\":\"r\",\r\n \"ṟ\":\"r\",\r\n \"ɼ\":\"r\",\r\n \"ᵲ\":\"r\",\r\n \"ᶉ\":\"r\",\r\n \"ɍ\":\"r\",\r\n \"ɽ\":\"r\",\r\n \"ↄ\":\"c\",\r\n \"ꜿ\":\"c\",\r\n \"ɘ\":\"e\",\r\n \"ɿ\":\"r\",\r\n \"ś\":\"s\",\r\n \"ṥ\":\"s\",\r\n \"š\":\"s\",\r\n \"ṧ\":\"s\",\r\n \"ş\":\"s\",\r\n \"ŝ\":\"s\",\r\n \"ș\":\"s\",\r\n \"ṡ\":\"s\",\r\n \"ṣ\":\"s\",\r\n \"ṩ\":\"s\",\r\n \"ʂ\":\"s\",\r\n \"ᵴ\":\"s\",\r\n \"ᶊ\":\"s\",\r\n \"ȿ\":\"s\",\r\n \"ɡ\":\"g\",\r\n \"ᴑ\":\"o\",\r\n \"ᴓ\":\"o\",\r\n \"ᴝ\":\"u\",\r\n \"ť\":\"t\",\r\n \"ţ\":\"t\",\r\n \"ṱ\":\"t\",\r\n \"ț\":\"t\",\r\n \"ȶ\":\"t\",\r\n \"ẗ\":\"t\",\r\n \"ⱦ\":\"t\",\r\n \"ṫ\":\"t\",\r\n \"ṭ\":\"t\",\r\n \"ƭ\":\"t\",\r\n \"ṯ\":\"t\",\r\n \"ᵵ\":\"t\",\r\n \"ƫ\":\"t\",\r\n \"ʈ\":\"t\",\r\n \"ŧ\":\"t\",\r\n \"ᵺ\":\"th\",\r\n \"ɐ\":\"a\",\r\n \"ᴂ\":\"ae\",\r\n \"ǝ\":\"e\",\r\n \"ᵷ\":\"g\",\r\n \"ɥ\":\"h\",\r\n \"ʮ\":\"h\",\r\n \"ʯ\":\"h\",\r\n \"ᴉ\":\"i\",\r\n \"ʞ\":\"k\",\r\n \"ꞁ\":\"l\",\r\n \"ɯ\":\"m\",\r\n \"ɰ\":\"m\",\r\n \"ᴔ\":\"oe\",\r\n \"ɹ\":\"r\",\r\n \"ɻ\":\"r\",\r\n \"ɺ\":\"r\",\r\n \"ⱹ\":\"r\",\r\n \"ʇ\":\"t\",\r\n \"ʌ\":\"v\",\r\n \"ʍ\":\"w\",\r\n \"ʎ\":\"y\",\r\n \"ꜩ\":\"tz\",\r\n \"ú\":\"u\",\r\n \"ŭ\":\"u\",\r\n \"ǔ\":\"u\",\r\n \"û\":\"u\",\r\n \"ṷ\":\"u\",\r\n \"ü\":\"u\",\r\n \"ǘ\":\"u\",\r\n \"ǚ\":\"u\",\r\n \"ǜ\":\"u\",\r\n \"ǖ\":\"u\",\r\n \"ṳ\":\"u\",\r\n \"ụ\":\"u\",\r\n \"ű\":\"u\",\r\n \"ȕ\":\"u\",\r\n \"ù\":\"u\",\r\n \"ủ\":\"u\",\r\n \"ư\":\"u\",\r\n \"ứ\":\"u\",\r\n \"ự\":\"u\",\r\n \"ừ\":\"u\",\r\n \"ử\":\"u\",\r\n \"ữ\":\"u\",\r\n \"ȗ\":\"u\",\r\n \"ū\":\"u\",\r\n \"ṻ\":\"u\",\r\n \"ų\":\"u\",\r\n \"ᶙ\":\"u\",\r\n \"ů\":\"u\",\r\n \"ũ\":\"u\",\r\n \"ṹ\":\"u\",\r\n \"ṵ\":\"u\",\r\n \"ᵫ\":\"ue\",\r\n \"ꝸ\":\"um\",\r\n \"ⱴ\":\"v\",\r\n \"ꝟ\":\"v\",\r\n \"ṿ\":\"v\",\r\n \"ʋ\":\"v\",\r\n \"ᶌ\":\"v\",\r\n \"ⱱ\":\"v\",\r\n \"ṽ\":\"v\",\r\n \"ꝡ\":\"vy\",\r\n \"ẃ\":\"w\",\r\n \"ŵ\":\"w\",\r\n \"ẅ\":\"w\",\r\n \"ẇ\":\"w\",\r\n \"ẉ\":\"w\",\r\n \"ẁ\":\"w\",\r\n \"ⱳ\":\"w\",\r\n \"ẘ\":\"w\",\r\n \"ẍ\":\"x\",\r\n \"ẋ\":\"x\",\r\n \"ᶍ\":\"x\",\r\n \"ý\":\"y\",\r\n \"ŷ\":\"y\",\r\n \"ÿ\":\"y\",\r\n \"ẏ\":\"y\",\r\n \"ỵ\":\"y\",\r\n \"ỳ\":\"y\",\r\n \"ƴ\":\"y\",\r\n \"ỷ\":\"y\",\r\n \"ỿ\":\"y\",\r\n \"ȳ\":\"y\",\r\n \"ẙ\":\"y\",\r\n \"ɏ\":\"y\",\r\n \"ỹ\":\"y\",\r\n \"ź\":\"z\",\r\n \"ž\":\"z\",\r\n \"ẑ\":\"z\",\r\n \"ʑ\":\"z\",\r\n \"ⱬ\":\"z\",\r\n \"ż\":\"z\",\r\n \"ẓ\":\"z\",\r\n \"ȥ\":\"z\",\r\n \"ẕ\":\"z\",\r\n \"ᵶ\":\"z\",\r\n \"ᶎ\":\"z\",\r\n \"ʐ\":\"z\",\r\n \"ƶ\":\"z\",\r\n \"ɀ\":\"z\",\r\n \"ff\":\"ff\",\r\n \"ffi\":\"ffi\",\r\n \"ffl\":\"ffl\",\r\n \"fi\":\"fi\",\r\n \"fl\":\"fl\",\r\n \"ij\":\"ij\",\r\n \"œ\":\"oe\",\r\n \"st\":\"st\",\r\n \"ₐ\":\"a\",\r\n \"ₑ\":\"e\",\r\n \"ᵢ\":\"i\",\r\n \"ⱼ\":\"j\",\r\n \"ₒ\":\"o\",\r\n \"ᵣ\":\"r\",\r\n \"ᵤ\":\"u\",\r\n \"ᵥ\":\"v\",\r\n \"ₓ\":\"x\"};\r\nString.prototype.latinise=function(){return this.replace(/[^A-Za-z0-9\\[\\] ]/g,function(a){return Latinise.latin_map[a]||a})};\r\nString.prototype.latinize=String.prototype.latinise;\r\nString.prototype.isLatin=function(){return this==this.latinise()}\r\n/*\r\ndisable back button\r\n */\r\n$(function() {\r\n if (window.history && window.history.pushState) {\r\n window.history.pushState('', null, './');\r\n $(window).on('popstate', function(event) {\r\n // alert('Back button was pressed.');\r\n //document.location.href = '#';\r\n window.history.pushState('', document.title, './#');\r\n //console.log('mevagy');\r\n event.stopPropagation();\r\n });\r\n }\r\n});\r\n//----------------------------------------------------------------------\r\n/*\r\ninit custom radio buttons\r\n */\r\nwindow.initRadioButtons=function (Options){\r\n let Opts = {\r\n onChange: function (value,node) {\r\n },\r\n };\r\n\r\n $.extend(Opts, Options);\r\n\r\n let activeValue = $('.customRadioBtnGroup .active').data('title');\r\n let target = $('.customRadioBtnGroup .active').data('toggle');\r\n $('input[name='+target+']').prop('value', activeValue);\r\n\r\n $('.customRadioBtnGroup a').unbind('click');\r\n $('.customRadioBtnGroup a').bind('click',function(){\r\n let sel = $(this).data('title');\r\n let tog = $(this).data('toggle');\r\n $('input[name='+tog+']').prop('value', sel);\r\n $('a[data-toggle=\"'+tog+'\"]').not('[data-title=\"'+sel+'\"]').removeClass('active').addClass('notActive');\r\n $('a[data-toggle=\"'+tog+'\"][data-title=\"'+sel+'\"]').removeClass('notActive').addClass('active');\r\n Opts.onChange(sel,tog);\r\n });\r\n}\r\n\r\n//----------------------------------------------------------------------\r\n// Defaults\r\n//----------------------------------------------------------------------\r\n$.extend( true, $.fn.dataTable.defaults, {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n lengthMenu: [\r\n [ 10, 25, 50, -1 ],\r\n [ '10 sor', '25 sor', '50 sor', 'Összes' ]\r\n ],\r\n buttons:{\r\n dom:{\r\n button:{\r\n className:'fg-button ui-button dataTableHeaderButtons'\r\n }\r\n },\r\n },\r\n dom: '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr\"lBfr>'+\r\n 't'+\r\n '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br\"ip>',\r\n\r\n} );\r\nInputmask.extendDefinitions({\r\n 'x': {\r\n validator: \"[\\.,-áéíóöőúàèìòùüűÁÉÍÓÖŐÚÀÈÌÒÙÜŰA-Za-z0-9 ]\",\r\n //cardinality: 1\r\n }\r\n});\r\n\r\n\r\n//----------------------------------------------------------------------\r\nToast.enableTimers(false);\r\n$.fn.select2.defaults.set('language', 'jp');\r\nwindow.select2CreateTag=function (params){\r\n var term = $.trim(params.term);\r\n var count = 0\r\n var existsVar = false;\r\n //check if there is any option already\r\n if($('#keywords option').length > 0){\r\n $('#keywords option').each(function(){\r\n if ($(this).text().toUpperCase() == term.toUpperCase()) {\r\n existsVar = true\r\n return false;\r\n }else{\r\n existsVar = false\r\n }\r\n });\r\n if(existsVar){\r\n return null;\r\n }\r\n return {\r\n id: params.term,\r\n text: params.term,\r\n newTag: true\r\n }\r\n }\r\n //since select has 0 options, add new without comparing\r\n else{\r\n return {\r\n id: params.term,\r\n text: params.term,\r\n newTag: true\r\n }\r\n }\r\n\r\n}\r\n\r\nwindow.ajaxErrorHandler= function (xhr, ajaxOptions, thrownError){\r\n debug(this);\r\n debug(xhr);\r\n debug(ajaxOptions);\r\n debug(thrownError);\r\n if (xhr.responseJSON.errors) {\r\n if(\"jsonapi\" in xhr.responseJSON){\r\n ajaxErrorFieldHandlerJsonAPI(xhr.responseJSON.errors);\r\n }else{\r\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\r\n }\r\n\r\n }else{\r\n if(xhr.status==404){\r\n ajaxErrorFieldHandler({'detail':'Nincs ilyen elem.'});\r\n }else{\r\n ajaxErrorFieldHandler({'detail':'Általános hiba.'});\r\n }\r\n }\r\n\r\n\r\n}\r\nwindow.ajaxErrorFieldHandlerJsonAPI= function (errors, container) {\r\n let toastBodyHtml = '';\r\n let toastTitle = 'Hiba';\r\n console.error(errors);\r\n $.each(errors, function (index, value) {\r\n console.error(value);\r\n toastTitle = 'Hiba';\r\n toastBodyHtml = '';\r\n if(\"title\" in value){\r\n toastTitle=value.title;\r\n }\r\n if(\"detail\" in value){\r\n toastBodyHtml += '
' + value.detail + '
';\r\n }\r\n Toast.create(toastTitle, toastBodyHtml, TOAST_STATUS.DANGER, 10000);\r\n });\r\n}\r\nwindow.ajaxErrorFieldHandler = function (errors, container) {\r\n let toastBodyHtml = '';\r\n $.each(errors, function (index, value) {\r\n toastBodyHtml += '
' + value + '
';\r\n });\r\n Toast.create(\"Hiba!\", toastBodyHtml, TOAST_STATUS.DANGER, 10000);\r\n/*\r\n Toast.fire({\r\n icon: 'error',\r\n html: toastBodyHtml\r\n });\r\n*/\r\n}\r\n$.ajaxSetup({\r\n error:ajaxErrorHandler,\r\n});\r\n/*\r\ndatepicker afterShow function\r\n */\r\n$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\r\n$.datepicker._updateDatepicker = function(inst) {\r\n $.datepicker._updateDatepicker_original(inst);\r\n let afterShow = this._get(inst, 'afterShow');\r\n if (afterShow)\r\n afterShow.apply((inst.input ? inst.input[0] : null)); // trigger custom callback\r\n}\r\n\r\n\r\n//----------------------------------------------------------------------\r\nwindow.EmegrendelesDefaults={\r\n datatableActionButtonClickCallBack: function () {},\r\n datatableAddRowTrashButton: function (id,args) {\r\n return ''\r\n\r\n },\r\n datatableAddRowEditButton: function (args) {\r\n let title='Adatok';\r\n if(typeof args[1].title!==\"undefined\"){\r\n title=args[1].title;\r\n }\r\n return ''\r\n\r\n },\r\n datatableAddRowViewButton: function (id,args) {\r\n return ''\r\n\r\n },\r\n datatableAddRowAttachmentButton: function (id,args) {\r\n return ''\r\n\r\n },\r\n datatableCustomHeadButtonClickCallBack:function (args) {\r\n console.log(args);\r\n },\r\n\r\n afterLoadMainContent:function (args) {\r\n console.log(args);\r\n },\r\n\r\n\r\n};\r\n\r\nif(typeof DataModel==='undefined'){\r\n class DataModel{\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n Opts = {\r\n active: false,\r\n };\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n $.extend(this, data);\r\n $.extend(this.Opts, options);\r\n };\r\n\r\n setData (data){\r\n $.extend(this, data);\r\n }\r\n\r\n getData(index){\r\n if(index){\r\n return this[index];\r\n }else{\r\n return this;\r\n }\r\n }\r\n };\r\n window.DataModel=DataModel;\r\n}\r\n\r\n\r\nwindow.Emegrendeles = function (options) {\r\n\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n myVar: 'Emegrendeles value',\r\n datatableAddRowTrashButton:{},\r\n datatableAddRowEditButton:{},\r\n datatableActionButtonClickCallBack:{},\r\n datatableRowActionButtonClickCallBack:{},\r\n datatableCustomHeadButtonClickCallBack:{},\r\n afterLoadMainContent:{},\r\n Url:{},\r\n };\r\n\r\n const PublicVar={};\r\n let PublicVar2={'asd':'21'};\r\n let ApiToken=null;\r\n let root=this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n //$.extend(Opts, options);\r\n console.log(this.constructor.name+' constructor called');\r\n $.extend(Opts, window.EmegrendelesDefaults, options);\r\n };\r\n\r\n this.setOpts=function(options){\r\n $.extend(Opts, options);\r\n }\r\n\r\n this.getOpts=function(){\r\n return Opts;\r\n }\r\n\r\n this.datatableAddRowTrashButton=function (){\r\n return Opts.datatableAddRowTrashButton(arguments);\r\n }\r\n this.datatableAddRowEditButton=function (){\r\n return Opts.datatableAddRowEditButton(arguments);\r\n }\r\n\r\n this.datatableAddRowViewButton=function (){\r\n return Opts.datatableAddRowViewButton(arguments);\r\n }\r\n this.datatableAddRowAttachmentButton=function (){\r\n return Opts.datatableAddRowAttachmentButton(arguments);\r\n }\r\n\r\n this.afterLoadMainContent=function (){\r\n return Opts.afterLoadMainContent(arguments);\r\n }\r\n\r\n this.datatableActionButtonClickCallBack=function (){\r\n return Opts.datatableActionButtonClickCallBack(arguments);\r\n }\r\n this.datatableRowActionButtonClickCallBack=function (){\r\n return Opts.datatableRowActionButtonClickCallBack(arguments);\r\n }\r\n\r\n this.datatableAddRowAction=function (CSSSelector){\r\n if(!CSSSelector){\r\n return;\r\n }\r\n $(CSSSelector+' tr button').off('click');\r\n $(CSSSelector+' tr button').on('click',APP.datatableRowActionButtonClickCallBack );\r\n }\r\n\r\n this.datatableCustomHeadButtonClickCallBack=function (){\r\n return Opts.datatableCustomHeadButtonClickCallBack(arguments);\r\n }\r\n\r\n /*\r\n * Public method\r\n * Can be called outside class\r\n */\r\n this.myPublicMethod = function () {\r\n console.log(Opts);\r\n\r\n myPrivateMethod();\r\n };\r\n\r\n this.setApiToken = function (token) {\r\n root.ApiToken=token;\r\n };\r\n\r\n this.getApiToken = function () {\r\n return root.ApiToken;\r\n };\r\n\r\n /*\r\n * Private method\r\n * Can only be called inside class\r\n */\r\n const myPrivateMethod = function () {\r\n console.log('accessed private method');\r\n };\r\n\r\n /**\r\n * @param {string} itemName\r\n */\r\n this.setActiveNavBarItem=function(itemName){\r\n $('.speedButtonNavBar li').removeClass('selected');\r\n $('.speedButtonNavBar li.iconholderModul'+itemName).addClass('selected');\r\n return this;\r\n }\r\n\r\n this.getActiveNavBarItem=function(){\r\n return $('.speedButtonNavBar .selected').find('a').data('name');\r\n }\r\n\r\n this.clearArchiveModuleDataTableState=function(){\r\n if(APP.OrderArchiveModule!=undefined ){\r\n console.log('APP.OrderArchiveModule');\r\n console.log('clear');\r\n APP.OrderArchiveModule.dataTable.state.clear();\r\n }\r\n\r\n }\r\n this.navBarItemBeforepost=function (){\r\n console.log('navBarItemBeforepost');\r\n if(root.getActiveNavBarItem()!=='activeOrder'){\r\n root.clearArchiveModuleDataTableState();\r\n };\r\n\r\n }\r\n\r\n this.navBarItemAfterPost=function (){\r\n }\r\n\r\n this.initNavBar=function (){\r\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").bind('click',function (event){\r\n console.log($(this).data().name);\r\n if($(this).data('big-icon')){\r\n $(\".speedButtonNavBar\").removeClass('smallicons');\r\n }else{\r\n $(\".speedButtonNavBar\").addClass('smallicons');\r\n }\r\n\r\n root.setActiveNavBarItem($(this).data().name);\r\n event.preventDefault();\r\n });\r\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").ajaxlink({\r\n target:$('.mainContent'),\r\n ajaxtype:'GET',\r\n afterpost:root.navBarItemAfterPost,\r\n beforepost:root.navBarItemBeforepost,\r\n });\r\n $(\".speedButtonNavBar a[data-target=_blank], .speedButtonNavBar a[data-no-ajax]\").bind('click',function(){\r\n root.clearArchiveModuleDataTableState();\r\n });\r\n }\r\n\r\n this.loadMainContent=function (url,data,callBack){\r\n\r\n if(!callBack){\r\n callBack=root.afterLoadMainContent;\r\n }else{\r\n console.log('van callback');\r\n console.log(callBack);\r\n }\r\n $('.mainContent').load(\r\n url,data,callBack\r\n );\r\n }\r\n /*\r\n * Pass options when class instantiated\r\n */\r\n this.construct(options);\r\n};\r\n\r\n\r\n/*\r\n$.fn.ajaxlink = function(options){\r\n\r\n};\r\nimport './ajaxLink';\r\n\r\n* */\r\nwindow.APP={};\r\n$(document).ready(function (){\r\n console.log('ready doc');\r\n //$('.datepicker').datepicker();\r\n Mustache.tags = [ '[[', ']]' ];\r\n // = [ '<%', '%>' ];\r\n\r\n});\r\n\r\n\r\n\r\n","window._ = require('lodash');\r\n\r\n/**\r\n * We'll load the axios HTTP library which allows us to easily issue requests\r\n * to our Laravel back-end. This library automatically handles sending the\r\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\r\n */\r\n\r\nwindow.axios = require('axios');\r\n\r\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\r\n\r\n/**\r\n * Echo exposes an expressive API for subscribing to channels and listening\r\n * for events that are broadcast by Laravel. Echo and event broadcasting\r\n * allows your team to easily build robust real-time web applications.\r\n */\r\n\r\n// import Echo from 'laravel-echo';\r\n\r\n// window.Pusher = require('pusher-js');\r\n\r\n// window.Echo = new Echo({\r\n// broadcaster: 'pusher',\r\n// key: process.env.MIX_PUSHER_APP_KEY,\r\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\r\n// forceTLS: true\r\n// });\r\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.23';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n };\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n\n // Prevent prototype pollution, see: https://github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg\n var index = -1,\n length = path.length;\n\n if (!length) {\n return true;\n }\n\n var isRootPrimitive = object == null || (typeof object !== 'object' && typeof object !== 'function');\n\n while (++index < length) {\n var key = path[index];\n\n // skip non-string keys (e.g., Symbols, numbers)\n if (typeof key !== 'string') {\n continue;\n }\n\n // Always block \"__proto__\" anywhere in the path if it's not expected\n if (key === '__proto__' && !hasOwnProperty.call(object, '__proto__')) {\n return false;\n }\n\n // Block \"constructor.prototype\" chains\n if (key === 'constructor' &&\n (index + 1) < length &&\n typeof path[index + 1] === 'string' &&\n path[index + 1] === 'prototype') {\n\n // Allow ONLY when the path starts at a primitive root, e.g., _.unset(0, 'constructor.prototype.a')\n if (isRootPrimitive && index === 0) {\n continue;\n }\n\n return false;\n }\n }\n\n var obj = parent(object, path);\n return obj == null || delete obj[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n 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 timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n 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) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = 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(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\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 clearTimeout(timerId);\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 * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\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 * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '