(window.multistep_editor_jsonpFunction=window.multistep_editor_jsonpFunction||[]).push([[23],{579:function(n,e,t){"use strict";var o=t(0),a=t(10),i=t(12),s=t(1);let l=class extends a.a{constructor(){super(...arguments),this.total=1,this.page=0,this.limit=50,this.size=2,this.pages=0,this.items=[]}willUpdate(){if(s.a.isNotNullOrUndefined(this.limit)&&s.a.isNotNullOrUndefined(this.total)&&(this.pages=parseInt(Math.ceil(parseFloat(this.total)/parseFloat(this.limit)),10)),s.a.isNotNullOrUndefined(this.page)&&s.a.isNotNullOrUndefined(this.limit)&&s.a.isNotNullOrUndefined(this.total)){let n=[],e=this._firstIndex(this.page,this.size),t=this._lastIndex(this.page,this.size);for(let o=e;o<=t;o++)n.push(o);this.items=n}}goToPage(n){this.dispatchEvent(new CustomEvent("changed",{detail:{page:n},bubbles:!0,composed:!0,cancelable:!0}))}onBefore(){this.page=this.page>0?this.page-1:1,this.goToPage(this.page)}onNext(){this.page=this.page<this.pages?parseInt(this.page,10)+1:this.pages,this.goToPage(this.page)}onBegin(){this.page=1,this.goToPage(this.page)}onEnd(){this.page=this.pages,this.goToPage(this.page)}isCurrent(n,e){return n===e}_isCurrent(n,e){return n===e}_firstIndex(n,e){let t=n-e;return t<1?1:t}_lastIndex(n,e){let t=n+e;return t>this.pages?this.pages:t}static get styles(){return a["b"]`
            :host {
                display: block;
                font-size: 14px;
            }

            div.paginator-page-container {
                display: flex;
                align-items: center;
                @apply --layout-horizontal;
                @apply --layout-center;
                @apply --layout-center-justified;
                @apply --layout-center-center;
            }

            svg {
                stroke: #666666;
                vertical-align: middle;
            }

            span {
                vertical-align: middle;
            }

            span,
            button {
                font-family: "Roboto";
                font-size: 14px;
                font-style: normal;
                font-weight: 500;
                line-height: 36px;
                letter-spacing: 0em;
                text-align: center;
            }

            button {
                align-items: center;
                display: flex;
                background-color: white;
                border: none;
                height: 36px;
                line-height: 20px;
                padding: 8px 12px;
                margin: 0px;
            }

            button:hover {
                cursor: pointer;
            }

            button:disabled {
                color: #bbbbbb;
            }

            button:disabled svg {
                stroke: #bbbbbb;
            }

            .pages-title {
                display: inline-block;
                text-align: center;
                margin: 0px 8px;
                font-family: "Roboto";
                font-size: 14px;
                font-weight: 500;
            }
        `}render(){const n=this.page>1,e=this.page<this.pages;return a["c"]`
            <div class="paginator-page-container" ?hidden="${!(this.items.length<this.total)}">
                <button @click="${()=>this.onBefore()}" ?disabled="${!n}" class="prev-button">
                    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path d="M12.5 15L7.5 10L12.5 5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
                    </svg>
                    <span>Prev</span>
                </button>
                <div class="pages-title">${this.page} of ${this.pages}</div>
                <button @click=${()=>this.onNext()} ?disabled="${!e}" class="next-button">
                    <span>Next</span>
                    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path d="M7.5 15L12.5 10L7.5 5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
                    </svg>
                </button>
            </div>
        `}};Object(o.a)([Object(i.b)({reflect:!0}),Object(o.b)("design:type",Number)],l.prototype,"total",void 0),Object(o.a)([Object(i.b)({reflect:!0}),Object(o.b)("design:type",Number)],l.prototype,"page",void 0),Object(o.a)([Object(i.b)({reflect:!0}),Object(o.b)("design:type",Number)],l.prototype,"limit",void 0),Object(o.a)([Object(i.b)({reflect:!0}),Object(o.b)("design:type",Number)],l.prototype,"size",void 0),Object(o.a)([Object(i.d)(),Object(o.b)("design:type",Number)],l.prototype,"pages",void 0),Object(o.a)([Object(i.d)(),Object(o.b)("design:type",Object)],l.prototype,"items",void 0),l=Object(o.a)([Object(i.a)("au-lit-pagination")],l)},768:function(n,e){},859:function(n,e){n.exports='<style>\n    #body {\n        height: 100%;\n        width: 100%;\n        display: flex;\n        flex-direction: column;\n        overflow-y: auto;\n    }\n\n    #table {\n        width: 100%;\n        height: 100%;\n        overflow-y: auto;\n        flex: 1 1 auto;\n    }\n\n    /* A style of the current row. */\n    /* .highlight {\n        background-color: var(--theme-primary-color) !important;\n    } */\n\n    .wtBorder.current {\n        background-color: var(--theme-primary-color) !important;\n    }\n\n    .ht_master.handsontable {\n        padding-bottom: 20px;\n    }\n\n    .buttons-parent {\n        flex-direction: row;\n        width: 100%;\n        display: flex;\n        padding-bottom: 10px;\n    }\n\n    paper-button {\n        background-color: var(--theme-interface-color);\n        color: var(--theme-enabled-button-color);\n        @apply --au-header-button-geometry;\n        @apply --paper-font-title;\n        line-height: calc(1.125 * var(--au-hem));\n        font-size: calc(0.875 * var(--au-hem));\n        font-weight: 500;\n        text-align: center;\n        text-transform: none;\n        margin: 0;\n        padding: 8px 12px;\n        height: 36px;\n    }\n\n    .buttons-body-left {\n        flex-grow: 1;\n        display: flex;\n        flex-direction: row;\n        justify-content: flex-start;\n    }\n\n    .buttons-body-left paper-button {\n        color: var(--theme-primary-color);\n    }\n\n    .buttons-body-center {\n        flex-grow: 6;\n        display: flex;\n        justify-content: center;\n    }\n\n    .buttons-body-right {\n        flex-grow: 1;\n        display: flex;\n        flex-direction: row;\n        justify-content: flex-end;\n    }\n\n    .buttons-body-right:first-child {\n        padding-right: 0px;\n    }\n\n    .buttons-body-right:last-child {\n        margin-right: 0px\n    }\n\n    .hidden {\n        display: none !important;\n    }\n\n    .table-messages {\n        height: 100%;\n        width: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .ht_master .wtHolder {\n        overflow: visible !important;\n    }\n\n    .ht_clone_left.handsontable {\n        overflow: visible !important;\n    }\n\n    .ht_master.handsontable {\n        overflow: visible !important;\n    }\n\n    .ht_clone_left .wtHolder {\n        overflow: visible !important;\n    }\n\n    .ht_master.handsontable {\n        padding-bottom: 0px !important;\n    }\n\n    /* correct show table header when scroll table to right */\n    .ht_clone_top {\n        overflow: visible !important;\n    }\n\n    .wtHolder {\n        overflow: visible !important;\n        height: 100% !important;\n    }\n\n    .pagination {}\n\n    .mobile-pagination {\n        display: none;\n    }\n\n    .right-corner {\n        margin-right: 24px;\n    }\n\n    @media (max-width: 769px) {\n        .pagination {\n            display: none;\n        }\n\n        .buttons-body-left {\n            justify-content: space-between;\n        }\n\n        .mobile-pagination {\n            justify-content: center;\n            display: flex !important;\n        }\n\n        .left-corner paper-button:last-child {\n            margin-right: 0px !important;\n        }\n    }\n</style>\n<div id="body">\n    <div class="buttons-parent">\n        <div class="buttons-body-left" id="buttonsLeft">\n            <input type="file" style="display:none;" on-change="changeFile" id="openFile" />\n\n            <div class="right-corner">\n                <paper-button on-tap="downloadXSLTFile">{{ localize(\'widgets.datasheet.data.export\') }}</paper-button>\n                <paper-button on-tap="openFileDialog">{{ localize(\'widgets.datasheet.data.import\') }}</paper-button>\n            </div>\n\n            <div class="left-corner">\n                <paper-button on-tap="addRow" disabled$="[[!tableService.isTableCreated]]">\n                    {{localize(\'widgets.datasheet.row.add\')}}\n                </paper-button>\n                <paper-button on-tap="deleteRow" disabled$="[[!tableService.isTableCreated]]">\n                    {{localize(\'widgets.datasheet.row.delete\')}}\n                </paper-button>\n            </div>\n        </div>\n        <div class="buttons-body-right pagination" id="buttonsRight">\n            <au-lit-pagination total="[[total]]" page="[[page]]" limit="[[_itemsPerPage]]"\n                on-changed="_pageChangedHandler"></au-lit-pagination>\n        </div>\n    </div>\n\n    \x3c!-- Table --\x3e\n    <div id="table" style$="[[_tableStyle(tableService.isTableCreated)]]"></div>\n\n    <div class="mobile-pagination">\n        <au-lit-pagination total="[[total]]" page="[[page]]" limit="[[_itemsPerPage]]" on-changed="_pageChangedHandler">\n        </au-lit-pagination>\n    </div>\n\n    \x3c!-- Messages --\x3e\n    <template is="dom-if" if="[[_showTableMessages(tableService.isTableCreated, tableService.isTableEmpty)]]">\n        <div class="table-messages">\n            \x3c!-- Table not created text --\x3e\n            <template is="dom-if" if="[[!tableService.isTableCreated]]">\n                <iron-label class="flex-3">\n                    {{ localize(\'widgets.datasheet.messages.tableNotCreated\') }}\n                </iron-label>\n            </template>\n\n            \x3c!-- Table empty text --\x3e\n            <template is="dom-if" if="[[tableService.isTableEmpty]]">\n                <iron-label class="flex-3">\n                    {{ localize(\'widgets.datasheet.messages.tableIsEmpty\') }}\n                </iron-label>\n            </template>\n        </div>\n    </template>\n</div>'},860:function(n,e){n.exports='<style>\n    .handsontable .table td,\n    .handsontable .table th {\n        border-top: none\n    }\n\n    .handsontable tr {\n        background: #fff\n    }\n\n    .handsontable td {\n        background-color: inherit\n    }\n\n    .handsontable .table caption+thead tr:first-child td,\n    .handsontable .table caption+thead tr:first-child th,\n    .handsontable .table colgroup+thead tr:first-child td,\n    .handsontable .table colgroup+thead tr:first-child th,\n    .handsontable .table thead:first-child tr:first-child td,\n    .handsontable .table thead:first-child tr:first-child th {\n        border-top: 1px solid #ccc\n    }\n\n    .handsontable .table-bordered {\n        border: 0;\n        border-collapse: separate\n    }\n\n    .handsontable .table-bordered td,\n    .handsontable .table-bordered th {\n        border-left: none\n    }\n\n    .handsontable .table-bordered td:first-child,\n    .handsontable .table-bordered th:first-child {\n        border-left: 1px solid #ccc\n    }\n\n    .handsontable .table>tbody>tr>td,\n    .handsontable .table>tbody>tr>th,\n    .handsontable .table>tfoot>tr>td,\n    .handsontable .table>tfoot>tr>th,\n    .handsontable .table>thead>tr>td,\n    .handsontable .table>thead>tr>th {\n        line-height: 21px;\n        padding: 0 4px\n    }\n\n    .col-lg-1.handsontable,\n    .col-lg-2.handsontable,\n    .col-lg-3.handsontable,\n    .col-lg-4.handsontable,\n    .col-lg-5.handsontable,\n    .col-lg-6.handsontable,\n    .col-lg-7.handsontable,\n    .col-lg-8.handsontable,\n    .col-lg-9.handsontable,\n    .col-lg-10.handsontable,\n    .col-lg-11.handsontable,\n    .col-lg-12.handsontable,\n    .col-md-1.handsontable,\n    .col-md-2.handsontable,\n    .col-md-3.handsontable,\n    .col-md-4.handsontable,\n    .col-md-5.handsontable,\n    .col-md-6.handsontable,\n    .col-md-7.handsontable,\n    .col-md-8.handsontable,\n    .col-md-9.handsontable .col-sm-1.handsontable,\n    .col-md-10.handsontable,\n    .col-md-11.handsontable,\n    .col-md-12.handsontable,\n    .col-sm-2.handsontable,\n    .col-sm-3.handsontable,\n    .col-sm-4.handsontable,\n    .col-sm-5.handsontable,\n    .col-sm-6.handsontable,\n    .col-sm-7.handsontable,\n    .col-sm-8.handsontable,\n    .col-sm-9.handsontable .col-xs-1.handsontable,\n    .col-sm-10.handsontable,\n    .col-sm-11.handsontable,\n    .col-sm-12.handsontable,\n    .col-xs-2.handsontable,\n    .col-xs-3.handsontable,\n    .col-xs-4.handsontable,\n    .col-xs-5.handsontable,\n    .col-xs-6.handsontable,\n    .col-xs-7.handsontable,\n    .col-xs-8.handsontable,\n    .col-xs-9.handsontable,\n    .col-xs-10.handsontable,\n    .col-xs-11.handsontable,\n    .col-xs-12.handsontable {\n        padding-left: 0;\n        padding-right: 0\n    }\n\n    .handsontable .table-striped>tbody>tr:nth-of-type(2n) {\n        background-color: #fff\n    }\n\n    .handsontable {\n        position: relative\n    }\n\n    .handsontable .hide {\n        display: none\n    }\n\n    .handsontable .relative {\n        position: relative\n    }\n\n    .handsontable.htAutoSize {\n        visibility: hidden;\n        left: -99000px;\n        position: absolute;\n        top: -99000px\n    }\n\n    .handsontable .wtHider {\n        width: 0\n    }\n\n    .handsontable .wtSpreader {\n        position: relative;\n        width: 0;\n        height: auto\n    }\n\n    .handsontable div,\n    .handsontable input,\n    .handsontable table,\n    .handsontable tbody,\n    .handsontable td,\n    .handsontable textarea,\n    .handsontable th,\n    .handsontable thead {\n        box-sizing: content-box;\n        -webkit-box-sizing: content-box;\n        -moz-box-sizing: content-box\n    }\n\n    .handsontable input,\n    .handsontable textarea {\n        min-height: 0\n    }\n\n    .handsontable table.htCore {\n        border-collapse: separate;\n        border-spacing: 0;\n        margin: 0;\n        border-width: 0;\n        table-layout: fixed;\n        width: 0;\n        outline-width: 0;\n        cursor: default;\n        max-width: none;\n        max-height: none\n    }\n\n    .handsontable col,\n    .handsontable col.rowHeader {\n        width: 50px\n    }\n\n    .handsontable td,\n    .handsontable th {\n        border-top-width: 0;\n        border-left-width: 0;\n        border-right: 1px solid #ccc;\n        border-bottom: 1px solid #ccc;\n        height: 22px;\n        empty-cells: show;\n        line-height: 21px;\n        padding: 0 4px;\n        background-color: #fff;\n        vertical-align: top;\n        overflow: hidden;\n        outline-width: 0;\n        white-space: pre-line;\n        background-clip: padding-box\n    }\n\n    .handsontable td.htInvalid {\n        background-color: #ff4c42 !important\n    }\n\n    .handsontable td.htNoWrap {\n        white-space: nowrap\n    }\n\n    .handsontable th:last-child {\n        border-right: 1px solid #ccc;\n        border-bottom: 1px solid #ccc\n    }\n\n    .handsontable th.htNoFrame,\n    .handsontable th:first-child.htNoFrame,\n    .handsontable tr:first-child th.htNoFrame {\n        border-left-width: 0;\n        background-color: #fff;\n        border-color: #fff\n    }\n\n    .handsontable .htNoFrame+td,\n    .handsontable .htNoFrame+th,\n    .handsontable.htRowHeaders thead tr th:nth-child(2),\n    .handsontable td:first-of-type,\n    .handsontable th:first-child,\n    .handsontable th:nth-child(2) {\n        border-left: 1px solid #ccc\n    }\n\n    .handsontable tr:first-child td,\n    .handsontable tr:first-child th {\n        border-top: 1px solid #ccc\n    }\n\n    .ht_master:not(.innerBorderLeft):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child,\n    .ht_master:not(.innerBorderLeft):not(.emptyColumns)~.handsontable tbody tr th {\n        border-right-width: 0\n    }\n\n    .ht_master:not(.innerBorderTop) thead tr.lastChild th,\n    .ht_master:not(.innerBorderTop) thead tr:last-child th,\n    .ht_master:not(.innerBorderTop)~.handsontable thead tr.lastChild th,\n    .ht_master:not(.innerBorderTop)~.handsontable thead tr:last-child th {\n        border-bottom-width: 0\n    }\n\n    .handsontable th {\n        background-color: #f0f0f0;\n        color: #222;\n        text-align: center;\n        font-weight: 400;\n        white-space: nowrap\n    }\n\n    .handsontable thead th {\n        padding: 0\n    }\n\n    .handsontable th.active {\n        background-color: #ccc\n    }\n\n    .handsontable thead th .relative {\n        padding: 2px 4px\n    }\n\n    #hot-display-license-info {\n        font-size: 10px;\n        color: #323232;\n        padding: 5px 0 3px;\n        font-family: Helvetica, Arial, sans-serif;\n        text-align: left\n    }\n\n    .handsontable .manualColumnResizer {\n        position: fixed;\n        top: 0;\n        cursor: col-resize;\n        z-index: 110;\n        width: 5px;\n        height: 25px\n    }\n\n    .handsontable .manualRowResizer {\n        position: fixed;\n        left: 0;\n        cursor: row-resize;\n        z-index: 110;\n        height: 5px;\n        width: 50px\n    }\n\n    .handsontable .manualColumnResizer.active,\n    .handsontable .manualColumnResizer:hover,\n    .handsontable .manualRowResizer.active,\n    .handsontable .manualRowResizer:hover {\n        background-color: #34a9db\n    }\n\n    .handsontable .manualColumnResizerGuide {\n        position: fixed;\n        right: 0;\n        top: 0;\n        background-color: #34a9db;\n        display: none;\n        width: 0;\n        border-right: 1px dashed #777;\n        margin-left: 5px\n    }\n\n    .handsontable .manualRowResizerGuide {\n        position: fixed;\n        left: 0;\n        bottom: 0;\n        background-color: #34a9db;\n        display: none;\n        height: 0;\n        border-bottom: 1px dashed #777;\n        margin-top: 5px\n    }\n\n    .handsontable .manualColumnResizerGuide.active,\n    .handsontable .manualRowResizerGuide.active {\n        display: block;\n        z-index: 199\n    }\n\n    .handsontable .columnSorting {\n        position: relative\n    }\n\n    .handsontable .columnSorting:hover {\n        text-decoration: underline;\n        cursor: pointer\n    }\n\n    .handsontable .columnSorting.ascending:after {\n        content: "\\25B2";\n        color: #5f5f5f;\n        position: absolute;\n        right: -15px\n    }\n\n    .handsontable .columnSorting.descending:after {\n        content: "\\25BC";\n        color: #5f5f5f;\n        position: absolute;\n        right: -15px\n    }\n\n    .handsontable .wtBorder {\n        position: absolute;\n        font-size: 0\n    }\n\n    .handsontable .wtBorder.hidden {\n        display: none !important\n    }\n\n    .handsontable .wtBorder.current {\n        z-index: 10\n    }\n\n    .handsontable .wtBorder.area {\n        z-index: 8\n    }\n\n    .handsontable .wtBorder.fill {\n        z-index: 6\n    }\n\n    .handsontable td.area,\n    .handsontable td.area-1,\n    .handsontable td.area-2,\n    .handsontable td.area-3,\n    .handsontable td.area-4,\n    .handsontable td.area-5,\n    .handsontable td.area-6,\n    .handsontable td.area-7 {\n        position: relative\n    }\n\n    .handsontable td.area-1:before,\n    .handsontable td.area-2:before,\n    .handsontable td.area-3:before,\n    .handsontable td.area-4:before,\n    .handsontable td.area-5:before,\n    .handsontable td.area-6:before,\n    .handsontable td.area-7:before,\n    .handsontable td.area:before {\n        content: "";\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        bottom: -100%\\9;\n        background: #005eff\n    }\n\n    @media (-ms-high-contrast:none),\n    screen and (-ms-high-contrast:active) {\n\n        .handsontable td.area-1:before,\n        .handsontable td.area-2:before,\n        .handsontable td.area-3:before,\n        .handsontable td.area-4:before,\n        .handsontable td.area-5:before,\n        .handsontable td.area-6:before,\n        .handsontable td.area-7:before,\n        .handsontable td.area:before {\n            bottom: -100%\n        }\n    }\n\n    .handsontable td.area:before {\n        opacity: .1\n    }\n\n    .handsontable td.area-1:before {\n        opacity: .2\n    }\n\n    .handsontable td.area-2:before {\n        opacity: .27\n    }\n\n    .handsontable td.area-3:before {\n        opacity: .35\n    }\n\n    .handsontable td.area-4:before {\n        opacity: .41\n    }\n\n    .handsontable td.area-5:before {\n        opacity: .47\n    }\n\n    .handsontable td.area-6:before {\n        opacity: .54\n    }\n\n    .handsontable td.area-7:before {\n        opacity: .58\n    }\n\n    .handsontable tbody th.ht__highlight,\n    .handsontable thead th.ht__highlight {\n        background-color: #dcdcdc\n    }\n\n    .handsontable tbody th.ht__active_highlight,\n    .handsontable thead th.ht__active_highlight {\n        background-color: #8eb0e7;\n        color: #000\n    }\n\n    .handsontable .wtBorder.corner {\n        font-size: 0;\n        cursor: crosshair\n    }\n\n    .handsontable .htBorder.htFillBorder {\n        background: red;\n        width: 1px;\n        height: 1px\n    }\n\n    .handsontableInput {\n        border: none;\n        outline-width: 0;\n        margin: 0;\n        padding: 1px 5px 0;\n        font-family: inherit;\n        line-height: 21px;\n        font-size: inherit;\n        box-shadow: inset 0 0 0 2px #5292f7;\n        resize: none;\n        display: block;\n        color: #000;\n        border-radius: 0;\n        background-color: #fff\n    }\n\n    .handsontableInputHolder {\n        position: absolute;\n        top: 0;\n        left: 0;\n        z-index: 104\n    }\n\n    .htSelectEditor {\n        -webkit-appearance: menulist-button !important;\n        position: absolute;\n        width: auto\n    }\n\n    .handsontable .htDimmed {\n        color: #777\n    }\n\n    .handsontable .htSubmenu {\n        position: relative\n    }\n\n    .handsontable .htSubmenu :after {\n        content: "\\25B6";\n        color: #777;\n        position: absolute;\n        right: 5px;\n        font-size: 9px\n    }\n\n    .handsontable .htLeft {\n        text-align: left\n    }\n\n    .handsontable .htCenter {\n        text-align: center\n    }\n\n    .handsontable .htRight {\n        text-align: right\n    }\n\n    .handsontable .htJustify {\n        text-align: justify\n    }\n\n    .handsontable .htTop {\n        vertical-align: top\n    }\n\n    .handsontable .htMiddle {\n        vertical-align: middle\n    }\n\n    .handsontable .htBottom {\n        vertical-align: bottom\n    }\n\n    .handsontable .htPlaceholder {\n        color: #999\n    }\n\n    .handsontable .htAutocompleteArrow {\n        float: right;\n        font-size: 10px;\n        color: #eee;\n        cursor: default;\n        width: 16px;\n        text-align: center\n    }\n\n    .handsontable td .htAutocompleteArrow:hover {\n        color: #777\n    }\n\n    .handsontable td.area .htAutocompleteArrow {\n        color: #d3d3d3\n    }\n\n    .handsontable .htCheckboxRendererInput {\n        display: inline-block;\n        vertical-align: middle\n    }\n\n    .handsontable .htCheckboxRendererInput.noValue {\n        opacity: .5\n    }\n\n    .handsontable .htCheckboxRendererLabel {\n        cursor: pointer;\n        display: inline-block;\n        width: 100%\n    }\n\n    .handsontable .handsontable.ht_clone_top .wtHider {\n        padding: 0 0 5px\n    }\n\n    .handsontable .autocompleteEditor.handsontable {\n        padding-right: 17px\n    }\n\n    .handsontable .autocompleteEditor.handsontable.htMacScroll {\n        padding-right: 15px\n    }\n\n    .handsontable.listbox {\n        margin: 0\n    }\n\n    .handsontable.listbox .ht_master table {\n        border: 1px solid #ccc;\n        border-collapse: separate;\n        background: #fff\n    }\n\n    .handsontable.listbox td,\n    .handsontable.listbox th,\n    .handsontable.listbox tr:first-child td,\n    .handsontable.listbox tr:first-child th,\n    .handsontable.listbox tr:last-child th {\n        border-color: transparent\n    }\n\n    .handsontable.listbox td,\n    .handsontable.listbox th {\n        white-space: nowrap;\n        text-overflow: ellipsis\n    }\n\n    .handsontable.listbox td.htDimmed {\n        cursor: default;\n        color: inherit;\n        font-style: inherit\n    }\n\n    .handsontable.listbox .wtBorder {\n        visibility: hidden\n    }\n\n    .handsontable.listbox tr:hover td,\n    .handsontable.listbox tr td.current {\n        background: #eee\n    }\n\n    .ht_clone_top {\n        z-index: 101\n    }\n\n    .ht_clone_left {\n        z-index: 102\n    }\n\n    .ht_clone_bottom_left_corner,\n    .ht_clone_debug,\n    .ht_clone_top_left_corner {\n        z-index: 103\n    }\n\n    .handsontable td.htSearchResult {\n        background: #fcedd9;\n        color: #583707\n    }\n\n    .htBordered {\n        border-width: 1px\n    }\n\n    .htBordered.htTopBorderSolid {\n        border-top-style: solid;\n        border-top-color: #000\n    }\n\n    .htBordered.htRightBorderSolid {\n        border-right-style: solid;\n        border-right-color: #000\n    }\n\n    .htBordered.htBottomBorderSolid {\n        border-bottom-style: solid;\n        border-bottom-color: #000\n    }\n\n    .htBordered.htLeftBorderSolid {\n        border-left-style: solid;\n        border-left-color: #000\n    }\n\n    .handsontable tbody tr th:nth-last-child(2) {\n        border-right: 1px solid #ccc\n    }\n\n    .handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer {\n        border-bottom: 1px solid #ccc;\n        padding-bottom: 5px\n    }\n\n    .ht_clone_top_left_corner thead tr th:nth-last-child(2) {\n        border-right: 1px solid #ccc\n    }\n\n    .htCollapseButton {\n        width: 10px;\n        height: 10px;\n        line-height: 10px;\n        text-align: center;\n        border-radius: 5px;\n        border: 1px solid #f3f3f3;\n        box-shadow: 1px 1px 3px rgba(0, 0, 0, .4);\n        cursor: pointer;\n        margin-bottom: 3px;\n        position: relative\n    }\n\n    .htCollapseButton:after {\n        content: "";\n        height: 300%;\n        width: 1px;\n        display: block;\n        background: #ccc;\n        margin-left: 4px;\n        position: absolute;\n        bottom: 10px\n    }\n\n    thead .htCollapseButton {\n        right: 5px;\n        position: absolute;\n        top: 5px;\n        background: #fff\n    }\n\n    thead .htCollapseButton:after {\n        height: 1px;\n        width: 700%;\n        right: 10px;\n        top: 4px\n    }\n\n    .handsontable tr th .htExpandButton {\n        position: absolute;\n        width: 10px;\n        height: 10px;\n        line-height: 10px;\n        text-align: center;\n        border-radius: 5px;\n        border: 1px solid #f3f3f3;\n        box-shadow: 1px 1px 3px rgba(0, 0, 0, .4);\n        cursor: pointer;\n        top: 0;\n        display: none\n    }\n\n    .handsontable thead tr th .htExpandButton {\n        top: 5px\n    }\n\n    .handsontable tr th .htExpandButton.clickable {\n        display: block\n    }\n\n    .collapsibleIndicator {\n        position: absolute;\n        top: 50%;\n        transform: translateY(-50%);\n        right: 5px;\n        border: 1px solid #a6a6a6;\n        line-height: 10px;\n        color: #222;\n        border-radius: 10px;\n        font-size: 10px;\n        width: 10px;\n        height: 10px;\n        cursor: pointer;\n        box-shadow: 0 0 0 6px #eee;\n        background: #eee\n    }\n\n    .handsontable col.hidden {\n        width: 0 !important\n    }\n\n    .handsontable table tr th.lightRightBorder {\n        border-right: 1px solid #e6e6e6\n    }\n\n    .handsontable tr.hidden,\n    .handsontable tr.hidden td,\n    .handsontable tr.hidden th {\n        display: none\n    }\n\n    .ht_clone_bottom,\n    .ht_clone_left,\n    .ht_clone_top,\n    .ht_master {\n        overflow: hidden\n    }\n\n    .ht_master .wtHolder {\n        overflow: auto\n    }\n\n    .handsontable .ht_clone_left thead,\n    .handsontable .ht_master thead,\n    .handsontable .ht_master tr th {\n        visibility: hidden\n    }\n\n    .ht_clone_bottom .wtHolder,\n    .ht_clone_left .wtHolder,\n    .ht_clone_top .wtHolder {\n        overflow: hidden\n    }\n\n    .handsontable.mobile,\n    .handsontable.mobile .wtHolder {\n        -webkit-touch-callout: none;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        -ms-user-select: none;\n        user-select: none;\n        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n        -webkit-overflow-scrolling: touch\n    }\n\n    .htMobileEditorContainer {\n        display: none;\n        position: absolute;\n        top: 0;\n        width: 70%;\n        height: 54pt;\n        background: #f8f8f8;\n        border-radius: 20px;\n        border: 1px solid #ebebeb;\n        z-index: 999;\n        box-sizing: border-box;\n        -webkit-box-sizing: border-box;\n        -webkit-text-size-adjust: none\n    }\n\n    .topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea),\n    .topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle) {\n        z-index: 9999\n    }\n\n    .bottomRightSelectionHandle,\n    .bottomRightSelectionHandle-HitArea,\n    .topLeftSelectionHandle,\n    .topLeftSelectionHandle-HitArea {\n        left: -10000px;\n        top: -10000px\n    }\n\n    .htMobileEditorContainer.active {\n        display: block\n    }\n\n    .htMobileEditorContainer .inputs {\n        position: absolute;\n        right: 210pt;\n        bottom: 10pt;\n        top: 10pt;\n        left: 14px;\n        height: 34pt\n    }\n\n    .htMobileEditorContainer .inputs textarea {\n        font-size: 13pt;\n        border: 1px solid #a1a1a1;\n        -webkit-appearance: none;\n        box-shadow: none;\n        position: absolute;\n        left: 14px;\n        right: 14px;\n        top: 0;\n        bottom: 0;\n        padding: 7pt\n    }\n\n    .htMobileEditorContainer .cellPointer {\n        position: absolute;\n        top: -13pt;\n        height: 0;\n        width: 0;\n        left: 30px;\n        border-left: 13pt solid transparent;\n        border-right: 13pt solid transparent;\n        border-bottom: 13pt solid #ebebeb\n    }\n\n    .htMobileEditorContainer .cellPointer.hidden {\n        display: none\n    }\n\n    .htMobileEditorContainer .cellPointer:before {\n        content: "";\n        display: block;\n        position: absolute;\n        top: 2px;\n        height: 0;\n        width: 0;\n        left: -13pt;\n        border-left: 13pt solid transparent;\n        border-right: 13pt solid transparent;\n        border-bottom: 13pt solid #f8f8f8\n    }\n\n    .htMobileEditorContainer .moveHandle {\n        position: absolute;\n        top: 10pt;\n        left: 5px;\n        width: 30px;\n        bottom: 0;\n        cursor: move;\n        z-index: 9999\n    }\n\n    .htMobileEditorContainer .moveHandle:after {\n        content: "..\\A..\\A..\\A..";\n        white-space: pre;\n        line-height: 10px;\n        font-size: 20pt;\n        display: inline-block;\n        margin-top: -8px;\n        color: #ebebeb\n    }\n\n    .htMobileEditorContainer .positionControls {\n        width: 205pt;\n        position: absolute;\n        right: 5pt;\n        top: 0;\n        bottom: 0\n    }\n\n    .htMobileEditorContainer .positionControls>div {\n        width: 50pt;\n        height: 100%;\n        float: left\n    }\n\n    .htMobileEditorContainer .positionControls>div:after {\n        content: " ";\n        display: block;\n        width: 15pt;\n        height: 15pt;\n        text-align: center;\n        line-height: 50pt\n    }\n\n    .htMobileEditorContainer .downButton:after,\n    .htMobileEditorContainer .leftButton:after,\n    .htMobileEditorContainer .rightButton:after,\n    .htMobileEditorContainer .upButton:after {\n        transform-origin: 5pt 5pt;\n        -webkit-transform-origin: 5pt 5pt;\n        margin: 21pt 0 0 21pt\n    }\n\n    .htMobileEditorContainer .leftButton:after {\n        border-top: 2px solid #288ffe;\n        border-left: 2px solid #288ffe;\n        -webkit-transform: rotate(-45deg)\n    }\n\n    .htMobileEditorContainer .leftButton:active:after {\n        border-color: #cfcfcf\n    }\n\n    .htMobileEditorContainer .rightButton:after {\n        border-top: 2px solid #288ffe;\n        border-left: 2px solid #288ffe;\n        -webkit-transform: rotate(135deg)\n    }\n\n    .htMobileEditorContainer .rightButton:active:after {\n        border-color: #cfcfcf\n    }\n\n    .htMobileEditorContainer .upButton:after {\n        border-top: 2px solid #288ffe;\n        border-left: 2px solid #288ffe;\n        -webkit-transform: rotate(45deg)\n    }\n\n    .htMobileEditorContainer .upButton:active:after {\n        border-color: #cfcfcf\n    }\n\n    .htMobileEditorContainer .downButton:after {\n        border-top: 2px solid #288ffe;\n        border-left: 2px solid #288ffe;\n        -webkit-transform: rotate(225deg)\n    }\n\n    .htMobileEditorContainer .downButton:active:after {\n        border-color: #cfcfcf\n    }\n\n    .handsontable.hide-tween {\n        animation: opacity-hide .3s;\n        animation-fill-mode: forwards;\n        -webkit-animation-fill-mode: forwards\n    }\n\n    .handsontable.show-tween {\n        animation: opacity-show .3s;\n        animation-fill-mode: forwards;\n        -webkit-animation-fill-mode: forwards\n    }\n\n    /*!\n * Pikaday\n * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/\n */\n\n    .pika-single {\n        z-index: 9999;\n        display: block;\n        position: relative;\n        color: #333;\n        background: #fff;\n        border: 1px solid #ccc;\n        border-bottom-color: #bbb;\n        font-family: Helvetica Neue, Helvetica, Arial, sans-serif\n    }\n\n    .pika-single:after,\n    .pika-single:before {\n        content: " ";\n        display: table\n    }\n\n    .pika-single:after {\n        clear: both\n    }\n\n    .pika-single {\n        *zoom: 1\n    }\n\n    .pika-single.is-hidden {\n        display: none\n    }\n\n    .pika-single.is-bound {\n        position: absolute;\n        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, .5)\n    }\n\n    .pika-lendar {\n        float: left;\n        width: 240px;\n        margin: 8px\n    }\n\n    .pika-title {\n        position: relative;\n        text-align: center\n    }\n\n    .pika-label {\n        display: inline-block;\n        *display: inline;\n        position: relative;\n        z-index: 9999;\n        overflow: hidden;\n        margin: 0;\n        padding: 5px 3px;\n        font-size: 14px;\n        line-height: 20px;\n        font-weight: 700;\n        background-color: #fff\n    }\n\n    .pika-title select {\n        cursor: pointer;\n        position: absolute;\n        z-index: 9998;\n        margin: 0;\n        left: 0;\n        top: 5px;\n        filter: alpha(opacity=0);\n        opacity: 0\n    }\n\n    .pika-next,\n    .pika-prev {\n        display: block;\n        cursor: pointer;\n        position: relative;\n        outline: none;\n        border: 0;\n        padding: 0;\n        width: 20px;\n        height: 30px;\n        text-indent: 20px;\n        white-space: nowrap;\n        overflow: hidden;\n        background-color: transparent;\n        background-position: 50%;\n        background-repeat: no-repeat;\n        background-size: 75% 75%;\n        opacity: .5;\n        *position: absolute;\n        *top: 0\n    }\n\n    .pika-next:hover,\n    .pika-prev:hover {\n        opacity: 1\n    }\n\n    .is-rtl .pika-next,\n    .pika-prev {\n        float: left;\n        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");\n        *left: 0\n    }\n\n    .is-rtl .pika-prev,\n    .pika-next {\n        float: right;\n        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");\n        *right: 0\n    }\n\n    .pika-next.is-disabled,\n    .pika-prev.is-disabled {\n        cursor: default;\n        opacity: .2\n    }\n\n    .pika-select {\n        display: inline-block;\n        *display: inline\n    }\n\n    .pika-table {\n        width: 100%;\n        border-collapse: collapse;\n        border-spacing: 0;\n        border: 0\n    }\n\n    .pika-table td,\n    .pika-table th {\n        width: 14.285714285714286%;\n        padding: 0\n    }\n\n    .pika-table th {\n        color: #999;\n        font-size: 12px;\n        line-height: 25px;\n        font-weight: 700;\n        text-align: center\n    }\n\n    .pika-button {\n        cursor: pointer;\n        display: block;\n        box-sizing: border-box;\n        -moz-box-sizing: border-box;\n        outline: none;\n        border: 0;\n        margin: 0;\n        width: 100%;\n        padding: 5px;\n        color: #666;\n        font-size: 12px;\n        line-height: 15px;\n        text-align: right;\n        background: #f5f5f5\n    }\n\n    .pika-week {\n        font-size: 11px;\n        color: #999\n    }\n\n    .is-today .pika-button {\n        color: #3af;\n        font-weight: 700\n    }\n\n    .is-selected .pika-button {\n        color: #fff;\n        font-weight: 700;\n        background: #3af;\n        box-shadow: inset 0 1px 3px #178fe5;\n        border-radius: 3px\n    }\n\n    .is-inrange .pika-button {\n        background: #d5e9f7\n    }\n\n    .is-startrange .pika-button {\n        color: #fff;\n        background: #6cb31d;\n        box-shadow: none;\n        border-radius: 3px\n    }\n\n    .is-endrange .pika-button {\n        color: #fff;\n        background: #3af;\n        box-shadow: none;\n        border-radius: 3px\n    }\n\n    .is-disabled .pika-button,\n    .is-outside-current-month .pika-button {\n        pointer-events: none;\n        cursor: default;\n        color: #999;\n        opacity: .3\n    }\n\n    .pika-button:hover {\n        color: #fff;\n        background: #ff8000;\n        box-shadow: none;\n        border-radius: 3px\n    }\n\n    .pika-table abbr {\n        border-bottom: none;\n        cursor: help\n    }\n\n    .htCommentCell {\n        position: relative\n    }\n\n    .htCommentCell:after {\n        content: "";\n        position: absolute;\n        top: 0;\n        right: 0;\n        border-left: 6px solid transparent;\n        border-top: 6px solid #000\n    }\n\n    .htComments {\n        display: none;\n        z-index: 1059;\n        position: absolute\n    }\n\n    .htCommentTextArea {\n        box-shadow: 0 1px 3px rgba(0, 0, 0, .117647), 0 1px 2px rgba(0, 0, 0, .239216);\n        box-sizing: border-box;\n        border: none;\n        border-left: 3px solid #ccc;\n        background-color: #fff;\n        width: 215px;\n        height: 90px;\n        font-size: 12px;\n        padding: 5px;\n        outline: 0 !important;\n        -webkit-appearance: none\n    }\n\n    .htCommentTextArea:focus {\n        box-shadow: 0 1px 3px rgba(0, 0, 0, .117647), 0 1px 2px rgba(0, 0, 0, .239216), inset 0 0 0 1px #5292f7;\n        border-left: 3px solid #5292f7\n    }\n\n    /*!\n * Handsontable ContextMenu\n */\n\n    .htContextMenu:not(.htGhostTable) {\n        display: none;\n        position: absolute;\n        z-index: 1060\n    }\n\n    .htContextMenu .ht_clone_corner,\n    .htContextMenu .ht_clone_debug,\n    .htContextMenu .ht_clone_left,\n    .htContextMenu .ht_clone_top {\n        display: none\n    }\n\n    .htContextMenu table.htCore {\n        border: 1px solid #ccc;\n        border-bottom-width: 2px;\n        border-right-width: 2px\n    }\n\n    .htContextMenu .wtBorder {\n        visibility: hidden\n    }\n\n    .htContextMenu table tbody tr td {\n        background: #fff;\n        border-width: 0;\n        padding: 4px 6px 0;\n        cursor: pointer;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis\n    }\n\n    .htContextMenu table tbody tr td:first-child {\n        border: 0\n    }\n\n    .htContextMenu table tbody tr td.htDimmed {\n        font-style: normal;\n        color: #323232\n    }\n\n    .htContextMenu table tbody tr td.current,\n    .htContextMenu table tbody tr td.zeroclipboard-is-hover {\n        background: #f3f3f3\n    }\n\n    .htContextMenu table tbody tr td.htSeparator {\n        border-top: 1px solid #e6e6e6;\n        height: 0;\n        padding: 0;\n        cursor: default\n    }\n\n    .htContextMenu table tbody tr td.htDisabled {\n        color: #999;\n        cursor: default\n    }\n\n    .htContextMenu table tbody tr td.htDisabled:hover {\n        background: #fff;\n        color: #999;\n        cursor: default\n    }\n\n    .htContextMenu table tbody tr.htHidden {\n        display: none\n    }\n\n    .htContextMenu table tbody tr td .htItemWrapper {\n        margin-left: 10px;\n        margin-right: 6px\n    }\n\n    .htContextMenu table tbody tr td div span.selected {\n        margin-top: -2px;\n        position: absolute;\n        left: 4px\n    }\n\n    .htContextMenu .ht_master .wtHolder {\n        overflow: hidden\n    }\n\n    textarea#HandsontableCopyPaste {\n        position: fixed !important;\n        top: 0 !important;\n        right: 100% !important;\n        overflow: hidden;\n        opacity: 0;\n        outline: 0 none !important\n    }\n\n    .htRowHeaders .ht_master.innerBorderLeft~.ht_clone_left td:first-of-type,\n    .htRowHeaders .ht_master.innerBorderLeft~.ht_clone_top_left_corner th:nth-child(2) {\n        border-left: 0 none\n    }\n\n    .handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight {\n        cursor: move;\n        cursor: -webkit-grab;\n        cursor: grab\n    }\n\n    .handsontable.ht__manualColumnMove.on-moving--columns,\n    .handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight {\n        cursor: move;\n        cursor: -webkit-grabbing;\n        cursor: grabbing\n    }\n\n    .handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer {\n        display: none\n    }\n\n    .handsontable .ht__manualColumnMove--backlight,\n    .handsontable .ht__manualColumnMove--guideline {\n        position: absolute;\n        height: 100%;\n        display: none\n    }\n\n    .handsontable .ht__manualColumnMove--guideline {\n        background: #757575;\n        width: 2px;\n        top: 0;\n        margin-left: -1px;\n        z-index: 105\n    }\n\n    .handsontable .ht__manualColumnMove--backlight {\n        background: #343434;\n        background: rgba(52, 52, 52, .25);\n        display: none;\n        z-index: 105;\n        pointer-events: none\n    }\n\n    .handsontable.on-moving--columns .ht__manualColumnMove--backlight,\n    .handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline {\n        display: block\n    }\n\n    .handsontable .wtHider {\n        position: relative\n    }\n\n    .handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight {\n        cursor: move;\n        cursor: -webkit-grab;\n        cursor: grab\n    }\n\n    .handsontable.ht__manualRowMove.on-moving--rows,\n    .handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight {\n        cursor: move;\n        cursor: -webkit-grabbing;\n        cursor: grabbing\n    }\n\n    .handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer {\n        display: none\n    }\n\n    .handsontable .ht__manualRowMove--backlight,\n    .handsontable .ht__manualRowMove--guideline {\n        position: absolute;\n        width: 100%;\n        display: none\n    }\n\n    .handsontable .ht__manualRowMove--guideline {\n        background: #757575;\n        height: 2px;\n        left: 0;\n        margin-top: -1px;\n        z-index: 105\n    }\n\n    .handsontable .ht__manualRowMove--backlight {\n        background: #343434;\n        background: rgba(52, 52, 52, .25);\n        display: none;\n        z-index: 105;\n        pointer-events: none\n    }\n\n    .handsontable.on-moving--rows .ht__manualRowMove--backlight,\n    .handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline {\n        display: block\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before {\n        opacity: 0\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before,\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before {\n        opacity: .1\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before {\n        opacity: .2\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before {\n        opacity: .27\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before {\n        opacity: .35\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before {\n        opacity: .41\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before {\n        opacity: .47\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before {\n        opacity: .54\n    }\n\n    .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before {\n        opacity: .58\n    }\n</style>'},862:function(n,e,t){var o={"./af":647,"./af.js":647,"./ar":648,"./ar-dz":649,"./ar-dz.js":649,"./ar-kw":650,"./ar-kw.js":650,"./ar-ly":651,"./ar-ly.js":651,"./ar-ma":652,"./ar-ma.js":652,"./ar-sa":653,"./ar-sa.js":653,"./ar-tn":654,"./ar-tn.js":654,"./ar.js":648,"./az":655,"./az.js":655,"./be":656,"./be.js":656,"./bg":657,"./bg.js":657,"./bm":658,"./bm.js":658,"./bn":659,"./bn.js":659,"./bo":660,"./bo.js":660,"./br":661,"./br.js":661,"./bs":662,"./bs.js":662,"./ca":663,"./ca.js":663,"./cs":664,"./cs.js":664,"./cv":665,"./cv.js":665,"./cy":666,"./cy.js":666,"./da":667,"./da.js":667,"./de":668,"./de-at":669,"./de-at.js":669,"./de-ch":670,"./de-ch.js":670,"./de.js":668,"./dv":671,"./dv.js":671,"./el":672,"./el.js":672,"./en-au":673,"./en-au.js":673,"./en-ca":674,"./en-ca.js":674,"./en-gb":675,"./en-gb.js":675,"./en-ie":676,"./en-ie.js":676,"./en-nz":677,"./en-nz.js":677,"./eo":678,"./eo.js":678,"./es":679,"./es-do":680,"./es-do.js":680,"./es-us":681,"./es-us.js":681,"./es.js":679,"./et":682,"./et.js":682,"./eu":683,"./eu.js":683,"./fa":684,"./fa.js":684,"./fi":685,"./fi.js":685,"./fo":686,"./fo.js":686,"./fr":687,"./fr-ca":688,"./fr-ca.js":688,"./fr-ch":689,"./fr-ch.js":689,"./fr.js":687,"./fy":690,"./fy.js":690,"./gd":691,"./gd.js":691,"./gl":692,"./gl.js":692,"./gom-latn":693,"./gom-latn.js":693,"./gu":694,"./gu.js":694,"./he":695,"./he.js":695,"./hi":696,"./hi.js":696,"./hr":697,"./hr.js":697,"./hu":698,"./hu.js":698,"./hy-am":699,"./hy-am.js":699,"./id":700,"./id.js":700,"./is":701,"./is.js":701,"./it":702,"./it.js":702,"./ja":703,"./ja.js":703,"./jv":704,"./jv.js":704,"./ka":705,"./ka.js":705,"./kk":706,"./kk.js":706,"./km":707,"./km.js":707,"./kn":708,"./kn.js":708,"./ko":709,"./ko.js":709,"./ky":710,"./ky.js":710,"./lb":711,"./lb.js":711,"./lo":712,"./lo.js":712,"./lt":713,"./lt.js":713,"./lv":714,"./lv.js":714,"./me":715,"./me.js":715,"./mi":716,"./mi.js":716,"./mk":717,"./mk.js":717,"./ml":718,"./ml.js":718,"./mr":719,"./mr.js":719,"./ms":720,"./ms-my":721,"./ms-my.js":721,"./ms.js":720,"./mt":722,"./mt.js":722,"./my":723,"./my.js":723,"./nb":724,"./nb.js":724,"./ne":725,"./ne.js":725,"./nl":726,"./nl-be":727,"./nl-be.js":727,"./nl.js":726,"./nn":728,"./nn.js":728,"./pa-in":729,"./pa-in.js":729,"./pl":730,"./pl.js":730,"./pt":731,"./pt-br":732,"./pt-br.js":732,"./pt.js":731,"./ro":733,"./ro.js":733,"./ru":734,"./ru.js":734,"./sd":735,"./sd.js":735,"./se":736,"./se.js":736,"./si":737,"./si.js":737,"./sk":738,"./sk.js":738,"./sl":739,"./sl.js":739,"./sq":740,"./sq.js":740,"./sr":741,"./sr-cyrl":742,"./sr-cyrl.js":742,"./sr.js":741,"./ss":743,"./ss.js":743,"./sv":744,"./sv.js":744,"./sw":745,"./sw.js":745,"./ta":746,"./ta.js":746,"./te":747,"./te.js":747,"./tet":748,"./tet.js":748,"./th":749,"./th.js":749,"./tl-ph":750,"./tl-ph.js":750,"./tlh":751,"./tlh.js":751,"./tr":752,"./tr.js":752,"./tzl":753,"./tzl.js":753,"./tzm":754,"./tzm-latn":755,"./tzm-latn.js":755,"./tzm.js":754,"./uk":756,"./uk.js":756,"./ur":757,"./ur.js":757,"./uz":758,"./uz-latn":759,"./uz-latn.js":759,"./uz.js":758,"./vi":760,"./vi.js":760,"./x-pseudo":761,"./x-pseudo.js":761,"./yo":762,"./yo.js":762,"./zh-cn":763,"./zh-cn.js":763,"./zh-hk":764,"./zh-hk.js":764,"./zh-tw":765,"./zh-tw.js":765};function a(n){var e=i(n);return t(e)}function i(n){if(!t.o(o,n)){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}return o[n]}a.keys=function(){return Object.keys(o)},a.resolve=i,n.exports=a,a.id=862},867:function(n,e){},868:function(n,e){},951:function(n,e,t){"use strict";t.r(e),t.d(e,"AuWidgetDataSheet",function(){return k}),t.d(e,"widget",function(){return k});var o=t(0),a=t(859),i=t.n(a),s=t(572),l=t(766),r=t(578),d=t(202),h=t(2),b=(t(579),t(1)),c=t(160),p=t(860),g=t.n(p),u=t(646),f=t.n(u),m=t(147);class x{constructor(n){Object.assign(this,n)}}class w{static getAllHeaders(n){const e=[];for(let t of n)for(let n of Object.keys(t))-1===e.indexOf(n)&&e.push(n);return e}static ensureObjectKeysPercents(n){return n.map(n=>{for(let e in n){let t=e;t.startsWith("%")||(t="%"+t),t.endsWith("%")||(t+="%"),t!==e&&(n[t]=n[e],delete n[e])}return n})}static removeDuplicates(n){return n.filter((e,t)=>{const o=JSON.stringify(e);return t===n.findIndex(n=>JSON.stringify(n)===o)})}static appendEmptyKeys(n,e){const t=e.reduce((n,e)=>(n[e]="",n),{});return n.map(n=>Object.assign({},t,n))}}const y="#F78181",v="#FFF";function _(n,e,t,o,a,i,s){f.a.renderers.TextRenderer.apply(this,arguments);const l=n.getDataAtCell(t,o);e.title=s.error||l||"",e.style.backgroundColor=s.error?y:v}const j=300;var C=t(865);let k=class extends c.b{constructor(){super(),this.selectedRowIndex=0,this.workbookName="out.xlsx",this.columnSchemes=[],this.cellsData=[],this._isScrollingToRow=!0,this._isRestoring=!1,this.page=1,this._itemsPerPage=50,this._data=[],this.total=1,this._isDataLoaded=!1,this.format="full-height",this.tableService=new class{constructor(){this.widget=null,this.rowSelectedSubject=new m.a,this.cellChangedSubject=new m.a,this._grid=null,this.headers=[],this.rowsMetadata=[{}],this.isTableCreated=!1,this.selectedRowIndex=0,this.itemsPerPage=50,this.currentPage=1}get rowSelected$(){return this.rowSelectedSubject.asObservable()}get cellChanged$(){return this.cellChangedSubject.asObservable()}get currentHeaders(){return this.headers}get isTableEmpty(){return this.isTableCreated&&(this.widget._isDataLoaded&&0===this.widget._data.length&&1===this.widget.page||1===this.widget.page&&0===this._grid.countRows())}drawTable(n,e){if(Object(d.a)(e)||e.length<=0)return;const t=e.map(n=>n.header),o=e.filter(n=>n.readonly).map(n=>n.header);this.setHeaders(t),this.isTableCreated?this.updateTable(o):this.initializeTable(n,o),this._grid.selectRows(0)}selectRow(n){this._grid.selectRows(n)}getCell(n,e){return this._grid.getCell(n,e)}loadData(n){for(n=w.appendEmptyKeys(n,this.headers);this.rowsMetadata.length<n.length;)this.rowsMetadata.push({});this._grid.loadData(n);let e=0,t=0;const o=this._grid.getSelected();o&&(e=o[0][0],t=o[0][1]),e=n.length>=e?e:0,this._grid.selectCell(e,t)}getData(){return!this._grid||this._grid.isDestroyed?[]:this._grid.getData().map(n=>{const e={};return n.forEach((n,t)=>{e[this.headers[t]]=null===n?"":n}),e})}addRow(){this.rowsMetadata.push({}),this._grid.alter("insert_row")}deleteRow(){const n=this._grid.getSelected();if(Object(l.a)(n))return-1;{const e=n[0][0];return this.rowsMetadata.splice(e,1),this._grid.alter("remove_row",e),e}}destroyTable(){this.isTableCreated&&(this._grid.destroy(),this.isTableCreated=!1,this.rowsMetadata=[{}])}setDataAtCell(n,e,t,o=null){this._grid.setDataAtCell(n,e,t,o)}setErrorAtCell(n,e,t){const o=this.rowsMetadata[n],a="string"==typeof e?e:this.headers[e];o[a]=Object.assign(Object.assign({},o[a]),{error:t}),this.render()}removeErrorAtCell(n,e){const t=this.rowsMetadata[n],o="string"==typeof e?e:this.headers[e];t[o]=Object.assign(Object.assign({},t[o]),{error:null}),this.render()}getColumnIndex(n){return this.headers.findIndex(e=>e===n)}render(n=!0){this._grid&&this.isTableCreated&&(n?setTimeout(()=>{this._grid.render()},0):this._grid.render())}setHeaders(n,e=!1){if(e)for(let e of n)-1===this.headers.indexOf(e)&&-1===this.headers.indexOf(`%${e}%`)&&-1===this.headers.indexOf(e.replace(/%/g,""))&&this.headers.push(e);else this.headers=n}initializeTable(n,e){Object(d.a)(this.headers)?console.log("Table headers are not presented"):(this._grid=new f.a(n,{data:[[]],columns:this.headers.map(n=>({title:(n||"").replace(/%/g,""),data:n,type:"text"})),cells:(n,t)=>{const o=this.getCellMeta(n,t);return Object.assign(Object.assign({},o),{readOnly:e.indexOf(this.headers[t])>-1,renderer:_})},rowHeaders:n=>this.itemsPerPage*(this.currentPage-1)+n+1,colHeaders:!0,viewportRowRenderingOffset:1e3,filters:!1,dropdownMenu:!1,allowRemoveColumn:!0,allowRemoveRow:!0,allowInsertRow:!0,autoColumnSize:!0,autoRowSize:!0,columnSorting:!1,contextMenu:!1,currentRowClassName:"highlight",fillHandle:!1,outsideClickDeselects:!1,preventOverflow:"horizontal",selectionMode:"single",sortByRelevance:!1,stretchH:"all",enterMoves:{row:0,col:1},undo:!1,afterChange:(n,e)=>{if(!n)return;const t=n[0],o=t[2]!==t[3],a=t[0];let i=t[1],s=this.headers.findIndex(n=>n===i);-1===s&&(i=i.replace(/^%|%$/gi,""),s=this.headers.findIndex(n=>n===i)),"edit"===e&&o&&(this.removeErrorAtCell(a,s),this.cellChangedSubject.next(new x({rowIndex:a,colIndex:s,colName:i})))},afterSelection:n=>{Object(d.a)(n)||this.rowSelectedSubject.next(n)},afterRemoveRow:n=>{Object(d.a)(n)||this.rowSelectedSubject.next(n)},beforeKeyDown:n=>{var e,t,o;8===n.keyCode||46===n.keyCode?f.a.dom.stopImmediatePropagation(n):37!==n.keyCode&&39!==n.keyCode||"STATE_EDITING"!==this._grid.getActiveEditor().state?13===n.keyCode||(null===(o=null===(t=null===(e=n.target)||void 0===e?void 0:e.root)||void 0===t?void 0:t.activeElement)||void 0===o?void 0:o.closest("#inputSavedProjectNameDialog"))&&f.a.dom.stopImmediatePropagation(n):f.a.dom.stopImmediatePropagation(n)},modifyColWidth:n=>{if(n>j)return j}}),this.isTableCreated=!0)}updateTable(n){Object(d.a)(this.headers)?console.log("Table headers are not presented"):this._grid.updateSettings({columns:this.headers.map(n=>({title:(n||"").replace(/%/g,""),data:n,type:"text"})),cells:(e,t)=>{const o=this.getCellMeta(e,t);return Object.assign(Object.assign({},o),{readOnly:n.indexOf(this.headers[t])>-1,renderer:_})}},!1)}getCellMeta(n,e){const t=n>=this.rowsMetadata.length,o=e>=this.headers.length;if(!t&&!o)return this.rowsMetadata[n][this.headers[e]]}},this.tableService.widget=this,this.xlsxService=new class{constructor(n=!0){this.rABS=n}parseFile(n){if(!n)return Promise.resolve([]);const e=new FileReader;return new Promise((t,o)=>{e.onload=(n=>{let e=n.target.result;this.rABS||(e=new Uint8Array(e));const o=this.parseXSLT(e);t(o)}),e.onerror=(n=>{o(n)}),this.rABS?e.readAsBinaryString(n):e.readAsArrayBuffer(n)})}createWorkbook(n){const e=this.createTable(n);return C.utils.table_to_book(e)}createWorkbookAndDownload(n,e){const t=this.createWorkbook(n);C.writeFile(t,e)}parseXSLT(n){const e=C.read(n,{type:this.rABS?"binary":"array"});return C.utils.sheet_to_json(e.Sheets.Sheet1,{raw:!1})}createTable(n){let e=[];n.forEach(n=>{Object.keys(n).forEach(function(n){-1===e.indexOf(n)&&e.push(n)})});let t=document.createElement("table"),o=document.createElement("tbody"),a=document.createElement("tr");return e.forEach(function(n){let e=document.createElement("th");e.textContent=n.replace(/%/g,""),a.appendChild(e)}),o.appendChild(a),n.forEach(function(n){let e=document.createElement("tr");Object.keys(n).forEach(function(t){let o=document.createElement("td");o.textContent=n[t],e.appendChild(o)}),o.appendChild(e)}),t.appendChild(o),t}},this.rowSelectedSub=this.tableService.rowSelected$.subscribe(async n=>{const e=this.selectedRowIndex.toString();this.rowSelectedHandler(n),this._onRowChange&&e!==n.toString()&&await this._onRowChange()}),this.cellChangedSub=this.tableService.cellChanged$.subscribe(async n=>{this.cellChangedHandler(n),this._onCellTextChange&&await this._onCellTextChange()})}get _(){return this.selectedRow}_dataObserver(n){const e=n&&0!==n.length?n.length:1;this._setTotal(e)}updateParams(n){null!=n&&(n.itemsPerPage&&(this._itemsPerPage=n.itemsPerPage),this.tableService.itemsPerPage=this._itemsPerPage,n.fileName&&(this.workbookName=n.fileName),n.data&&(Object(r.a)(n.data,this.columnSchemes)||(this.columnSchemes=n.data,n.order&&this._sortColumnSchemesByOrder(this.columnSchemes,n.order),this.drawTable(this.columnSchemes),this.hideButtonsLeft=n.hideButtonsLeft||!1,this.hideButtonsRight=n.hideButtonsRight||!1,this.hideButtonsLeft&&this.$.buttonsLeft.classList.add("hidden"),this.hideButtonsRight&&this.$.buttonsRight.classList.add("hidden"),this.showPreloader(!1)),!b.a.isNotEmptyArray(n.tableData)||!b.a.isNotEmptyArray(n.data)||Object(r.a)(n.tableData,this.defaultTableData)&&Object(r.a)(n.data,this.columnSchemes)||(this.defaultTableData=n.tableData,this.loadData(n.tableData),this.showPreloader(!1))),Object(l.a)(n.updateItem)||this.updateItemData(n.updateItem),Object(l.a)(n.customTexts)||this.updateTexts(n.customTexts),b.a.isNotNullOrUndefined(n.scrollToRowEnabled)&&(this._isScrollingToRow=n.scrollToRowEnabled),n.allowedFileTypes&&this._updateFileTypes(n.allowedFileTypes),n.onRowChange&&(this._onRowChange=b.a.functionWrapperConstructor(n.onRowChange)),n.onCellTextChange&&(this._onCellTextChange=b.a.functionWrapperConstructor(n.onCellTextChange)),this.notifyPath("tableService.isTableEmpty"),this.emitChange())}_sortColumnSchemesByOrder(n,e){const t=e.map(n=>n.toLowerCase()),o=[],a=[];n.forEach(n=>{const e=t.indexOf(n.name.toLowerCase());-1===e?a.push(n):o[e]=n}),this.columnSchemes=o.concat(a).filter(n=>null!==n)}_updateFileTypes(n){const e=Array.isArray(n)?n:[n];this.$.openFile.accept=e.join(",")}_setTotal(n){this.total=0===n?1:n}clearSelection(){throw new Error("Method not implemented.")}addRow(){(()=>{this.tableService.addRow(),this.tableService.render(!0);const n=this.tableService.getData();this._data.splice((this.page-1)*this._itemsPerPage,this._itemsPerPage,...n.slice(0,n.length-1)),this._data.push(n.slice(n.length-1)[0]),this._setTotal(this._data.length),this.goToPage(Math.ceil(this._data.length/this._itemsPerPage));const e=this._data.length%this._itemsPerPage-1;if(this.tableService.selectRow(e),this._isScrollingToRow){this.tableService.getCell(e,0).scrollIntoView()}this.notifyPath("tableService.isTableEmpty"),this.emitChange()})()}deleteRow(){(()=>{this.cellsData.length>this.selectedRowIndex&&this.cellsData.splice(this.selectedRowIndex,1);const n=this.tableService.deleteRow();this.tableService.render(!0);const e=this.tableService.getData();if(-1!==n&&(this._data.splice((this.page-1)*this._itemsPerPage,this._itemsPerPage,...e),this._setTotal(this._data.length),0===e.length&&this._data.length%this._itemsPerPage==0&&1!==this.page&&(this.page-=1),this.goToPage(this.page),this.tableService.selectRow(this._itemsPerPage-1),this._isScrollingToRow)){this.tableService.getCell(e.length-1,0).scrollIntoView()}this.notifyPath("tableService.isTableEmpty"),this.emitChange()})()}setErrors(n){if(!Object(l.a)(n))for(const e of n)Object(d.a)(e.rowIndex)||Object(d.a)(e.itemName)||this.tableService.setErrorAtCell(e.rowIndex,e.itemName,e.message)}getSelectedRowData(){return this.getRowData(this.selectedRowIndex)}getTableData(){return this.tableService.getData().map((n,e)=>this.getRowData(e))}_showTableMessages(n,e){return!n||e}_tableStyle(n){return this.tableService.render(!0),n?"display: block;":"display: none;"}onStepChanged(){this.tableService.render(!0)}getRowData(n){const e=this.tableService.getData()[n],t=this.cellsData[n];return Object.keys(e).map(n=>{const o=Object(s.a)(this.columnSchemes.find(e=>e.name===n)),a=t?t[n]:{};return Object.assign(Object.assign(Object.assign({},o),a),{value:e[n]})})}updateItemData(n){if(!n||!n.name||this.columnSchemes.every(e=>e.name!==n.name))return;let e=this.cellsData[this.selectedRowIndex];if(Object(d.a)(e)&&(e=this.cellsData[this.selectedRowIndex]={}),e[n.name]=n,n.value){const e=this.tableService.currentHeaders.findIndex(e=>e===n.name);"ImagePlaceholder"===this.columnSchemes[e].type&&this.tableService.setDataAtCell(this.selectedRowIndex,e,n.value,"silent")}this.selectedRow=this.tableService.getData()[this.selectedRowIndex],b.a.isNotNullOrUndefined(this.selectedRow)&&this.emitChange({selectedRow:this.selectedRow})}drawTable(n){if(Object(l.a)(n))this.tableService.destroyTable();else{const e=n.map(n=>({header:n.name,defaultValue:n.value,readonly:n.readonly}));this.tableService.drawTable(this.$.table,e)}this.notifyPath("tableService.isTableCreated"),this.notifyPath("tableService.isTableEmpty")}loadData(n){this._isDataLoaded=!0,this._data=n,this.page=1,this.tableService.isTableCreated&&(this._isRestoring||this.emitChange(),this.goToPage(1))}goToPage(n=1){this.page=n,this.tableService.currentPage=n;const e=this._data.slice((n-1)*this._itemsPerPage,n*this._itemsPerPage);this.tableService.loadData(e),this.notifyPath("tableService.isTableEmpty")}_pageChangedHandler(n){this.goToPage(n.detail.page)}renderTable(){this.tableService.render(!0)}async exportWidgetData(n){const e=this.tableService.getData(),t=this._data.slice(0);return t.splice((this.page-1)*this._itemsPerPage,this._itemsPerPage,...e),{tableData:t,columnSchemes:this.columnSchemes}}async restoreWidgetFromData(n,e){n&&n.tableData&&(this._isRestoring=!0,this.columnSchemes=n.columnSchemes,this.drawTable(this.columnSchemes),this.loadData(n.tableData),this.tableService.render()),this._isRestoring=!1}updateTexts(n){n.tableIsEmpty&&this.set("texts.emptyRowsText",n.tableIsEmpty),n.tableNotCreatedText&&this.set("texts.tableNotCreatedText",n.tableNotCreatedText)}rowSelectedHandler(n){this.selectedRowIndex=n,this.selectedRow=this.tableService.getData()[n],b.a.isNotNullOrUndefined(this.selectedRow)&&this.emitChange({selectedRowIndex:this.selectedRowIndex,selectedRow:this.selectedRow})}cellChangedHandler(n){this.selectedColumnIndex=n.colIndex;const e=this.columnSchemes.find(e=>e.name===n.colName);if(e&&"ImagePlaceholder"===e.type){const e=this.cellsData[n.rowIndex];e&&(e[n.colName]=null)}this.rowSelectedHandler(n.rowIndex)}openFileDialog(){this.$.openFile.click()}downloadXSLTFile(){const n=this.tableService.getData();this._data.splice((this.page-1)*this._itemsPerPage,this._itemsPerPage,...n),this.xlsxService.createWorkbookAndDownload(this._data,this.workbookName)}async changeFile(n){const e=n.target.files[0];if(e.name&&this.params.allowedFileTypes){const n="."+e.name.split(".").slice(-1)[0].toLowerCase();if(-1===b.a.ensureArray(this.params.allowedFileTypes).map(n=>n.toLowerCase()).indexOf(n)){const n=this.localize("widgets.datasheet.messages.wrongFileExtension");return void this.showToast(n,5e3)}}const t=await this.xlsxService.parseFile(e);this.loadData(t),this.$.openFile.value="",this._onRowChange?await this._onRowChange():this._onCellTextChange&&await this._onCellTextChange()}dispose(){this.rowSelectedSub&&!this.rowSelectedSub.closed&&this.rowSelectedSub.unsubscribe(),this.cellChangedSub&&!this.cellChangedSub.closed&&this.cellChangedSub.unsubscribe()}};Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Object),Object(o.b)("design:paramtypes",[])],k.prototype,"_",null),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Object)],k.prototype,"selectedRow",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Number)],k.prototype,"selectedRowIndex",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Number)],k.prototype,"selectedColumnIndex",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Object)],k.prototype,"params",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",String)],k.prototype,"text",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",String)],k.prototype,"workbookName",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Array)],k.prototype,"tableData",void 0),Object(o.a)([Object(h.c)(),Object(o.b)("design:type",Number)],k.prototype,"total",void 0),Object(o.a)([Object(h.b)("_data"),Object(o.b)("design:type",Function),Object(o.b)("design:paramtypes",[Array]),Object(o.b)("design:returntype",void 0)],k.prototype,"_dataObserver",null),k=Object(o.a)([Object(h.a)("au-widget-datasheet",i.a+g.a),Object(o.b)("design:paramtypes",[])],k)}}]);