From 0a380a94cd6470f860300ba793f4e6c9d406004b Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 7 Sep 2016 20:41:16 +1200 Subject: [PATCH] API Removed unused UMD builds of individual JS files This has been made obsolete, since those files are all included in the main bundle (see bundle-lib.js). They should not be referenced individually (e.g. through Requirements::block() or Requirements::javascript()). --- client/dist/js/AssetUploadField.js | 50 -- client/dist/js/ConfirmedPasswordField.js | 33 -- client/dist/js/DateField.js | 55 -- client/dist/js/GridField.js | 360 ------------ client/dist/js/InlineFormAction.js | 45 -- client/dist/js/PermissionCheckboxSetField.js | 92 --- client/dist/js/SelectionGroup.js | 41 -- client/dist/js/TabSet.js | 89 --- client/dist/js/ToggleCompositeField.js | 51 -- client/dist/js/ToggleField.js | 35 -- client/dist/js/TreeDropdownField.js | 414 -------------- client/dist/js/UploadField.js | 541 ------------------ .../dist/js/UploadField_downloadtemplate.js | 17 - client/dist/js/UploadField_select.js | 41 -- client/dist/js/UploadField_uploadtemplate.js | 17 - client/dist/js/router.js | 66 --- client/dist/styles/CheckboxSetField.css | 3 - client/dist/styles/ConfirmedPasswordField.css | 3 - client/dist/styles/DatetimeField.css | 3 - client/dist/styles/GridField.css | 3 - client/dist/styles/SelectionGroup.css | 3 - client/dist/styles/TreeDropdownField.css | 3 - docs/en/04_Changelogs/4.0.0.md | 13 +- 23 files changed, 8 insertions(+), 1970 deletions(-) delete mode 100644 client/dist/js/AssetUploadField.js delete mode 100644 client/dist/js/ConfirmedPasswordField.js delete mode 100644 client/dist/js/DateField.js delete mode 100644 client/dist/js/GridField.js delete mode 100644 client/dist/js/InlineFormAction.js delete mode 100644 client/dist/js/PermissionCheckboxSetField.js delete mode 100644 client/dist/js/SelectionGroup.js delete mode 100644 client/dist/js/TabSet.js delete mode 100644 client/dist/js/ToggleCompositeField.js delete mode 100644 client/dist/js/ToggleField.js delete mode 100644 client/dist/js/TreeDropdownField.js delete mode 100644 client/dist/js/UploadField.js delete mode 100644 client/dist/js/UploadField_downloadtemplate.js delete mode 100644 client/dist/js/UploadField_select.js delete mode 100644 client/dist/js/UploadField_uploadtemplate.js delete mode 100644 client/dist/js/router.js delete mode 100755 client/dist/styles/CheckboxSetField.css delete mode 100755 client/dist/styles/ConfirmedPasswordField.css delete mode 100755 client/dist/styles/DatetimeField.css delete mode 100644 client/dist/styles/GridField.css delete mode 100755 client/dist/styles/SelectionGroup.css delete mode 100755 client/dist/styles/TreeDropdownField.css diff --git a/client/dist/js/AssetUploadField.js b/client/dist/js/AssetUploadField.js deleted file mode 100644 index b5e2b1f57..000000000 --- a/client/dist/js/AssetUploadField.js +++ /dev/null @@ -1,50 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.AssetUploadField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssAssetUploadField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - (0, _jQuery2.default)('.ss-assetuploadfield').entwine({ - onmatch: function onmatch() { - this._super(); - - this.find('.ss-uploadfield-editandorganize').hide(); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onfileuploadadd: function onfileuploadadd(e) { - this.find('.ss-uploadfield-editandorganize').show(); - }, - onfileuploadstart: function onfileuploadstart(e) { - this.find('.ss-uploadfield-editandorganize').show(); - } - }); - - (0, _jQuery2.default)('.ss-uploadfield-view-allowed-extensions .toggle').entwine({ - onclick: function onclick(e) { - var allowedExt = this.closest('.ss-uploadfield-view-allowed-extensions'), - minHeightVal = this.closest('.ui-tabs-panel').height() + 20; - - allowedExt.toggleClass('active'); - allowedExt.find('.toggle-content').css('minHeight', minHeightVal); - } - }); -}); \ No newline at end of file diff --git a/client/dist/js/ConfirmedPasswordField.js b/client/dist/js/ConfirmedPasswordField.js deleted file mode 100644 index 12fa38aa2..000000000 --- a/client/dist/js/ConfirmedPasswordField.js +++ /dev/null @@ -1,33 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.ConfirmedPasswordField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssConfirmedPasswordField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - (0, _jQuery2.default)(document).on('click', '.confirmedpassword .showOnClick a', function () { - var $container = (0, _jQuery2.default)('.showOnClickContainer', (0, _jQuery2.default)(this).parent()); - - $container.toggle('fast', function () { - $container.find('input[type="hidden"]').val($container.is(":visible") ? 1 : 0); - }); - - return false; - }); -}); \ No newline at end of file diff --git a/client/dist/js/DateField.js b/client/dist/js/DateField.js deleted file mode 100644 index 79ae16ede..000000000 --- a/client/dist/js/DateField.js +++ /dev/null @@ -1,55 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.DateField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssDateField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.fn.extend({ - ssDatepicker: function ssDatepicker(opts) { - return (0, _jQuery2.default)(this).each(function () { - if ((0, _jQuery2.default)(this).prop('disabled') || (0, _jQuery2.default)(this).prop('readonly') || (0, _jQuery2.default)(this).data('datepicker')) return; - - (0, _jQuery2.default)(this).siblings("button").addClass("ui-icon ui-icon-calendar"); - - var holder = (0, _jQuery2.default)(this).closest('.field.date'), - config = _jQuery2.default.extend(opts || {}, (0, _jQuery2.default)(this).data(), (0, _jQuery2.default)(this).data('jqueryuiconfig'), {}); - if (!config.showcalendar) return; - - if (config.locale && _jQuery2.default.datepicker.regional[config.locale]) { - config = _jQuery2.default.extend(config, _jQuery2.default.datepicker.regional[config.locale], {}); - } - - if (config.min) config.minDate = _jQuery2.default.datepicker.parseDate('yy-mm-dd', config.min); - if (config.max) config.maxDate = _jQuery2.default.datepicker.parseDate('yy-mm-dd', config.max); - - config.dateFormat = config.jquerydateformat; - (0, _jQuery2.default)(this).datepicker(config); - }); - } - }); - - (0, _jQuery2.default)(document).on("click", ".field.date input.text,input.text.date", function () { - (0, _jQuery2.default)(this).ssDatepicker(); - - if ((0, _jQuery2.default)(this).data('datepicker')) { - (0, _jQuery2.default)(this).datepicker('show'); - } - }); -}); \ No newline at end of file diff --git a/client/dist/js/GridField.js b/client/dist/js/GridField.js deleted file mode 100644 index 061d704ff..000000000 --- a/client/dist/js/GridField.js +++ /dev/null @@ -1,360 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.GridField', ['jQuery', 'i18n'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery'), require('i18n')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery, global.i18n); - global.ssGridField = mod.exports; - } -})(this, function (_jQuery, _i18n) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - var _i18n2 = _interopRequireDefault(_i18n); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - $('.grid-field').entwine({ - - reload: function reload(ajaxOpts, successCallback) { - var self = this, - form = this.closest('form'), - focusedElName = this.find(':input:focus').attr('name'), - data = form.find(':input').serializeArray(); - - if (!ajaxOpts) ajaxOpts = {}; - if (!ajaxOpts.data) ajaxOpts.data = []; - ajaxOpts.data = ajaxOpts.data.concat(data); - - if (window.location.search) { - ajaxOpts.data = window.location.search.replace(/^\?/, '') + '&' + $.param(ajaxOpts.data); - } - - form.addClass('loading'); - - $.ajax($.extend({}, { - headers: { "X-Pjax": 'CurrentField' }, - type: "POST", - url: this.data('url'), - dataType: 'html', - success: function success(data) { - self.empty().append($(data).children()); - - if (focusedElName) self.find(':input[name="' + focusedElName + '"]').focus(); - - if (self.find('.filter-header').length) { - var content; - if (ajaxOpts.data[0].filter == "show") { - content = ''; - self.addClass('show-filter').find('.filter-header').show(); - } else { - content = ''; - self.removeClass('show-filter').find('.filter-header').hide(); - } - - self.find('.sortable-header th:last').html(content); - } - - form.removeClass('loading'); - if (successCallback) successCallback.apply(this, arguments); - self.trigger('reload', self); - }, - error: function error(e) { - alert(_i18n2.default._t('GRIDFIELD.ERRORINTRANSACTION')); - form.removeClass('loading'); - } - }, ajaxOpts)); - }, - showDetailView: function showDetailView(url) { - window.location.href = url; - }, - getItems: function getItems() { - return this.find('.ss-gridfield-item'); - }, - - setState: function setState(k, v) { - var state = this.getState(); - state[k] = v; - this.find(':input[name="' + this.data('name') + '[GridState]"]').val(JSON.stringify(state)); - }, - - getState: function getState() { - return JSON.parse(this.find(':input[name="' + this.data('name') + '[GridState]"]').val()); - } - }); - - $('.grid-field *').entwine({ - getGridField: function getGridField() { - return this.closest('.grid-field'); - } - }); - - $('.grid-field :button[name=showFilter]').entwine({ - onclick: function onclick(e) { - $('.filter-header').show('slow').find(':input:first').focus(); - this.closest('.grid-field').addClass('show-filter'); - this.parent().html(''); - e.preventDefault(); - } - }); - - $('.grid-field .ss-gridfield-item').entwine({ - onclick: function onclick(e) { - if ($(e.target).closest('.action').length) { - this._super(e); - return false; - } - - var editLink = this.find('.edit-link'); - if (editLink.length) this.getGridField().showDetailView(editLink.prop('href')); - }, - onmouseover: function onmouseover() { - if (this.find('.edit-link').length) this.css('cursor', 'pointer'); - }, - onmouseout: function onmouseout() { - this.css('cursor', 'default'); - } - }); - - $('.grid-field .action:button').entwine({ - onclick: function onclick(e) { - var filterState = 'show'; - if (this.button('option', 'disabled')) { - e.preventDefault(); - return; - } - - if (this.hasClass('ss-gridfield-button-close') || !this.closest('.grid-field').hasClass('show-filter')) { - filterState = 'hidden'; - } - - this.getGridField().reload({ data: [{ name: this.attr('name'), value: this.val(), filter: filterState }] }); - e.preventDefault(); - }, - - actionurl: function actionurl() { - var btn = this.closest(':button'), - grid = this.getGridField(), - form = this.closest('form'), - data = form.find(':input.gridstate').serialize(), - csrf = form.find('input[name="SecurityID"]').val(); - - data += "&" + encodeURIComponent(btn.attr('name')) + '=' + encodeURIComponent(btn.val()); - - if (csrf) { - data += "&SecurityID=" + encodeURIComponent(csrf); - } - - if (window.location.search) { - data = window.location.search.replace(/^\?/, '') + '&' + data; - } - - var connector = grid.data('url').indexOf('?') == -1 ? '?' : '&'; - - return $.path.makeUrlAbsolute(grid.data('url') + connector + data, $('base').attr('href')); - } - - }); - - $('.grid-field .add-existing-autocompleter').entwine({ - onbuttoncreate: function onbuttoncreate() { - var self = this; - - this.toggleDisabled(); - - this.find('input[type="text"]').on('keyup', function () { - self.toggleDisabled(); - }); - }, - onunmatch: function onunmatch() { - this.find('input[type="text"]').off('keyup'); - }, - toggleDisabled: function toggleDisabled() { - var $button = this.find('.ss-ui-button'), - $input = this.find('input[type="text"]'), - inputHasValue = $input.val() !== '', - buttonDisabled = $button.is(':disabled'); - - if (inputHasValue && buttonDisabled || !inputHasValue && !buttonDisabled) { - $button.button("option", "disabled", !buttonDisabled); - } - } - }); - - $('.grid-field .grid-field__col-compact .action.gridfield-button-delete, .cms-edit-form .btn-toolbar button.action.action-delete').entwine({ - onclick: function onclick(e) { - if (!confirm(_i18n2.default._t('TABLEFIELD.DELETECONFIRMMESSAGE'))) { - e.preventDefault(); - return false; - } else { - this._super(e); - } - } - }); - - $('.grid-field .action.gridfield-button-print').entwine({ - UUID: null, - onmatch: function onmatch() { - this._super(); - this.setUUID(new Date().getTime()); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onclick: function onclick(e) { - var url = this.actionurl(); - window.open(url); - e.preventDefault(); - return false; - } - }); - - $('.ss-gridfield-print-iframe').entwine({ - onmatch: function onmatch() { - this._super(); - - this.hide().bind('load', function () { - this.focus(); - var ifWin = this.contentWindow || this; - ifWin.print(); - }); - }, - onunmatch: function onunmatch() { - this._super(); - } - }); - - $('.grid-field .action.no-ajax').entwine({ - onclick: function onclick(e) { - window.location.href = this.actionurl(); - e.preventDefault(); - return false; - } - }); - - $('.grid-field .action-detail').entwine({ - onclick: function onclick() { - this.getGridField().showDetailView($(this).prop('href')); - return false; - } - }); - - $('.grid-field[data-selectable]').entwine({ - getSelectedItems: function getSelectedItems() { - return this.find('.ss-gridfield-item.ui-selected'); - }, - - getSelectedIDs: function getSelectedIDs() { - return $.map(this.getSelectedItems(), function (el) { - return $(el).data('id'); - }); - } - }); - $('.grid-field[data-selectable] .ss-gridfield-items').entwine({ - onadd: function onadd() { - this._super(); - - this.selectable(); - }, - onremove: function onremove() { - this._super(); - if (this.data('selectable')) this.selectable('destroy'); - } - }); - - $('.grid-field .filter-header :input').entwine({ - onmatch: function onmatch() { - var filterbtn = this.closest('.extra').find('.ss-gridfield-button-filter'), - resetbtn = this.closest('.extra').find('.ss-gridfield-button-reset'); - - if (this.val()) { - filterbtn.addClass('filtered'); - resetbtn.addClass('filtered'); - } - this._super(); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onkeydown: function onkeydown(e) { - if (this.closest('.ss-gridfield-button-reset').length) return; - - var filterbtn = this.closest('.extra').find('.ss-gridfield-button-filter'), - resetbtn = this.closest('.extra').find('.ss-gridfield-button-reset'); - - if (e.keyCode == '13') { - var btns = this.closest('.filter-header').find('.ss-gridfield-button-filter'); - var filterState = 'show'; - if (this.hasClass('ss-gridfield-button-close') || !this.closest('.grid-field').hasClass('show-filter')) { - filterState = 'hidden'; - } - - this.getGridField().reload({ data: [{ name: btns.attr('name'), value: btns.val(), filter: filterState }] }); - return false; - } else { - filterbtn.addClass('hover-alike'); - resetbtn.addClass('hover-alike'); - } - } - }); - - $(".grid-field .relation-search").entwine({ - onfocusin: function onfocusin(event) { - this.autocomplete({ - source: function source(request, response) { - var searchField = $(this.element); - var form = $(this.element).closest("form"); - $.ajax({ - headers: { - "X-Pjax": 'Partial' - }, - dataType: 'json', - type: "GET", - url: $(searchField).data('searchUrl'), - data: encodeURIComponent(searchField.attr('name')) + '=' + encodeURIComponent(searchField.val()), - success: response, - error: function error(e) { - alert(_i18n2.default._t('GRIDFIELD.ERRORINTRANSACTION', 'An error occured while fetching data from the server\n Please try again later.')); - } - }); - }, - select: function select(event, ui) { - var hiddenField = $(''); - hiddenField.val(ui.item.id); - $(this).closest(".grid-field").find(".action_gridfield_relationfind").replaceWith(hiddenField); - var addbutton = $(this).closest(".grid-field").find(".action_gridfield_relationadd"); - if (addbutton.data('button')) { - addbutton.button('enable'); - } else { - addbutton.removeAttr('disabled'); - } - } - }); - } - }); - - $(".grid-field .pagination-page-number input").entwine({ - onkeydown: function onkeydown(event) { - if (event.keyCode == 13) { - var newpage = parseInt($(this).val(), 10); - - var gridfield = $(this).getGridField(); - gridfield.setState('GridFieldPaginator', { currentPage: newpage }); - gridfield.reload(); - - return false; - } - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/InlineFormAction.js b/client/dist/js/InlineFormAction.js deleted file mode 100644 index 8b8fc44dc..000000000 --- a/client/dist/js/InlineFormAction.js +++ /dev/null @@ -1,45 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.InlineFormAction', [], factory); - } else if (typeof exports !== "undefined") { - factory(); - } else { - var mod = { - exports: {} - }; - factory(); - global.ssInlineFormAction = mod.exports; - } -})(this, function () { - 'use strict'; - - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; - } - - Behaviour.register({ - 'div.inlineformaction input#$ID': { - onclick: function onclick() { - var url = jQuery('base').attr('href') + 'admin-custom/' + this.name.substring(7) + '?ID=' + document.getElementById('Form_EditForm_ID').value + '&ajax=1'; - - jQuery.ajax(_defineProperty({ - 'url': url, - success: Ajax.Evaluator - }, 'success', Ajax.Evaluator)); - - return false; - } - } - }); -}); \ No newline at end of file diff --git a/client/dist/js/PermissionCheckboxSetField.js b/client/dist/js/PermissionCheckboxSetField.js deleted file mode 100644 index ab26560b9..000000000 --- a/client/dist/js/PermissionCheckboxSetField.js +++ /dev/null @@ -1,92 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.PermissionCheckboxSetField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssPermissionCheckboxSetField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - $('.permissioncheckboxset .valADMIN input').entwine({ - onmatch: function onmatch() { - this._super(); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onclick: function onclick(e) { - this.toggleCheckboxes(); - }, - toggleCheckboxes: function toggleCheckboxes() { - var checkboxes = $(this).parents('.field:eq(0)').find('.checkbox').not(this); - - if ($(this).is(':checked')) { - checkboxes.each(function () { - $(this).data('SecurityAdmin.oldChecked', $(this).attr('checked')); - $(this).data('SecurityAdmin.oldDisabled', $(this).attr('disabled')); - $(this).attr('disabled', 'disabled'); - $(this).attr('checked', 'checked'); - }); - } else { - checkboxes.each(function () { - var oldChecked = $(this).data('SecurityAdmin.oldChecked'); - var oldDisabled = $(this).data('SecurityAdmin.oldDisabled'); - if (oldChecked !== null) $(this).attr('checked', oldChecked); - if (oldDisabled !== null) $(this).attr('disabled', oldDisabled); - }); - } - } - }); - - $('.permissioncheckboxset .valCMS_ACCESS_LeftAndMain input').entwine({ - getCheckboxesExceptThisOne: function getCheckboxesExceptThisOne() { - return $(this).parents('.field:eq(0)').find('li').filter(function (i) { - var klass = $(this).attr('class'); - return klass ? klass.match(/CMS_ACCESS_/) : false; - }).find('.checkbox').not(this); - }, - onmatch: function onmatch() { - this.toggleCheckboxes(); - - this._super(); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onclick: function onclick(e) { - this.toggleCheckboxes(); - }, - toggleCheckboxes: function toggleCheckboxes() { - var checkboxes = this.getCheckboxesExceptThisOne(); - if ($(this).is(':checked')) { - checkboxes.each(function () { - $(this).data('PermissionCheckboxSetField.oldChecked', $(this).is(':checked')); - $(this).data('PermissionCheckboxSetField.oldDisabled', $(this).is(':disabled')); - $(this).prop('disabled', 'disabled'); - $(this).prop('checked', 'checked'); - }); - } else { - checkboxes.each(function () { - $(this).prop('checked', $(this).data('PermissionCheckboxSetField.oldChecked')); - $(this).prop('disabled', $(this).data('PermissionCheckboxSetField.oldDisabled')); - }); - } - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/SelectionGroup.js b/client/dist/js/SelectionGroup.js deleted file mode 100644 index b30e3c2f0..000000000 --- a/client/dist/js/SelectionGroup.js +++ /dev/null @@ -1,41 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.SelectionGroup', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssSelectionGroup = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - (0, _jQuery2.default)(document).ready(function () { - (0, _jQuery2.default)('ul.SelectionGroup input.selector, ul.selection-group input.selector').live('click', function () { - var li = (0, _jQuery2.default)(this).closest('li'); - li.addClass('selected'); - - var prev = li.prevAll('li.selected'); - if (prev.length) { - prev.removeClass('selected'); - } - var next = li.nextAll('li.selected'); - if (next.length) { - next.removeClass('selected'); - } - - (0, _jQuery2.default)(this).focus(); - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/TabSet.js b/client/dist/js/TabSet.js deleted file mode 100644 index 64c502e01..000000000 --- a/client/dist/js/TabSet.js +++ /dev/null @@ -1,89 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.TabSet', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssTabSet = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - $('.ss-tabset').entwine({ - IgnoreTabState: false, - - onadd: function onadd() { - var hash = window.location.hash; - - this.redrawTabs(); - - if (hash !== '') { - this.openTabFromURL(hash); - } - - this._super(); - }, - - onremove: function onremove() { - if (this.data('tabs')) this.tabs('destroy'); - this._super(); - }, - - redrawTabs: function redrawTabs() { - this.rewriteHashlinks(); - this.tabs(); - }, - - openTabFromURL: function openTabFromURL(hash) { - var $trigger; - - $.each(this.find('.cms-panel-link'), function () { - if (this.href.indexOf(hash) !== -1 && $(hash).length === 1) { - $trigger = $(this); - return false; - } - }); - - if ($trigger === void 0) { - return; - } - - $(window).one('ajaxComplete', function () { - $trigger.click(); - }); - }, - - rewriteHashlinks: function rewriteHashlinks() { - $(this).find('ul a').each(function () { - if (!$(this).attr('href')) return; - - var matches = $(this).attr('href').match(/#.*/); - if (!matches) return; - $(this).attr('href', document.location.href.replace(/#.*/, '') + matches[0]); - }); - } - }); - - $('.ui-tabs-active .ui-tabs-anchor').entwine({ - onmatch: function onmatch() { - this.addClass('nav-link active'); - }, - onunmatch: function onunmatch() { - this.removeClass('active'); - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/ToggleCompositeField.js b/client/dist/js/ToggleCompositeField.js deleted file mode 100644 index f9fd7f065..000000000 --- a/client/dist/js/ToggleCompositeField.js +++ /dev/null @@ -1,51 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.ToggleCompositeField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssToggleCompositeField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - $('.ss-toggle').entwine({ - onadd: function onadd() { - this._super(); - - this.accordion({ - heightStyle: "content", - collapsible: true, - active: this.hasClass("ss-toggle-start-closed") ? false : 0 - }); - }, - onremove: function onremove() { - if (this.data('accordion')) this.accordion('destroy'); - this._super(); - }, - - getTabSet: function getTabSet() { - return this.closest(".ss-tabset"); - }, - - fromTabSet: { - ontabsshow: function ontabsshow() { - this.accordion("resize"); - } - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/ToggleField.js b/client/dist/js/ToggleField.js deleted file mode 100644 index be1d59335..000000000 --- a/client/dist/js/ToggleField.js +++ /dev/null @@ -1,35 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.ToggleField', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssToggleField = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - var field = (0, _jQuery2.default)('div.toggleField'); - - if (field.hasClass('startClosed')) { - field.find('div.contentMore').hide(); - field.find('div.contentLess').show(); - } - - (0, _jQuery2.default)('div.toggleField .triggerLess, div.toggleField .triggerMore').click(function () { - field.find('div.contentMore').toggle(); - field.find('div.contentLess').toggle(); - }); -}); \ No newline at end of file diff --git a/client/dist/js/TreeDropdownField.js b/client/dist/js/TreeDropdownField.js deleted file mode 100644 index c317ec179..000000000 --- a/client/dist/js/TreeDropdownField.js +++ /dev/null @@ -1,414 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.TreeDropdownField', ['jQuery', 'i18n'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery'), require('i18n')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery, global.i18n); - global.ssTreeDropdownField = mod.exports; - } -})(this, function (_jQuery, _i18n) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - var _i18n2 = _interopRequireDefault(_i18n); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - var windowWidth, windowHeight; - $(window).bind('resize.treedropdownfield', function () { - var cb = function cb() { - $('.TreeDropdownField').closePanel(); - }; - - if ($.browser.msie && parseInt($.browser.version, 10) < 9) { - var newWindowWidth = $(window).width(), - newWindowHeight = $(window).height(); - if (newWindowWidth != windowWidth || newWindowHeight != windowHeight) { - windowWidth = newWindowWidth; - windowHeight = newWindowHeight; - cb(); - } - } else { - cb(); - } - }); - - var strings = { - 'openlink': _i18n2.default._t('TreeDropdownField.OpenLink'), - 'fieldTitle': '(' + _i18n2.default._t('TreeDropdownField.FieldTitle') + ')', - 'searchFieldTitle': '(' + _i18n2.default._t('TreeDropdownField.SearchFieldTitle') + ')' - }; - - var _clickTestFn = function _clickTestFn(e) { - if (!$(e.target).parents('.TreeDropdownField').length) $('.TreeDropdownField').closePanel(); - }; - - $('.TreeDropdownField').entwine({ - CurrentXhr: null, - - onadd: function onadd() { - this.append('' + '' + '
'); - - var linkTitle = strings.openLink; - if (linkTitle) this.find("treedropdownfield-toggle-panel-link a").attr('title', linkTitle); - if (this.data('title')) this.setTitle(this.data('title')); - - this.getPanel().hide(); - this._super(); - }, - getPanel: function getPanel() { - return this.find('.treedropdownfield-panel'); - }, - openPanel: function openPanel() { - $('.TreeDropdownField').closePanel(); - - $('body').bind('click', _clickTestFn); - - var panel = this.getPanel(), - tree = this.find('.tree-holder'); - - panel.css('width', this.width()); - - panel.show(); - - var toggle = this.find(".treedropdownfield-toggle-panel-link"); - toggle.addClass('treedropdownfield-open-tree'); - this.addClass("treedropdownfield-open-tree"); - - toggle.find("a").removeClass('ui-icon-triangle-1-s').addClass('ui-icon-triangle-1-n'); - - if (tree.is(':empty') && !panel.hasClass('loading')) { - this.loadTree(null, this._riseUp); - } else { - this._riseUp(); - } - - this.trigger('panelshow'); - }, - _riseUp: function _riseUp() { - var container = this, - dropdown = this.getPanel(), - toggle = this.find(".treedropdownfield-toggle-panel-link"), - offsetTop = toggle.innerHeight(), - elHeight, - elPos, - endOfWindow; - - if (toggle.length > 0) { - endOfWindow = $(window).height() + $(document).scrollTop() - toggle.innerHeight(); - elPos = toggle.offset().top; - elHeight = dropdown.innerHeight(); - - if (elPos + elHeight > endOfWindow && elPos - elHeight > 0) { - container.addClass('treedropdownfield-with-rise'); - offsetTop = -dropdown.outerHeight(); - } else { - container.removeClass('treedropdownfield-with-rise'); - } - } - dropdown.css({ "top": offsetTop + "px" }); - }, - closePanel: function closePanel() { - jQuery('body').unbind('click', _clickTestFn); - - var toggle = this.find(".treedropdownfield-toggle-panel-link"); - toggle.removeClass('treedropdownfield-open-tree'); - this.removeClass('treedropdownfield-open-tree treedropdownfield-with-rise'); - - toggle.find("a").removeClass('ui-icon-triangle-1-n').addClass('ui-icon-triangle-1-s'); - - this.getPanel().hide(); - this.trigger('panelhide'); - }, - togglePanel: function togglePanel() { - this[this.getPanel().is(':visible') ? 'closePanel' : 'openPanel'](); - }, - setTitle: function setTitle(title) { - title = title || this.data('title') || strings.fieldTitle; - - this.find('.treedropdownfield-title').html(title); - this.data('title', title); - }, - getTitle: function getTitle() { - return this.find('.treedropdownfield-title').text(); - }, - - updateTitle: function updateTitle() { - var self = this, - tree = self.find('.tree-holder'), - val = this.getValue(); - var updateFn = function updateFn() { - var val = self.getValue(); - if (val) { - - var node = tree.find('*[data-id="' + val + '"]'), - title = node.children('a').find("span.jstree_pageicon") ? node.children('a').find("span.item").html() : null; - if (!title) title = node.length > 0 ? tree.jstree('get_text', node[0]) : null; - - if (title) { - self.setTitle(title); - self.data('title', title); - } - if (node) tree.jstree('select_node', node); - } else { - self.setTitle(self.data('empty-title')); - self.removeData('title'); - } - }; - - if (!tree.is(':empty') || !val) updateFn();else this.loadTree({ forceValue: val }, updateFn); - }, - setValue: function setValue(val) { - this.data('metadata', $.extend(this.data('metadata'), { id: val })); - this.find(':input:hidden').val(val).trigger('valueupdated').trigger('change'); - }, - getValue: function getValue() { - return this.find(':input:hidden').val(); - }, - loadTree: function loadTree(params, callback) { - var self = this, - panel = this.getPanel(), - treeHolder = $(panel).find('.tree-holder'), - params = params ? $.extend({}, this.getRequestParams(), params) : this.getRequestParams(), - xhr; - - if (this.getCurrentXhr()) this.getCurrentXhr().abort(); - panel.addClass('loading'); - xhr = $.ajax({ - url: this.data('urlTree'), - data: params, - complete: function complete(xhr, status) { - panel.removeClass('loading'); - }, - success: function success(html, status, xhr) { - treeHolder.html(html); - var firstLoad = true; - treeHolder.jstree('destroy').bind('loaded.jstree', function (e, data) { - var val = self.getValue(), - selectNode = treeHolder.find('*[data-id="' + val + '"]'), - currentNode = data.inst.get_selected(); - if (val && selectNode != currentNode) data.inst.select_node(selectNode); - firstLoad = false; - if (callback) callback.apply(self); - }).jstree(self.getTreeConfig()).bind('select_node.jstree', function (e, data) { - var node = data.rslt.obj, - id = $(node).data('id'); - if (!firstLoad && self.getValue() == id) { - self.data('metadata', null); - self.setTitle(null); - self.setValue(null); - data.inst.deselect_node(node); - } else { - self.data('metadata', $.extend({ id: id }, $(node).getMetaData())); - self.setTitle(data.inst.get_text(node)); - self.setValue(id); - } - - if (!firstLoad) self.closePanel(); - firstLoad = false; - }); - - self.setCurrentXhr(null); - } - }); - this.setCurrentXhr(xhr); - }, - getTreeConfig: function getTreeConfig() { - var self = this; - return { - 'core': { - 'html_titles': true, - - 'animation': 0 - }, - 'html_data': { - 'data': this.getPanel().find('.tree-holder').html(), - 'ajax': { - 'url': function url(node) { - var url = $.path.parseUrl(self.data('urlTree')).hrefNoSearch; - return url + '/' + ($(node).data("id") ? $(node).data("id") : 0); - }, - 'data': function data(node) { - var query = $.query.load(self.data('urlTree')).keys; - var params = self.getRequestParams(); - params = $.extend({}, query, params, { ajax: 1 }); - return params; - } - } - }, - 'ui': { - "select_limit": 1, - 'initially_select': [this.getPanel().find('.current').attr('id')] - }, - 'themes': { - 'theme': 'apple' - }, - 'types': { - 'types': { - 'default': { - 'check_node': function check_node(node) { - return !node.hasClass('disabled'); - }, - 'uncheck_node': function uncheck_node(node) { - return !node.hasClass('disabled'); - }, - 'select_node': function select_node(node) { - return !node.hasClass('disabled'); - }, - 'deselect_node': function deselect_node(node) { - return !node.hasClass('disabled'); - } - } - } - }, - 'plugins': ['html_data', 'ui', 'themes', 'types'] - }; - }, - - getRequestParams: function getRequestParams() { - return {}; - } - }); - - $('.TreeDropdownField .tree-holder li').entwine({ - getMetaData: function getMetaData() { - var matches = this.attr('class').match(/class-([^\s]*)/i); - var klass = matches ? matches[1] : ''; - return { ClassName: klass }; - } - }); - - $('.TreeDropdownField *').entwine({ - getField: function getField() { - return this.parents('.TreeDropdownField:first'); - } - }); - - $('.TreeDropdownField').entwine({ - onclick: function onclick(e) { - this.togglePanel(); - - return false; - } - }); - - $('.TreeDropdownField .treedropdownfield-panel').entwine({ - onclick: function onclick(e) { - return false; - } - }); - - $('.TreeDropdownField.searchable').entwine({ - onadd: function onadd() { - this._super(); - var title = _i18n2.default._t('TreeDropdownField.ENTERTOSEARCH'); - this.find('.treedropdownfield-panel').prepend($('')); - }, - search: function search(str, callback) { - this.openPanel(); - this.loadTree({ search: str }, callback); - }, - cancelSearch: function cancelSearch() { - this.closePanel(); - this.loadTree(); - } - }); - - $('.TreeDropdownField.searchable input.search').entwine({ - onkeydown: function onkeydown(e) { - var field = this.getField(); - if (e.keyCode == 13) { - field.search(this.val()); - return false; - } else if (e.keyCode == 27) { - field.cancelSearch(); - } - } - }); - - $('.TreeDropdownField.multiple').entwine({ - getTreeConfig: function getTreeConfig() { - var cfg = this._super(); - cfg.checkbox = { override_ui: true, two_state: true }; - cfg.plugins.push('checkbox'); - cfg.ui.select_limit = -1; - return cfg; - }, - loadTree: function loadTree(params, callback) { - var self = this, - panel = this.getPanel(), - treeHolder = $(panel).find('.tree-holder'); - var params = params ? $.extend({}, this.getRequestParams(), params) : this.getRequestParams(), - xhr; - - if (this.getCurrentXhr()) this.getCurrentXhr().abort(); - panel.addClass('loading'); - xhr = $.ajax({ - url: this.data('urlTree'), - data: params, - complete: function complete(xhr, status) { - panel.removeClass('loading'); - }, - success: function success(html, status, xhr) { - treeHolder.html(html); - var firstLoad = true; - self.setCurrentXhr(null); - treeHolder.jstree('destroy').bind('loaded.jstree', function (e, data) { - $.each(self.getValue(), function (i, val) { - data.inst.check_node(treeHolder.find('*[data-id=' + val + ']')); - }); - firstLoad = false; - if (callback) callback.apply(self); - }).jstree(self.getTreeConfig()).bind('uncheck_node.jstree check_node.jstree', function (e, data) { - var nodes = data.inst.get_checked(null, true); - self.setValue($.map(nodes, function (el, i) { - return $(el).data('id'); - })); - self.setTitle($.map(nodes, function (el, i) { - return data.inst.get_text(el); - })); - self.data('metadata', $.map(nodes, function (el, i) { - return { id: $(el).data('id'), metadata: $(el).getMetaData() }; - })); - }); - } - }); - this.setCurrentXhr(xhr); - }, - getValue: function getValue() { - var val = this._super(); - return val.split(/ *, */); - }, - setValue: function setValue(val) { - this._super($.isArray(val) ? val.join(',') : val); - }, - setTitle: function setTitle(title) { - this._super($.isArray(title) ? title.join(', ') : title); - }, - updateTitle: function updateTitle() {} - }); - - $('.TreeDropdownField input[type=hidden]').entwine({ - onadd: function onadd() { - this._super(); - this.bind('change.TreeDropdownField', function () { - $(this).getField().updateTitle(); - }); - }, - onremove: function onremove() { - this._super(); - this.unbind('.TreeDropdownField'); - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/UploadField.js b/client/dist/js/UploadField.js deleted file mode 100644 index 4a719409f..000000000 --- a/client/dist/js/UploadField.js +++ /dev/null @@ -1,541 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.UploadField', ['jQuery', 'i18n'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery'), require('i18n')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery, global.i18n); - global.ssUploadField = mod.exports; - } -})(this, function (_jQuery, _i18n) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - var _i18n2 = _interopRequireDefault(_i18n); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.widget('blueimpUIX.fileupload', _jQuery2.default.blueimpUI.fileupload, { - _initTemplates: function _initTemplates() { - this.options.templateContainer = document.createElement(this._files.prop('nodeName')); - this.options.uploadTemplate = window.tmpl(this.options.uploadTemplateName); - this.options.downloadTemplate = window.tmpl(this.options.downloadTemplateName); - }, - _enableFileInputButton: function _enableFileInputButton() { - _jQuery2.default.blueimpUI.fileupload.prototype._enableFileInputButton.call(this); - this.element.find('.ss-uploadfield-addfile').show(); - }, - _disableFileInputButton: function _disableFileInputButton() { - _jQuery2.default.blueimpUI.fileupload.prototype._disableFileInputButton.call(this); - this.element.find('.ss-uploadfield-addfile').hide(); - }, - _onAdd: function _onAdd(e, data) { - var result = _jQuery2.default.blueimpUI.fileupload.prototype._onAdd.call(this, e, data); - var firstNewFile = this._files.find('.ss-uploadfield-item').slice(data.files.length * -1).first(); - var top = '+=' + (firstNewFile.position().top - parseInt(firstNewFile.css('marginTop'), 10) || 0 - parseInt(firstNewFile.css('borderTopWidth'), 10) || 0); - firstNewFile.offsetParent().animate({ scrollTop: top }, 1000); - - var fSize = 0; - for (var i = 0; i < data.files.length; i++) { - if (typeof data.files[i].size === 'number') { - fSize = fSize + data.files[i].size; - } - } - - (0, _jQuery2.default)('.fileOverview .uploadStatus .details .total').text(data.files.length); - if (typeof fSize === 'number' && fSize > 0) { - fSize = this._formatFileSize(fSize); - (0, _jQuery2.default)('.fileOverview .uploadStatus .details .fileSize').text(fSize); - } - - if (data.files.length == 1 && data.files[0].error !== null) { - (0, _jQuery2.default)('.fileOverview .uploadStatus .state').text(_i18n2.default._t('AssetUploadField.UploadField.UPLOADFAIL', 'Sorry your upload failed')); - (0, _jQuery2.default)('.fileOverview .uploadStatus').addClass("bad").removeClass("good").removeClass("notice"); - } else { - (0, _jQuery2.default)('.fileOverview .uploadStatus .state').text(_i18n2.default._t('AssetUploadField.UPLOADINPROGRESS', 'Please wait… upload in progress')); - (0, _jQuery2.default)('.ss-uploadfield-item-edit-all').hide(); - (0, _jQuery2.default)('.fileOverview .uploadStatus').addClass("notice").removeClass("good").removeClass("bad"); - } - - return result; - }, - _onDone: function _onDone(result, textStatus, jqXHR, options) { - if (this.options.changeDetection) { - this.element.closest('form').trigger('dirty'); - } - - _jQuery2.default.blueimpUI.fileupload.prototype._onDone.call(this, result, textStatus, jqXHR, options); - }, - _onSend: function _onSend(e, data) { - var that = this; - var config = this.options; - if (config.overwriteWarning && config.replaceFile) { - _jQuery2.default.get(config['urlFileExists'], { 'filename': data.files[0].name }, function (response, status, xhr) { - if (response.exists) { - data.context.find('.ss-uploadfield-item-status').text(config.errorMessages.overwriteWarning).addClass('ui-state-warning-text'); - data.context.find('.ss-uploadfield-item-progress').hide(); - data.context.find('.ss-uploadfield-item-overwrite').show(); - data.context.find('.ss-uploadfield-item-overwrite-warning').on('click', function (e) { - data.context.find('.ss-uploadfield-item-progress').show(); - data.context.find('.ss-uploadfield-item-overwrite').hide(); - data.context.find('.ss-uploadfield-item-status').removeClass('ui-state-warning-text'); - - _jQuery2.default.blueimpUI.fileupload.prototype._onSend.call(that, e, data); - - e.preventDefault(); - return false; - }); - } else { - return _jQuery2.default.blueimpUI.fileupload.prototype._onSend.call(that, e, data); - } - }); - } else { - return _jQuery2.default.blueimpUI.fileupload.prototype._onSend.call(that, e, data); - } - }, - _onAlways: function _onAlways(jqXHRorResult, textStatus, jqXHRorError, options) { - _jQuery2.default.blueimpUI.fileupload.prototype._onAlways.call(this, jqXHRorResult, textStatus, jqXHRorError, options); - - if (typeof jqXHRorError === 'string') { - (0, _jQuery2.default)('.fileOverview .uploadStatus .state').text(_i18n2.default._t('AssetUploadField.UploadField.UPLOADFAIL', 'Sorry your upload failed')); - (0, _jQuery2.default)('.fileOverview .uploadStatus').addClass("bad").removeClass("good").removeClass("notice"); - } else if (jqXHRorError.status === 200) { - (0, _jQuery2.default)('.fileOverview .uploadStatus .state').text(_i18n2.default._t('AssetUploadField.FILEUPLOADCOMPLETED', 'File upload completed!')); - (0, _jQuery2.default)('.ss-uploadfield-item-edit-all').show(); - (0, _jQuery2.default)('.fileOverview .uploadStatus').addClass("good").removeClass("notice").removeClass("bad"); - } - }, - _create: function _create() { - _jQuery2.default.blueimpUI.fileupload.prototype._create.call(this); - - this._adjustMaxNumberOfFiles(0); - }, - attach: function attach(data) { - if (this.options.changeDetection) { - this.element.closest('form').trigger('dirty'); - } - - var self = this, - files = data.files, - replaceFileID = data.replaceFileID, - valid = true; - - var replacedElement = null; - if (replaceFileID) { - replacedElement = (0, _jQuery2.default)(".ss-uploadfield-item[data-fileid='" + replaceFileID + "']"); - if (replacedElement.length === 0) { - replacedElement = null; - } else { - self._adjustMaxNumberOfFiles(1); - } - } - - _jQuery2.default.each(files, function (index, file) { - self._adjustMaxNumberOfFiles(-1); - valid = self._validate([file]) && valid; - }); - data.isAdjusted = true; - data.files.valid = data.isValidated = valid; - - data.context = this._renderDownload(files); - if (replacedElement) { - replacedElement.replaceWith(data.context); - } else { - data.context.appendTo(this._files); - } - data.context.data('data', data); - - this._reflow = this._transition && data.context[0].offsetWidth; - data.context.addClass('in'); - } - }); - - _jQuery2.default.entwine('ss', function ($) { - - $('div.ss-upload').entwine({ - - Config: null, - - onmatch: function onmatch() { - - if (this.is('.readonly,.disabled')) { - return; - } - - var $fileInput = this.find('.ss-uploadfield-fromcomputer-fileinput'), - $dropZone = $('.ss-uploadfield-dropzone'), - config = $fileInput.data('config'); - - $dropZone.on('dragover', function (e) { - e.preventDefault(); - }); - - $dropZone.on('dragenter', function (e) { - $dropZone.addClass('hover active'); - }); - - $dropZone.on('dragleave', function (e) { - if (e.target === $dropZone[0]) { - $dropZone.removeClass('hover active'); - } - }); - - $dropZone.on('drop', function (e) { - $dropZone.removeClass('hover active'); - - if (e.target !== $dropZone[0]) { - return false; - } - }); - - this.setConfig(config); - this.fileupload($.extend(true, { - formData: function formData(form) { - var idVal = $(form).find(':input[name=ID]').val(); - var data = [{ name: 'SecurityID', value: $(form).find(':input[name=SecurityID]').val() }]; - if (idVal) data.push({ name: 'ID', value: idVal }); - - return data; - }, - errorMessages: { - 1: _i18n2.default._t('UploadField.PHP_MAXFILESIZE'), - 2: _i18n2.default._t('UploadField.HTML_MAXFILESIZE'), - 3: _i18n2.default._t('UploadField.ONLYPARTIALUPLOADED'), - 4: _i18n2.default._t('UploadField.NOFILEUPLOADED'), - 5: _i18n2.default._t('UploadField.NOTMPFOLDER'), - 6: _i18n2.default._t('UploadField.WRITEFAILED'), - 7: _i18n2.default._t('UploadField.STOPEDBYEXTENSION'), - maxFileSize: _i18n2.default._t('UploadField.TOOLARGESHORT'), - minFileSize: _i18n2.default._t('UploadField.TOOSMALL'), - acceptFileTypes: _i18n2.default._t('UploadField.INVALIDEXTENSIONSHORT'), - maxNumberOfFiles: _i18n2.default._t('UploadField.MAXNUMBEROFFILESSHORT'), - uploadedBytes: _i18n2.default._t('UploadField.UPLOADEDBYTES'), - emptyResult: _i18n2.default._t('UploadField.EMPTYRESULT') - }, - send: function send(e, data) { - if (data.context && data.dataType && data.dataType.substr(0, 6) === 'iframe') { - data.total = 1; - data.loaded = 1; - $(this).data('fileupload').options.progress(e, data); - } - }, - progress: function progress(e, data) { - if (data.context) { - var value = parseInt(data.loaded / data.total * 100, 10) + '%'; - data.context.find('.ss-uploadfield-item-status').html(data.total == 1 ? _i18n2.default._t('UploadField.LOADING') : value); - data.context.find('.ss-uploadfield-item-progressbarvalue').css('width', value); - } - } - }, config, { - fileInput: $fileInput, - dropZone: $dropZone, - form: $fileInput.closest('form'), - previewAsCanvas: false, - acceptFileTypes: new RegExp(config.acceptFileTypes, 'i') - })); - - if (this.data('fileupload')._isXHRUpload({ multipart: true })) { - $('.ss-uploadfield-item-uploador').hide().show(); - } - - this._super(); - }, - onunmatch: function onunmatch() { - $('.ss-uploadfield-dropzone').off('dragover dragenter dragleave drop'); - this._super(); - }, - openSelectDialog: function openSelectDialog(uploadedFile) { - var self = this, - config = this.getConfig(), - dialogId = 'ss-uploadfield-dialog-' + this.attr('id'), - dialog = jQuery('#' + dialogId); - if (!dialog.length) dialog = jQuery('
'); - - var iframeUrl = config['urlSelectDialog']; - var uploadedFileId = null; - if (uploadedFile && uploadedFile.attr('data-fileid') > 0) { - uploadedFileId = uploadedFile.attr('data-fileid'); - } - - dialog.ssdialog({ iframeUrl: iframeUrl, height: 550 }); - - dialog.find('iframe').bind('load', function (e) { - var contents = $(this).contents(), - gridField = contents.find('.grid-field'); - - contents.find('table.grid-field').css('margin-top', 0); - - contents.find('input[name=action_doAttach]').unbind('click.openSelectDialog').bind('click.openSelectDialog', function () { - var ids = $.map(gridField.find('.ss-gridfield-item.ui-selected'), function (el) { - return $(el).data('id'); - }); - if (ids && ids.length) self.attachFiles(ids, uploadedFileId); - - dialog.ssdialog('close'); - return false; - }); - }); - dialog.ssdialog('open'); - }, - attachFiles: function attachFiles(ids, uploadedFileId) { - var self = this, - config = this.getConfig(), - indicator = $('
'), - target = uploadedFileId ? this.find(".ss-uploadfield-item[data-fileid='" + uploadedFileId + "']") : this.find('.ss-uploadfield-addfile'); - - target.children().hide(); - target.append(indicator); - - $.ajax({ - type: "POST", - url: config['urlAttach'], - data: { 'ids': ids }, - complete: function complete(xhr, status) { - target.children().show(); - indicator.remove(); - }, - success: function success(data, status, xhr) { - if (!data || $.isEmptyObject(data)) return; - - self.fileupload('attach', { - files: data, - options: self.fileupload('option'), - replaceFileID: uploadedFileId - }); - } - }); - } - }); - $('div.ss-upload *').entwine({ - getUploadField: function getUploadField() { - - return this.parents('div.ss-upload:first'); - } - }); - $('div.ss-upload .ss-uploadfield-files .ss-uploadfield-item').entwine({ - onadd: function onadd() { - this._super(); - this.closest('.ss-upload').find('.ss-uploadfield-addfile').addClass('borderTop'); - }, - onremove: function onremove() { - $('.ss-uploadfield-files:not(:has(.ss-uploadfield-item))').closest('.ss-upload').find('.ss-uploadfield-addfile').removeClass('borderTop'); - this._super(); - } - }); - $('div.ss-upload .ss-uploadfield-startall').entwine({ - onclick: function onclick(e) { - this.closest('.ss-upload').find('.ss-uploadfield-item-start button').click(); - e.preventDefault(); - return false; - } - }); - $('div.ss-upload .ss-uploadfield-item-cancelfailed').entwine({ - onclick: function onclick(e) { - this.closest('.ss-uploadfield-item').remove(); - e.preventDefault(); - return false; - } - }); - - $('div.ss-upload .ss-uploadfield-item-remove:not(.ui-state-disabled), .ss-uploadfield-item-delete:not(.ui-state-disabled)').entwine({ - onclick: function onclick(e) { - var field = this.closest('div.ss-upload'), - config = field.getConfig('changeDetection'), - fileupload = field.data('fileupload'), - item = this.closest('.ss-uploadfield-item'), - msg = ''; - - if (this.is('.ss-uploadfield-item-delete')) { - if (confirm(_i18n2.default._t('UploadField.ConfirmDelete'))) { - if (config.changeDetection) { - this.closest('form').trigger('dirty'); - } - - if (fileupload) { - fileupload._trigger('destroy', e, { - context: item, - url: this.data('href'), - type: 'get', - dataType: fileupload.options.dataType - }); - } - } - } else { - if (config.changeDetection) { - this.closest('form').trigger('dirty'); - } - - if (fileupload) { - fileupload._trigger('destroy', e, { context: item }); - } - } - - e.preventDefault(); - return false; - } - }); - - $('div.ss-upload .ss-uploadfield-item-edit-all').entwine({ - onclick: function onclick(e) { - - if ($(this).hasClass('opened')) { - $('.ss-uploadfield-item .ss-uploadfield-item-edit .toggle-details-icon.opened').each(function (i) { - $(this).closest('.ss-uploadfield-item-edit').click(); - }); - $(this).removeClass('opened').find('.toggle-details-icon').removeClass('opened'); - } else { - $('.ss-uploadfield-item .ss-uploadfield-item-edit .toggle-details-icon').each(function (i) { - if (!$(this).hasClass('opened')) { - $(this).closest('.ss-uploadfield-item-edit').click(); - } - }); - $(this).addClass('opened').find('.toggle-details-icon').addClass('opened'); - } - - e.preventDefault(); - return false; - } - }); - $('div.ss-upload:not(.disabled):not(.readonly) .ss-uploadfield-item-edit').entwine({ - onclick: function onclick(e) { - var self = this, - editform = self.closest('.ss-uploadfield-item').find('.ss-uploadfield-item-editform'), - itemInfo = editform.prev('.ss-uploadfield-item-info'), - iframe = editform.find('iframe'); - - if (iframe.parent().hasClass('loading')) { - e.preventDefault(); - return false; - } - - if (iframe.attr('src') == 'about:blank') { - var disabled = this.siblings(); - - iframe.attr('src', iframe.data('src')); - - iframe.parent().addClass('loading'); - disabled.addClass('ui-state-disabled'); - disabled.attr('disabled', 'disabled'); - - iframe.on('load', function () { - iframe.parent().removeClass('loading'); - - if (iframe.data('src')) { - self._prepareIframe(iframe, editform, itemInfo); - iframe.data('src', ''); - } - }); - } else { - self._prepareIframe(iframe, editform, itemInfo); - } - - e.preventDefault(); - return false; - }, - _prepareIframe: function _prepareIframe(iframe, editform, itemInfo) { - var disabled; - - iframe.contents().ready(function () { - var iframe_jQuery = iframe.get(0).contentWindow.jQuery; - iframe_jQuery(iframe_jQuery.find(':input')).bind('change', function (e) { - editform.removeClass('edited'); - editform.addClass('edited'); - }); - }); - - if (editform.hasClass('loading')) {} else { - if (this.hasClass('ss-uploadfield-item-edit')) { - disabled = this.siblings(); - } else { - disabled = this.find('ss-uploadfield-item-edit').siblings(); - } - editform.parent('.ss-uploadfield-item').removeClass('ui-state-warning'); - editform.toggleEditForm(); - - if (itemInfo.find('.toggle-details-icon').hasClass('opened')) { - disabled.addClass('ui-state-disabled'); - disabled.attr('disabled', 'disabled'); - } else { - disabled.removeClass('ui-state-disabled'); - disabled.removeAttr('disabled'); - } - } - } - }); - - $('div.ss-upload .ss-uploadfield-item-editform').entwine({ - fitHeight: function fitHeight() { - var iframe = this.find('iframe'), - contents = iframe.contents().find('body'), - bodyH = contents.find('form').outerHeight(true), - iframeH = bodyH + (iframe.outerHeight(true) - iframe.height()), - containerH = iframeH + (this.outerHeight(true) - this.height()); - if (!$.browser.msie && $.browser.version.slice(0, 3) != "8.0") { - contents.find('body').css({ 'height': bodyH }); - } - - iframe.height(iframeH); - this.animate({ height: containerH }, 500); - }, - toggleEditForm: function toggleEditForm() { - var itemInfo = this.prev('.ss-uploadfield-item-info'), - status = itemInfo.find('.ss-uploadfield-item-status'); - - var iframe = this.find('iframe').contents(), - saved = iframe.find('#Form_EditForm_error'); - - var text = ""; - - if (this.height() === 0) { - text = _i18n2.default._t('UploadField.Editing', "Editing ..."); - this.fitHeight(); - this.addClass('opened'); - itemInfo.find('.toggle-details-icon').addClass('opened'); - status.removeClass('ui-state-success-text').removeClass('ui-state-warning-text'); - iframe.find('#Form_EditForm_action_doEdit').click(function () { - itemInfo.find('label .name').text(iframe.find('#Name input').val()); - }); - if ($('div.ss-upload .ss-uploadfield-files .ss-uploadfield-item-actions .toggle-details-icon:not(.opened)').index() < 0) { - $('div.ss-upload .ss-uploadfield-item-edit-all').addClass('opened').find('.toggle-details-icon').addClass('opened'); - } - } else { - this.animate({ height: 0 }, 500); - this.removeClass('opened'); - itemInfo.find('.toggle-details-icon').removeClass('opened'); - $('div.ss-upload .ss-uploadfield-item-edit-all').removeClass('opened').find('.toggle-details-icon').removeClass('opened'); - if (!this.hasClass('edited')) { - text = _i18n2.default._t('UploadField.NOCHANGES', 'No Changes'); - status.addClass('ui-state-success-text'); - } else { - if (saved.hasClass('good')) { - text = _i18n2.default._t('UploadField.CHANGESSAVED', 'Changes Saved'); - this.removeClass('edited').parent('.ss-uploadfield-item').removeClass('ui-state-warning'); - status.addClass('ui-state-success-text'); - } else { - text = _i18n2.default._t('UploadField.UNSAVEDCHANGES', 'Unsaved Changes'); - this.parent('.ss-uploadfield-item').addClass('ui-state-warning'); - status.addClass('ui-state-warning-text'); - } - } - saved.removeClass('good').hide(); - } - status.attr('title', text).text(text); - } - }); - $('div.ss-upload .ss-uploadfield-fromfiles').entwine({ - onclick: function onclick(e) { - this.getUploadField().openSelectDialog(this.closest('.ss-uploadfield-item')); - e.preventDefault(); - return false; - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/UploadField_downloadtemplate.js b/client/dist/js/UploadField_downloadtemplate.js deleted file mode 100644 index 3da10b5aa..000000000 --- a/client/dist/js/UploadField_downloadtemplate.js +++ /dev/null @@ -1,17 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.UploadField_downloadtemplate', [], factory); - } else if (typeof exports !== "undefined") { - factory(); - } else { - var mod = { - exports: {} - }; - factory(); - global.ssUploadField_downloadtemplate = mod.exports; - } -})(this, function () { - 'use strict'; - - window.tmpl.cache['ss-uploadfield-downloadtemplate'] = tmpl('{% for (var i=0, files=o.files, l=files.length, file=files[0]; i' + '{% if (file.thumbnail_url) { %}' + '
' + '' + '
' + '{% } %}' + '
' + '{% if (!file.error && file.id) { %}' + '' + '{% } %}' + '{% if (!file.error && file.filename) { %}' + '' + '' + '' + '{% } %}' + '' + '{% if (file.error) { %}' + '
' + '
' + '
' + '{% } else { %}' + '
{% print(file.buttons, true); %}
' + '{% } %}' + '
' + '{% if (!file.error) { %}' + '
' + '{% } %}' + '' + '{% } %}'); -}); \ No newline at end of file diff --git a/client/dist/js/UploadField_select.js b/client/dist/js/UploadField_select.js deleted file mode 100644 index ee30eea26..000000000 --- a/client/dist/js/UploadField_select.js +++ /dev/null @@ -1,41 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.UploadField_select', ['jQuery'], factory); - } else if (typeof exports !== "undefined") { - factory(require('jQuery')); - } else { - var mod = { - exports: {} - }; - factory(global.jQuery); - global.ssUploadField_select = mod.exports; - } -})(this, function (_jQuery) { - 'use strict'; - - var _jQuery2 = _interopRequireDefault(_jQuery); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - _jQuery2.default.entwine('ss', function ($) { - $('form.uploadfield-form .TreeDropdownField').entwine({ - onmatch: function onmatch() { - this._super(); - - var self = this; - this.bind('change', function () { - var fileList = self.closest('form').find('.grid-field'); - fileList.setState('ParentID', self.getValue()); - fileList.reload(); - }); - }, - onunmatch: function onunmatch() { - this._super(); - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/UploadField_uploadtemplate.js b/client/dist/js/UploadField_uploadtemplate.js deleted file mode 100644 index 876b5494f..000000000 --- a/client/dist/js/UploadField_uploadtemplate.js +++ /dev/null @@ -1,17 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.UploadField_uploadtemplate', [], factory); - } else if (typeof exports !== "undefined") { - factory(); - } else { - var mod = { - exports: {} - }; - factory(); - global.ssUploadField_uploadtemplate = mod.exports; - } -})(this, function () { - 'use strict'; - - window.tmpl.cache['ss-uploadfield-uploadtemplate'] = tmpl('{% for (var i=0, files=o.files, l=files.length, file=files[0]; i' + '
' + '
' + '' + '
' + '{% if (!file.error) { %}' + '
' + '{% if (!o.options.autoUpload) { %}' + '
' + '{% } %}' + '{% } %}' + '
' + '' + '
' + '
' + '' + '
' + '
' + '
' + '' + '{% } %}'); -}); \ No newline at end of file diff --git a/client/dist/js/router.js b/client/dist/js/router.js deleted file mode 100644 index 39ababf96..000000000 --- a/client/dist/js/router.js +++ /dev/null @@ -1,66 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.router', ['exports', 'page.js', 'url'], factory); - } else if (typeof exports !== "undefined") { - factory(exports, require('page.js'), require('url')); - } else { - var mod = { - exports: {} - }; - factory(mod.exports, global.page, global.url); - global.ssRouter = mod.exports; - } -})(this, function (exports, _page, _url) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _page2 = _interopRequireDefault(_page); - - var _url2 = _interopRequireDefault(_url); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; - } - - function resolveURLToBase(path) { - var absoluteBase = this.getAbsoluteBase(); - var absolutePath = _url2.default.resolve(absoluteBase, path); - - if (absolutePath.indexOf(absoluteBase) !== 0) { - return absolutePath; - } - - return absolutePath.substring(absoluteBase.length - 1); - } - - function show(pageShow) { - return function (path, state, dispatch, push) { - return pageShow(_page2.default.resolveURLToBase(path), state, dispatch, push); - }; - } - - function routeAppliesToCurrentLocation(route) { - var r = new _page2.default.Route(route); - return r.match(_page2.default.current, {}); - } - - function getAbsoluteBase() { - var baseTags = window.document.getElementsByTagName('base'); - if (baseTags && baseTags[0]) { - return baseTags[0].href; - } - return null; - } - - _page2.default.getAbsoluteBase = getAbsoluteBase.bind(_page2.default); - _page2.default.resolveURLToBase = resolveURLToBase.bind(_page2.default); - _page2.default.show = show(_page2.default.show); - _page2.default.routeAppliesToCurrentLocation = routeAppliesToCurrentLocation; - - exports.default = _page2.default; -}); \ No newline at end of file diff --git a/client/dist/styles/CheckboxSetField.css b/client/dist/styles/CheckboxSetField.css deleted file mode 100755 index df6497527..000000000 --- a/client/dist/styles/CheckboxSetField.css +++ /dev/null @@ -1,3 +0,0 @@ -#right form .CheckboxSetField ul{margin:0;padding:0}#right form .CheckboxSetField ul li{list-style:none !important;margin:0;padding:0}#right form .CheckboxSetField input{width:auto} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9DaGVja2JveFNldEZpZWxkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBRUUsU0FDQSxTQUFVLENBSFosb0NBTUUsMkJBQ0EsU0FDQSxTQUFVLENBUlosb0NBV0UsVUFBVyxDQUNYIiwiZmlsZSI6ImxlZ2FjeS9DaGVja2JveFNldEZpZWxkLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNyaWdodCBmb3JtIC5DaGVja2JveFNldEZpZWxkIHtcblx0dWx7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowO1xuXHR9XG5cdHVsIGxpe1xuXHRcdGxpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0fVxuXHRpbnB1dHtcblx0XHR3aWR0aDphdXRvO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */ diff --git a/client/dist/styles/ConfirmedPasswordField.css b/client/dist/styles/ConfirmedPasswordField.css deleted file mode 100755 index 16551b6a2..000000000 --- a/client/dist/styles/ConfirmedPasswordField.css +++ /dev/null @@ -1,3 +0,0 @@ -.confirmedpassword .showOnClickContainer{display:none} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9Db25maXJtZWRQYXNzd29yZEZpZWxkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBRUMsWUFBYSxDQUNiIiwiZmlsZSI6ImxlZ2FjeS9Db25maXJtZWRQYXNzd29yZEZpZWxkLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb25maXJtZWRwYXNzd29yZCAuc2hvd09uQ2xpY2tDb250YWluZXIge1xuXHQvKiB1c2VkIHRvIGhpZGUgYSBjb250YWluZXIgYnktZGVmYXVsdCB3aGVuIGxvYWRpbmcgaXQgc28gdGhlcmUgaXMgbm8gXCJmbGFzaFwiIGFzIHRoZSBjb250ZW50IGxvYWRzICovXG5cdGRpc3BsYXk6bm9uZTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ diff --git a/client/dist/styles/DatetimeField.css b/client/dist/styles/DatetimeField.css deleted file mode 100755 index 9f56a74b0..000000000 --- a/client/dist/styles/DatetimeField.css +++ /dev/null @@ -1,3 +0,0 @@ -.datetime .middleColumn .middleColumn{margin:0;padding:0;clear:none;float:left}.datetime .middleColumn .field{margin:0;border-bottom:none;-webkit-box-shadow:none;box-shadow:none} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9EYXRldGltZUZpZWxkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQ0MsU0FDQSxVQUNBLFdBQ0EsVUFBWSxDQUNaLCtCQUVBLFNBQ0EsbUJBQ0Esd0JBQUEsQUFBaUIsZUFBQSxDQUNqQiIsImZpbGUiOiJsZWdhY3kvRGF0ZXRpbWVGaWVsZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZGF0ZXRpbWUgLm1pZGRsZUNvbHVtbiAubWlkZGxlQ29sdW1uIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRjbGVhcjogbm9uZTtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4uZGF0ZXRpbWUgLm1pZGRsZUNvbHVtbiAuZmllbGQge1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */ diff --git a/client/dist/styles/GridField.css b/client/dist/styles/GridField.css deleted file mode 100644 index bb0a4a5ed..000000000 --- a/client/dist/styles/GridField.css +++ /dev/null @@ -1,3 +0,0 @@ -.grid-field__row--drillable{cursor:pointer}.grid-field__cell--actions{white-space:nowrap;width:1px}.filter-buttons{min-width:68px}.cms .grid-field>.addNewGridFieldButton{margin-bottom:0}.cms .grid-field>.addNewGridFieldButton .action{margin-bottom:0.9231rem}.cms .grid-field[data-selectable] tr.ui-selected,.cms .grid-field[data-selectable] tr.ui-selecting{background:#fff !important}.cms .grid-field[data-selectable] td{cursor:pointer}.cms .grid-field span button.action_gridfield_relationfind{display:none}.cms .grid-field p button.action_export span.btn-icon-download-csv{height:17px}.cms .grid-field .pull-xs-right>*{float:right;margin-left:0.6154rem}.cms .grid-field .pull-xs-left>*{margin-right:0.6154rem;float:left}.cms .grid-field .add-existing-autocompleter span{float:left;display:inline-block;vertical-align:top}.cms .grid-field .add-existing-autocompleter input.relation-search{width:270px;height:32px;margin-bottom:0.9231rem;border-top-right-radius:0;border-bottom-right-radius:0}.cms .grid-field .add-existing-autocompleter button.action_gridfield_relationadd{height:32px;margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}.cms .grid-field .grid-csv-button,.cms .grid-field .grid-print-button{margin-bottom:0;display:inline-block}.cms .grid-field__table .filter-header .fieldholder-small{padding-bottom:0}.cms .grid-field__table .filter-header .fieldgroup .fieldgroup-field{padding:0}.cms .grid-field__table tbody td.col-listChildrenLink{width:26px;border-right:0;padding-right:0}.cms .grid-field__table tbody td.col-listChildrenLink .list-children-link{margin-top:-1.2308rem;margin-right:-0.6154rem;margin-bottom:-1.2308rem;margin-left:-1.5385rem;padding-top:1.2308rem;padding-right:0;padding-bottom:1.2308rem;padding-left:1.5385rem;height:calc(2.4616rem + 20px);line-height:20px;border-radius:0;display:block}.cms .grid-field__table tbody td.col-listChildrenLink .list-children-link:before{margin-top:-2px}.cms .grid-field__table tbody td.col-listChildrenLink .list-children-link:hover{background-color:#e3eaf0}.cms .grid-field__table tbody td.col-getTreeTitle span.item{color:#0071c4}.cms .grid-field__table tbody td.col-getTreeTitle span.badge{clear:both;text-transform:uppercase;display:inline-block;padding:0 3px;font-size:0.75em;line-height:1em;margin-left:10px;margin-right:6px;margin-top:-1px;border-radius:2px, 2px}.cms .grid-field__table tbody td.col-getTreeTitle span.badge.status-modified{color:#7E7470;border:1px solid #C9B800;background-color:#FFF0BC}.cms .grid-field__table tbody td.col-getTreeTitle span.badge.status-addedtodraft{color:#7E7470;border:1px solid #C9B800;background-color:#FFF0BC}.cms .grid-field__table tbody td.col-getTreeTitle span.badge.status-deletedonlive{color:#636363;border:1px solid #E49393;background-color:#F2DADB}.cms .grid-field__table tbody td.col-getTreeTitle span.badge.status-removedfromdraft{color:#636363;border:1px solid #E49393;background-color:#F2DADB}.cms .grid-field__table tbody td.col-getTreeTitle span.badge.status-workflow-approval{color:#56660C;border:1px solid #7C8816;background-color:#DAE79A}.cms .grid-field__table tbody td button.gridfield-button-delete span.btn-icon-decline{left:2px}.cms .grid-field__table tbody td a.view-link{display:inline-block}.cms .grid-field__table tbody td a.view-link{background:url(../../../admin/client/src/sprites/btn-icon/magnifier.png) no-repeat 0 1px}.cms .grid-field__table .filter-buttons .fieldgroup-field{width:auto}.cms .grid-field__table tr th.main{white-space:nowrap}.cms .grid-field__table tr th.main>*{vertical-align:bottom}.cms .grid-field__table tr th.main span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.cms .grid-field__table tr th.main.col-listChildrenLink{border-right:0}.cms .grid-field__table tr th.extra,.cms .grid-field__table tr th.action{cursor:default}.cms .grid-field__table tr th.extra{position:relative;background:#4f5861;padding-top:0.9231rem;padding-bottom:0.9231rem}.cms .grid-field__table tr th.extra:last-child{width:1%;min-width:1%;white-space:nowrap}.cms .grid-field__table tr th.extra:last-child>.form__fieldgroup-item{display:inline-block}.cms .grid-field__table tr th.extra select{margin:0}.cms .grid-field__table tr th button.ss-gridfield-button-filter:not(.trigger){color:#fff}.cms .grid-field__table tr th button.ss-gridfield-button-filter:not(.trigger),.cms .grid-field__table tr th button.grid-field__filter-clear{margin-top:3px;margin-bottom:3px}.cms .grid-field__table tr th button.action_gridfield_relationadd:hover{color:#444 !important}.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-close.hover-alike:active,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-close:active,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-close.hover-alike,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-close:hover,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-filter:not(.trigger).hover-alike:active,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-filter:not(.trigger):active,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-filter:not(.trigger).hover-alike,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-filter:not(.trigger):hover{color:#fff}.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-reset{margin:0;display:none}.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-reset:hover,.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-reset:active{opacity:1;background:transparent}.cms .grid-field__table tr th button.ss-ui-button.ss-gridfield-button-reset.filtered{display:block;opacity:0.8}.cms .grid-field__table tr td.bottom-all .datagrid-footer-message{text-align:center;padding-top:6px}.cms .grid-field__table td.col-StripThumbnail{padding:0 4px;width:32px;height:32px;vertical-align:middle}.cms .grid-field__table td.col-StripThumbnail img{width:32px;height:32px;display:block}.grid-field__paginator{position:relative}.grid-field__paginator_numbers{float:right}.grid-field__paginator__controls{position:absolute;height:36px;top:50%;left:50%;margin-top:-18px;margin-left:-125px;z-index:5;width:250px;text-align:center}.grid-field__paginator__controls .pagination-page-number{text-align:center}.grid-field__paginator__controls .pagination-page-number input{width:35px;padding-left:0;padding-right:0;text-align:center;border-color:#e2e5e8;background-color:#fff;background-image:none;display:inline}.grid-field__paginator__controls .pagination-page-number input:focus{border-color:#66afe9;-webkit-box-shadow:rgba(102,175,233,0.6);box-shadow:rgba(102,175,233,0.6)}.grid-field__paginator__controls button,.grid-field__paginator__controls button[class*="font-icon-"]{margin:0;margin-top:-2px}.grid-field__paginator__controls button .ui-button-text,.grid-field__paginator__controls button[class*="font-icon-"] .ui-button-text{text-indent:-9999em}.grid-field__paginator__controls button.ssui-button-disabled,.grid-field__paginator__controls button[class*="font-icon-"].ssui-button-disabled{opacity:0} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9HcmlkRmllbGQuc2NzcyIsIi4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvX2RlZmF1bHQuc2NzcyIsIi4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsNEJBQ0UsY0FBZ0IsQ0FDakIsMkJBR0MsbUJBQ0EsU0FBVyxDQUNaLGdCQUdDLGNBQWdCLENBQ2pCLHdDQU1LLGVBQWlCLENBSHZCLGdEQU1RLHVCQUF3QixDQU5oQyxtR0FjUSwwQkFBdUMsQ0FkL0MscUNBa0JRLGNBQWdCLENBbEJ4QiwyREF1Qk0sWUFBYyxDQXZCcEIsbUVBMkJNLFdBQWEsQ0EzQm5CLGtDQStCTSxZQUNBLHFCQUFzQixDQWhDNUIsaUNBb0NNLHVCQUNBLFVBQVksQ0FyQ2xCLGtEQTBDUSxXQUNBLHFCQUNBLGtCQUFvQixDQTVDNUIsbUVBZ0RRLFlBQ0EsWUFDQSx3QkFDQSwwQkFDQSw0QkFBOEIsQ0FwRHRDLGlGQXdEUSxZQUNBLGNBQ0EseUJBQ0EsNEJBQ0EsYUFBZSxDQTVEdkIsc0VBa0VNLGdCQUNBLG9CQUFzQixDQW5FNUIsMERBMEVRLGdCQUFrQixDQTFFMUIscUVBOEVRLFNBQVcsQ0E5RW5CLHNEQXFGVSxXQUNBLGVBQ0EsZUFBaUIsQ0F2RjNCLDBFQTBGWSxzQkFDQSx3QkFDQSx5QkFDQSx1QkFDQSxzQkFDQSxnQkFDQSx5QkFDQSx1QkFDQSw4QkFDQSxpQkFDQSxnQkFDQSxhQUFlLENBckczQixpRkF3R2MsZUFBaUIsQ0F4Ry9CLGdGQTRHYyx3QkFBd0IsQ0E1R3RDLDREQW1IWSxhQy9Fa0IsQ0RwQzlCLDZEQXVIWSxXQUNBLHlCQUNBLHFCQUNBLGNBQ0EsaUJBQ0EsZ0JBQ0EsaUJBQ0EsaUJBQ0EsZ0JBQ0Esc0JBQXdCLENBaElwQyw2RUFvSVksY0FDQSx5QkFDQSx3QkFBMEIsQ0F0SXRDLGlGQTBJWSxjQUNBLHlCQUNBLHdCQUEwQixDQTVJdEMsa0ZBZ0pZLGNBQ0EseUJBQ0Esd0JBQTBCLENBbEp0QyxxRkFzSlksY0FDQSx5QkFDQSx3QkFBMEIsQ0F4SnRDLHNGQTRKWSxjQUNBLHlCQUNBLHdCQUEwQixDQTlKdEMsc0ZBbUtVLFFBQVUsQ0FuS3BCLDZDQXVLVSxvQkFBc0IsQ0F2S2hDLDZDQTJLVSx3RkFBeUYsQ0EzS25HLDBEQWlMTSxVQUFZLENBakxsQixtQ0F1TFUsa0JBQW9CLENBdkw5QixxQ0EwTFkscUJBQXVCLENBMUxuQyx3Q0ViQyxnQkFDQSxtQkFDQSx1QkFDQSx5QkFBMkIsQ0ZVNUIsd0RBa01ZLGNBQWdCLENBbE01Qix5RUF3TVUsY0FBZ0IsQ0F4TTFCLG9DQTRNVSxrQkFDQSxtQkFDQSxzQkFDQSx3QkdpQnFCLENIaE8vQiwrQ0FrTlksU0FDQSxhQUNBLGtCQUFvQixDQXBOaEMsc0VBdU5jLG9CQUFzQixDQXZOcEMsMkNBNE5ZLFFBQVUsQ0E1TnRCLDhFQWtPWSxVRzNOQSxDSFBaLDRJQXVPWSxlQUNBLGlCQUFtQixDQXhPL0Isd0VBNE9ZLHFCQUF1QixDQTVPbkMsb3ZCQXNQZ0IsVUcvT0osQ0hQWiw0RUEyUGMsU0FDQSxZQUFjLENBNVA1QixxS0FnUWdCLFVBQ0Esc0JBQXdCLENBalF4QyxxRkFxUWdCLGNBQ0EsV0FBYSxDQXRRN0Isa0VBOFFRLGtCQUNBLGVBQWlCLENBL1F6Qiw4Q0FxUk0sY0FDQSxXQUNBLFlBQ0EscUJBQXVCLENBeFI3QixrREEyUlEsV0FDQSxZQUNBLGFBQWUsQ0FDaEIsdUJBTUwsaUJBQW1CLENBQ3BCLCtCQUlDLFdBQWEsQ0FDZCxpQ0FHQyxrQkFDQSxZQUNBLFFBQ0EsU0FDQSxpQkFDQSxtQkFDQSxVQUNBLFlBQ0EsaUJBQW1CLENBVHJCLHlEQVlJLGlCQUFtQixDQVp2QiwrREFlTSxXQUNBLGVBQ0EsZ0JBQ0Esa0JBQ0EscUJBQ0Esc0JBQ0Esc0JBQ0EsY0FBZ0IsQ0F0QnRCLHFFQXlCUSxxQkFDQSx5Q0FBQSxBR2ZxQixnQ0FBQSxDSFg3QixxR0FpQ0ksU0FDQSxlQUFpQixDQWxDckIscUlBcUNNLG1CQUFxQixDQXJDM0IsK0lBeUNNLFNBQVcsQ0FDWiIsImZpbGUiOiJsZWdhY3kvR3JpZEZpZWxkLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29yZSBzdHlsZXMgZm9yIHRoZSBiYXNpYyBHcmlkRmllbGQgZm9ybSBmaWVsZCB3aXRob3V0IGFueSBzcGVjaWZpYyBzdHlsZS5cbiAqXG4gKiBAcGFja2FnZSBmcmFtZXdvcmtcbiAqIEBzdWJwYWNrYWdlIHNjc3NcbiAqIEB0b2RvIEFkZCByYWRpYWwgZ3JhZGllbnQgdG8gZGVmYXVsdCBkZWxldGUgYnV0dG9uIHN0YXRlXG4gKiBAdG9kbyBDcmVhdGUgU0FTUyBtaXhpbi1mdW5jdGlvbiB0byBzaW1wbHkgc3dhcCB0aGUgZnJvbS90bywgdG8gdG8vZnJvbSBjb2xvdXJzIGluIGdyc2RpZW50IG1peGlucz9cbiAqL1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvZGVmYXVsdFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9lbGVtZW50TWl4aW5zXCI7XG5cblxuLy8gRXh0ZW5kcyBiYXNpYyB0YWJsZSBzdHlsZXMsIHJlcXVpcmVzIC50YWJsZSAudGFibGUtaG92ZXJcbi5ncmlkLWZpZWxkX19yb3ctLWRyaWxsYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdyaWQtZmllbGRfX2NlbGwtLWFjdGlvbnMge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xufVxuXG4uZmlsdGVyLWJ1dHRvbnMge1xuICBtaW4td2lkdGg6IDY4cHg7XG59XG5cblxuLmNtcyB7XG4gIC5ncmlkLWZpZWxkIHtcbiAgICA+IC5hZGROZXdHcmlkRmllbGRCdXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLmFjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteSAqIC43NTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtc2VsZWN0YWJsZV0ge1xuXG4gICAgICB0ci51aS1zZWxlY3RlZCxcbiAgICAgIHRyLnVpLXNlbGVjdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1iZy1hY2NlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgdGQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiBidXR0b24uYWN0aW9uX2dyaWRmaWVsZF9yZWxhdGlvbmZpbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy9oaWRlcyBmaW5kIGJ1dHRvbiAtIHJlZHVuZGFudCBmdW5jdGlvbmFsaXR5XG4gICAgfVxuXG4gICAgcCBidXR0b24uYWN0aW9uX2V4cG9ydCBzcGFuLmJ0bi1pY29uLWRvd25sb2FkLWNzdiB7XG4gICAgICBoZWlnaHQ6IDE3cHg7IC8vZXhhY3QgaGVpZ2h0IG9mIGljb25cbiAgICB9XG5cbiAgICAucHVsbC14cy1yaWdodCA+ICoge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjZXIteCAvIDI7XG4gICAgfVxuXG4gICAgLnB1bGwteHMtbGVmdCA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2VyLXggLyAyO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmFkZC1leGlzdGluZy1hdXRvY29tcGxldGVyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICBpbnB1dC5yZWxhdGlvbi1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15ICogLjc1O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbi5hY3Rpb25fZ3JpZGZpZWxkX3JlbGF0aW9uYWRkIHtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgLy8gV2Via2l0IG5lZWRzIHRoaXNcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtY3N2LWJ1dHRvbixcbiAgICAuZ3JpZC1wcmludC1idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ3JpZC1maWVsZF9fdGFibGUge1xuICAgIC5maWx0ZXItaGVhZGVyIHtcbiAgICAgIC5maWVsZGhvbGRlci1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuZmllbGRncm91cCAuZmllbGRncm91cC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgdGQge1xuICAgICAgICAmLmNvbC1saXN0Q2hpbGRyZW5MaW5rIHtcbiAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIC5saXN0LWNoaWxkcmVuLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kdGFibGUtY2VsbC1wYWRkaW5nIC8gMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXItd2lkdGgtaGFsZjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGgtaGFsZjtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygjeyR0YWJsZS1jZWxsLXBhZGRpbmcgKiAyfSArICN7JGxpbmUtaGVpZ2h0LWJhc2V9KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR0YWJsZS1iZy1ob3ZlciwgNCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sLWdldFRyZWVUaXRsZSB7XG4gICAgICAgICAgc3Bhbi5pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1ibHVlLWxpbms7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Bhbi5iYWRnZSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4LCAycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Bhbi5iYWRnZS5zdGF0dXMtbW9kaWZpZWQge1xuICAgICAgICAgICAgY29sb3I6ICM3RTc0NzA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzlCODAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBCQztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuLmJhZGdlLnN0YXR1cy1hZGRlZHRvZHJhZnQge1xuICAgICAgICAgICAgY29sb3I6ICM3RTc0NzA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzlCODAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjBCQztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuLmJhZGdlLnN0YXR1cy1kZWxldGVkb25saXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjM2MzYzO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U0OTM5MztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkRBREI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Bhbi5iYWRnZS5zdGF0dXMtcmVtb3ZlZGZyb21kcmFmdCB7XG4gICAgICAgICAgICBjb2xvcjogIzYzNjM2MztcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNDkzOTM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJEQURCO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW4uYmFkZ2Uuc3RhdHVzLXdvcmtmbG93LWFwcHJvdmFsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNTY2NjBDO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdDODgxNjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQUU3OUE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLmdyaWRmaWVsZC1idXR0b24tZGVsZXRlIHNwYW4uYnRuLWljb24tZGVjbGluZSB7XG4gICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYS52aWV3LWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGEudmlldy1saW5rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zcHJpdGVzL2J0bi1pY29uL21hZ25pZmllci5wbmcpIG5vLXJlcGVhdCAwIDFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItYnV0dG9ucyAuZmllbGRncm91cC1maWVsZCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICB0aCB7XG4gICAgICAgICYubWFpbiB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0LW92ZXJmbG93OyAvLyBBZGQgZWxsaXBzZXMgdG8gb3ZlcmZsb3dpbmcgdGV4dFxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuY29sLWxpc3RDaGlsZHJlbkxpbmsge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZXh0cmEsXG4gICAgICAgICYuYWN0aW9uIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4dHJhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJnLXRvb2xzO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkdGFibGUtc20tY2VsbC1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGFibGUtc20tY2VsbC1wYWRkaW5nO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMSU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICA+IC5mb3JtX19maWVsZGdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICYuc3MtZ3JpZGZpZWxkLWJ1dHRvbi1maWx0ZXI6bm90KC50cmlnZ2VyKSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc3MtZ3JpZGZpZWxkLWJ1dHRvbi1maWx0ZXI6bm90KC50cmlnZ2VyKSxcbiAgICAgICAgICAmLmdyaWQtZmllbGRfX2ZpbHRlci1jbGVhciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3Rpb25fZ3JpZGZpZWxkX3JlbGF0aW9uYWRkOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNDQ0ICFpbXBvcnRhbnQ7IC8qIE5vdCBzdXJlIHdoeSBJRSB0aGluayBpdCBuZWVkcyB0aGlzICovXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5zcy11aS1idXR0b24ge1xuICAgICAgICAgICAgJi5zcy1ncmlkZmllbGQtYnV0dG9uLWNsb3NlLFxuICAgICAgICAgICAgJi5zcy1ncmlkZmllbGQtYnV0dG9uLWZpbHRlcjpub3QoLnRyaWdnZXIpIHtcbiAgICAgICAgICAgICAgJi5ob3Zlci1hbGlrZTphY3RpdmUsXG4gICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAmLmhvdmVyLWFsaWtlLFxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc3MtZ3JpZGZpZWxkLWJ1dHRvbi1yZXNldCB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuZmlsdGVyZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ZC5ib3R0b20tYWxsIC5kYXRhZ3JpZC1mb290ZXItbWVzc2FnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaHVtYm5haWxzIGUuZy4gaW4gRmlsZSBhZG1pbiwgVXBsb2FkRmllbGQgYW5kIEh0bWxFZGl0b3JGaWVsZCBmaWxlIHNlbGVjdGlvblxuICAgIHRkLmNvbC1TdHJpcFRodW1ibmFpbCB7XG4gICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ncmlkLWZpZWxkX19wYWdpbmF0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFRPRE8gY3JlYXRlIHBhZ2luYXRpb24gY29tcG9uZW50XG4uZ3JpZC1maWVsZF9fcGFnaW5hdG9yX251bWJlcnMgIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZ3JpZC1maWVsZF9fcGFnaW5hdG9yX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzNnB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMThweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgLy8gaGFsZiB0aGUgd2lkdGggb2YgLmRhdGFncmlkLXBhZ2luYXRpb24gLSBjZW50ZXJzIHBhZ2luYXRpb25cbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDI1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLnBhZ2luYXRpb24tcGFnZS1udW1iZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAzNXB4OyAvLyBleGFjdCB3aWR0aCBzbyB0aGF0IGEgZm91ciBkaWdpdCBudW1iZXIgY2FuIGJlIGVudGVyZWRcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZC1kYXJrZXIsIDUlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LWZvY3VzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbixcbiAgYnV0dG9uW2NsYXNzKj1cImZvbnQtaWNvbi1cIl0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuXG4gICAgLnVpLWJ1dHRvbi10ZXh0IHtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgIH1cblxuICAgICYuc3N1aS1idXR0b24tZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBkZWZhdWx0IHRoZW1lIGRlZmluaXRpb25zIGZvciB0aGUgYWRtaW4gaW50ZXJmYWNlLlxuICogUGxlYXNlIHB1dCBtb3N0bHkgU0NTUyB2YXJpYWJsZSBkZWZpbml0aW9ucyBpbiBoZXJlLFxuICogYW5kIGxlYXZlIHRoZSBhY3R1YWwgc3R5bGluZyB0byBfc3R5bGUuc2NzcyBhbmQgYXV4aWxsaWFyeSBmaWxlcy5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vdmFyaWFibGVzLnNjc3NcIjtcblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb2xvdXJzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRjb2xvci1iYXNlOiAjYjBiZWM3ICFkZWZhdWx0O1xuJGNvbG9yLXdpZGdldC1iZzogbGlnaHRlbigkY29sb3ItYmFzZSwgMjAlKSAhZGVmYXVsdDtcblxuLy8gTWVudSB0aGVtZSBjb2xvdXJzXG4kY29sb3ItdGhlbWUtYmFzZTogXHQjZDhlNGViICFkZWZhdWx0O1xuXG4kY29sb3ItdGhlbWUtYmc6IFx0bGlnaHRlbigkY29sb3ItdGhlbWUtYmFzZSwgNSUpO1xuJGNvbG9yLXRoZW1lLWljb25zOiBkYXJrZW4oJGNvbG9yLXRoZW1lLWJhc2UsIDI2JSk7XG4kY29sb3ItdGhlbWUtYWN0aXZlOiAkY29sb3ItdGhlbWUtYmFzZTtcblxuLy8gQ01TIDQgbWVudVxuJGJhc2UtbWVudTogI2Q4ZTRlYjtcbiRiYXNlLW1lbnUtYmc6IGxpZ2h0ZW4oJGJhc2UtbWVudSw1JSk7XG4kYmFzZS1tZW51LWljb246IGRhcmtlbigkYmFzZS1tZW51LCAyNiUpO1xuXG4vL29mZmljYWwgc2lsdmVyc3RyaXBlIGJyYW5kIGNvbG9yXG4kY29sb3ItYnJhbmQtYmc6ICMwMDVhOTMgIWRlZmF1bHQ7XG4kY29sb3ItYnJhbmQ6ICM0M2M3ZjQgIWRlZmF1bHQ7XG5cbi8qIEtlZXAgYXMgc29saWQgY29sb3VycyB0cmFuc3BhcmVudCBib3JkZXJzIHdvbnQgd29yayBpbiBpZSAqL1xuJGNvbG9yLWRhcmtlci1iZzogI2YwZjJmNCAhZGVmYXVsdDtcbiRjb2xvci1kYXJrLWJnOiAjMTQyMTM2ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstc2VwYXJhdG9yOiAjMTk0MzVjICFkZWZhdWx0O1xuJGNvbG9yLW1lZGl1bS1zZXBhcmF0b3I6ICM4MDgwODAgIWRlZmF1bHQ7XG4kY29sb3Itc2VwYXJhdG9yOiAjQzFDN0NDICFkZWZhdWx0OyAvLyBWZXJ0aWNhbCBkaXZpZGVyc1xuJGNvbG9yLWxpZ2h0LXNlcGFyYXRvcjogI0QyRDVEOCAhZGVmYXVsdDsgLy8gSG9yaW9udGFsIGRpdmlkZXJzXG5cbiRjb2xvci10YWI6ICNkOWQ5ZDkgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1ncmV5OiAjN0I4QzkxICFkZWZhdWx0O1xuXG4vKiBPbmx5IGZvciB1c2UgYXMgc2hhZG93cyBhcyB0aGV5IHdvbnQgd29yayBpbiBvbGRlciBicm93c2VycyAqL1xuJGNvbG9yLXNoYWRvdy1saWdodDogcmdiYSgyMDEsIDIwNSwgMjA2LCAwLjgpICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdy1kYXJrOiByZ2JhKDEwNywgMTIwLCAxMjMsIDAuNSkgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93LWJsYWNrOiByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93LWJsYWNrZXI6IHJnYmEoMCwgMCwgMCwgMC45KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNoaW5lOiByZ2JhKDI0OCwgMjQ4LCAyNDgsIDAuOSk7XG4kYm94LXNoYWRvdy1zaGluZS1taW5pbWFsOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuOCk7XG5cbiRjb2xvci1oaWdobGlnaHQ6ICNGRkZGNjYgIWRlZmF1bHQ7XG4kY29sb3ItaGlnaGxpZ2h0LW9wYWNpdHk6IHJnYmEoMjU1LCAyNTUsIDEwMiwgMC4zKSAhZGVmYXVsdDtcblxuJGNvbG9yLW1lbnUtYnV0dG9uOiAjMzM4REMxICFkZWZhdWx0O1xuJGNvbG9yLW1lbnUtYmFja2dyb3VuZDogI2M2ZDdkZiAhZGVmYXVsdDtcbiRjb2xvci1tZW51LWJvcmRlcjogIzhjOTlhMSAhZGVmYXVsdDtcbiRjb2xvci1wYW5lbC1iYWNrZ3JvdW5kOiAjYzZkN2RmICFkZWZhdWx0O1xuXG4kY29sb3ItdGV4dC1kZWZhdWx0OiAjNGY1ODYxICFkZWZhdWx0OyAvKiBuZXcgaW4gU2lsdmVyU3RyaXBlIDQgKi9cbiRjb2xvci10ZXh0OiAjNjY3MjdkICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtbGlnaHQ6IHdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtbGlnaHQtbGluazogd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1kaXNhYmxlZDogI2FhYSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWRhcms6ICMxZjFmMWYgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1kYXJrLWxpbms6ICMzRUJBRTAgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1ibHVlLWxpbms6ICMwMDcxYzQgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1zaGFkb3c6IHdoaXRlICFkZWZhdWx0O1xuXG5cbiRjb2xvci1idXR0b24tZ2VuZXJpYzogI2U2ZTZlNiAhZGVmYXVsdDtcbiRjb2xvci1idXR0b24tZ2VuZXJpYy1ib3JkZXI6ICNkMGQzZDUgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24taGlnaGxpZ2h0OiAjZTZlNmU2ICFkZWZhdWx0O1xuJGNvbG9yLWJ1dHRvbi1oaWdobGlnaHQtYm9yZGVyOiAjNzA4Mjg0ICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWNvbnN0cnVjdGl2ZTogIzFGOTQzMyAhZGVmYXVsdDtcbiRjb2xvci1idXR0b24tY29uc3RydWN0aXZlLWJvcmRlcjogIzFGOTQzMyAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1kZXN0cnVjdGl2ZTogI2YwMCAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1kaXNhYmxlZDogI2VlZWRlZCAhZGVmYXVsdDtcblxuJGNvbG9yLW5vdGljZTogIzkzQ0RFOCAhZGVmYXVsdDtcdFx0Ly8gYmx1ZVxuJGNvbG9yLXdhcm5pbmc6ICNFOUQxMDQgIWRlZmF1bHQ7XHRcdC8vIHllbGxvd1xuJGNvbG9yLWVycm9yOiAjZTY4Mjg4ICFkZWZhdWx0O1x0XHRcdC8vIHJlZFxuJGNvbG9yLWdvb2Q6ICM3MmMzNGIgIWRlZmF1bHQ7XHRcdFx0Ly8gZ3JlZW5cbi8qJGNvbG9yLW9wdGlvbmFsOiAjYTFkMmViICFkZWZhdWx0OyAqL1x0Ly8gb3JhbmdlXG5cbiRjb2xvci1jbXMtYmF0Y2hhY3Rpb25zLW1lbnUtYmFja2dyb3VuZDogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRjb2xvci1jbXMtYmF0Y2hhY3Rpb25zLW1lbnUtc2VsZWN0ZWQtYmFja2dyb3VuZDogI2ZmZmNkYyAhZGVmYXVsdDtcblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBUZXh0dXJlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiR0YWItcGFuZWwtdGV4dHVyZS1jb2xvcjogI2Y2ZjdmOCAhZGVmYXVsdDtcbiR0YWItcGFuZWwtdGV4dHVyZS1iYWNrZ3JvdW5kOiAkdGFiLXBhbmVsLXRleHR1cmUtY29sb3IgdXJsKC4uL2ltYWdlcy90ZXh0dXJlcy9iZ19jbXNfbWFpbl9jb250ZW50LnBuZykgcmVwZWF0IHRvcCBsZWZ0ICFkZWZhdWx0O1xuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogR3JpZCBVbml0cyAocHgpXG4gKlxuICogV2UgaGF2ZSBhIHZlcnRpY2FsIHJoeXRobSB0aGF0IHRoZSBncmlkIGlzIGJhc2VkIG9mZlxuICogYm90aCB4ICg9aG9yaXpvbnRhbCkgYW5kIHkgKD12ZXJ0aWNhbCkuIEFsbCBpbnRlcm5hbCBwYWRkaW5nIGFuZFxuICogbWFyZ2lucyBhcmUgc2NhbGVkIHRvIHRoaXMgYW5kIGFjY291bnRpbmcgZm9yIHBhcmFncmFwaHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGdyaWQteTogOHB4ICFkZWZhdWx0O1xuJGdyaWQteDogOHB4ICFkZWZhdWx0O1xuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEFwcGxpY2F0aW9uIExvZ28gKENNUyBMb2dvKSBNdXN0IGJlIDI0cHggeCAyNHB4XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRhcHBsaWNhdGlvbi1sb2dvLXNtYWxsOiB1cmwoXCIuLi9pbWFnZXMvbG9nb19zbWFsbC5wbmdcIikgIWRlZmF1bHQ7XG4kYXBwbGljYXRpb24tbG9nby1zbWFsbC0yeDogdXJsKFwiLi4vaW1hZ2VzL2xvZ29fc21hbGxAMngucG5nXCIpICFkZWZhdWx0O1xuIiwiLy8qKlxuLy8gKiBUaGlzIGZpbGUgY29udGFpbnMgZ2VuZXJpYyBtaXhpbnMgd2hpY2ggd2UgdXNlIHRocm91Z2hvdXRcbi8vICogdGhlIGFkbWluIHBhbmVscy5cbi8vICpcbi8vICogTWl4aW5zIHNob3VsZCBiZSBzdG9yZWQgaGVyZSByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIGZpbGVzXG4vLyAqIHNvIHRoYXQgd2UgY2FuIGtlZXAuXG4vLyAqL1xuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogSGlkZXMgdGhlIG92ZXJmbG93aW5nIHRleHQgZnJvbSBhIGNvbnRhaW5lclxuLy8gKlxuLy8gKiBOb3RlOiB5b3UgbXVzdCBkZWZpbmUgYSB3aWR0aCBvbiB0aGUgZWxlbWVudCB3aXRoIHRoaXNcbi8vICogb3ZlcmZsb3cuXG4vLyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gaGlkZS10ZXh0LW92ZXJmbG93IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1ub25le1xuXHQtbW96LWJveC1zaGFkb3c6IG5vbmU7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG5cbi8vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL0NsZWFyZml4IG1peGluIGNsZWFycyB0aGUgZmxvYXQgb2YgaXQncyBwYXJlbnQgZWxlbWVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovXG5AbWl4aW4gY2xlYXJmaXh7XG5cdCY6YWZ0ZXJ7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXHQqOmZpcnN0LWNoaWxkICZ7IHpvb206MTt9XG59XG5cblxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogQ2xlYXIgdGhlIHByb3BlcnRpZXMgb2Ygc3ViIGZvcm0gZmllbGRzLlxuLy8gKlxuLy8gKiBPZnRlbiBuZWVkZWQgZm9yIG5lc3RlZCBmb3JtIGZpZWxkcyBhbmRcbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhci1mb3JtLWZpZWxkLXN0eWxlcyB7XG5cdC5maWVsZCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHQmLmxlZnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBpbmhlcml0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0Lm1pZGRsZUNvbHVtbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRpbnB1dC50ZXh0LFxuXHR0ZXh0YXJlYSxcblx0c2VsZWN0LFxuXHQuVHJlZURyb3Bkb3duRmllbGQge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogYXV0bztcblx0fVxufVxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogRG91YmxlIHRvbmUgYm9yZGVyc1xuLy8gKlxuLy8gKiBodHRwOi8vZGF2ZXJ1cGVydC5jb20vMjAxMS8wNi90d28tdG9uZS1ib3JkZXJzLXdpdGgtY3NzMy9cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBkb3VibGVib3JkZXIoJHNpZGUsICRpbm5lckNvbG9yLCAkb3V0ZXJDb2xvcikge1xuICAgICRzaGFkb3c6IFwiMCAwIDBcIjtcbiAgICBib3JkZXItI3skc2lkZX06IDFweCBzb2xpZCAkaW5uZXJDb2xvcjtcbiAgICBAaWYgKCRzaWRlID09IFwidG9wXCIpIHsgJHNoYWRvdzogMCAtMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwicmlnaHRcIikgeyAkc2hhZG93OiAxcHggMCAwOyB9XG4gICAgQGlmICgkc2lkZSA9PSBcImJvdHRvbVwiKSB7ICRzaGFkb3c6IDAgMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwibGVmdFwiKSB7ICRzaGFkb3c6IC0xcHggMCAwOyB9XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbiAgICAtby1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG59XG5cblxuLypNaXhpbiB1c2VkIHRvIGdlbmVyYXRlIHNsaWdodGx5IHNtYWxsZXIgdGV4dCBhbmQgZm9ybXNcblVzZWQgaW4gc2lkZSBwYW5lbHMgYW5kIGFjdGlvbiB0YWJzXG4qL1xuQG1peGluIHRpZ2h0U3BhY2luZ3tcblx0aDMsaDQsaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkZ3JpZC15ICogMjtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3QgLTE7XG5cdFx0bWFyZ2luOiA1cHggMDtcblx0fVxuXG5cdC51aS13aWRnZXQtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdC5maWVsZCB7XG5cdFx0Lypcblx0XHQgKiBGaWVsZHMgYXJlIG1vcmUgY29tcHJlc3NlZCBpbiBzb21lIGFyZWFzIGNvbXBhcmVkIHRvIHRoZVxuXHRcdCAqIG1haW4gY29udGVudCBlZGl0aW5nIHdpbmRvdyBzbyB0aGUgYmVsb3cgYWx0ZXJzIHRoZSBpbnRlcm5hbFxuXHRcdCAqIHNwYWNpbmcgb2YgdGhlIGZpZWxkcyBzbyB3ZSBjYW4gbW92ZSB0aGF0IHNwYWNpbmcgdG8gYmV0d2VlblxuXHRcdCAqIHRoZSBmb3JtIGZpZWxkcyByYXRoZXIgdGhhbiBwYWRkaW5nXG5cdFx0ICovXG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0bGFiZWwge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdHBhZGRpbmc6IDAgJGdyaWQteCA0cHggMDtcblx0XHRcdCYuZXh0cmEtZGV0YWlsc3tcblx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tdG9wOjEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMzUlKTtcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0Om5vcm1hbDtcblx0XHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdCYuZmlsbHtcblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnPyc7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6MTJweDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6M3B4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDozcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgNDUlKTtcblx0XHRcdFx0XHRcdHdpZHRoOjIxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6MTVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWlkZGxlQ29sdW1uIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRpbnB1dC50ZXh0LFxuXHRcdHNlbGVjdCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0fVxuXG5cdFx0Ji5jaGVja2JveCB7XG5cdFx0XHRwYWRkaW5nOiAwIDhweCAwO1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdG1hcmdpbjogMnB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZvcm1fX2ZpZWxkZ3JvdXAge1xuXHRcdC5mb3JtX19maWVsZGdyb3VwLWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0LmZpZWxkIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFJlc3R5bGUgZm9yIHNtYWxsZXIgYXJlYSovXG5cdC5jbXMtY29udGVudC1maWVsZHN7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0fVxuXHQuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGV7XG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdC5jaG9zZW4tc2luZ2xle1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHR9XG5cdH1cblx0LmNtcy1jb250ZW50LWFjdGlvbnMsIC5jbXMtcHJldmlldy1jb250cm9sc3tcblx0XHRwYWRkaW5nOjA7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQuY21zLWVkaXQtZm9ybXtcblx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC5Db21wb3NpdGVGaWVsZHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0fVxuXHQucGFyZW50LW1vZGV7XG5cdFx0cGFkZGluZy10b3A6MDtcblx0fVxuXHQudHJlZWRyb3Bkb3duLCAuU2VsZWN0aW9uR3JvdXAgbGkuc2VsZWN0ZWQgZGl2LmZpZWxke1xuXHRcdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHRcdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwICNmZmYsIDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpO1xuXHRcdC50cmVlZHJvcGRvd25maWVsZC10aXRsZXtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0ei1pbmRleDoyO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0fVxuXHRcdC50cmVlZHJvcGRvd25maWVsZC1wYW5lbHtcblx0XHRcdG1hcmdpbi10b3A6MTFweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRvZ2dsZS1wYW5lbC1saW5re1xuXHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6bm9uZTtcblx0XHRcdHBhZGRpbmc6NXB4IDNweDtcblx0XHRcdC51aS1pY29ue1xuXHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0b3BhY2l0eTowLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jbXMtYWRkLWZvcm0gdWwuU2VsZWN0aW9uR3JvdXB7XG5cdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdG92ZXJmbG93OnZpc2libGU7XG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDb21wYXNzIHJlcGxhY2VtZW50IG1peGlucy5cbi8vICpcbi8vICogTWl4aW5zIHRoYXQgd2VyZSBidWlsdC1pbiB3aXRoIGNvbXBhc3Ncbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuXHQmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBrZXlzIGZvciBib290c3RyYXAgdmFyaWFibGVzLCB0aGUgY29tbWVudGVkIGNvZGUgaXMgYm9vdHN0cmFwJ3MgZGVmYXVsdCB2YWx1ZXMuXG4vLyBDb21tZW50ZWQgbGluZXMgaW5kaWNhdGUgdGhhdCB0aGUgZGVmYXVsdCBCb290c3RyYXAgdmFsdWVzIGFyZSBiZWluZyB1c2VkLlxuLy8gQWxsIHZhcmlhYmxlcyB3aGljaCBhcmUgdW5jb21tZW50ZWQgdGhlIHZhbHVlcyB3aWxsIGJlIGluIHVzZSBzbyBiZSBjYXV0aW91cyB3aGVuIGFkanVzdGluZyB0aGVpciB2YWx1ZXMuLlxuXG5cbi8vIFRhYmxlIG9mIENvbnRlbnRzXG4vL1xuLy8gQ29sb3JzXG4vLyBPcHRpb25zXG4vLyBTcGFjaW5nXG4vLyBCb2R5XG4vLyBMaW5rc1xuLy8gR3JpZCBicmVha3BvaW50c1xuLy8gR3JpZCBjb250YWluZXJzXG4vLyBHcmlkIGNvbHVtbnNcbi8vIEZvbnRzXG4vLyBDb21wb25lbnRzXG5cbi8vIEdlbmVyYWwgdmFyaWFibGUgc3RydWN0dXJlXG4vLyBWYXJpYWJsZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtbW9kaWZpZXItc3RhdGUtcHJvcGVydHlgIG9yZGVyLlxuXG5cbi8vIENvbG9yc1xuLy8gR3JheXNjYWxlIGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG5cbiRncmF5LWRhcms6ICM0ZjU4NjE7IC8vIFVzZWQgZm9yIHRleHRcbiRncmF5OiBsaWdodGVuKCRncmF5LWRhcmssIDIlKTtcbiRncmF5LWxpZ2h0OiBsaWdodGVuKCRncmF5LWRhcmssIDUwJSk7XG4kZ3JheS1saWdodGVyOiBsaWdodGVuKCRncmF5LWRhcmssIDU3JSk7XG4vLyAkZ3JheS1saWdodGVzdDogI2Y3ZjdmOTtcbiRncmF5LWRhcmtlcjogZGFya2VuKCRncmF5LWRhcmssIDEwJSk7XG4kZ3JheS1kYXJrZXN0OiBkYXJrZW4oJGdyYXktZGFyaywgMjAlKTtcbiR3aGl0ZTogI2ZmZjsgLy8gTmV2ZXIgY2hhbmdlLCBjcmVhdGUgbmV3IHZhcmlhYmxlIGlmIG5lZWRlZFxuJGJsYWNrOiAjMDAwOyAvLyBOZXZlciBjaGFuZ2VcblxuJGJyYW5kLXNlY29uZGFyeTogIzAwNWE5MztcbiRicmFuZC1wcmltYXJ5OiAjMjlhYmUyO1xuJGJyYW5kLXN1Y2Nlc3M6ICMzZmExNDI7XG4vLyAkYnJhbmQtaW5mbzogIzViYzBkZTtcbi8vICRicmFuZC13YXJuaW5nOiAjZjBhZDRlO1xuJGJyYW5kLWRhbmdlcjogI2Q0MDQwNDtcblxuLy8gQmFja2dyb3VuZHNcbiRiYWNrZ3JvdW5kLW1haW46ICNmNmY3Zjg7XG4kYmFja2dyb3VuZC1kYXJrZXI6IGRhcmtlbigkYmFja2dyb3VuZC1tYWluLCAyKTtcblxuXG4vLyBCb3JkZXJzXG4kYm9yZGVyLWNvbG9yLWxpZ2h0ZXI6IGRhcmtlbigkYmFja2dyb3VuZC1tYWluLCAyKTtcbiRib3JkZXItY29sb3ItbGlnaHQ6IGRhcmtlbigkYmFja2dyb3VuZC1tYWluLCA2KTtcbiRib3JkZXItY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZC1tYWluLCAxMCk7XG4kYm9yZGVyLWNvbG9yLWRhcms6IGRhcmtlbigkYmFja2dyb3VuZC1tYWluLCAxNCk7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogdHJ1ZTtcbi8vICRlbmFibGUtcm91bmRlZDogdHJ1ZTtcbiRlbmFibGUtc2hhZG93czogdHJ1ZTtcbi8vICRlbmFibGUtZ3JhZGllbnRzOiBmYWxzZTtcbiRlbmFibGUtdHJhbnNpdGlvbnM6IHRydWU7XG4vLyAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiBmYWxzZTtcbi8vICRlbmFibGUtZ3JpZC1jbGFzc2VzOiB0cnVlO1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG5cbiRzcGFjZXI6IDEuMjMwOHJlbTsgLy8gJGZvbnQtc2l6ZS1yb290ICgxM3B4KSAqICRzcGFjZXIgPSAxNnB4XG4kc3BhY2VyLXg6ICRzcGFjZXI7XG4kc3BhY2VyLXk6ICRzcGFjZXI7XG5cbiRzcGFjZXJzOiAoXG4gIDA6IChcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgKSxcbiAgMTogKFxuICAgIHg6ICRzcGFjZXIteCxcbiAgICB5OiAkc3BhY2VyLXlcbiAgKSxcbiAgMjogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAxLjUpLFxuICAgIHk6ICgkc3BhY2VyLXkgKiAxLjUpXG4gICksXG4gIDM6IChcbiAgICB4OiAoJHNwYWNlci14ICogMyksXG4gICAgeTogKCRzcGFjZXIteSAqIDMpXG4gIClcbik7XG4kYm9yZGVyLXdpZHRoOiAxcHg7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICRiYWNrZ3JvdW5kLW1haW47XG4kYm9keS1jb2xvcjogJGdyYXktZGFyazsgLy8gZWcuIFRleHQsIGxhYmVscywgaWNvbm9ncmFwaHlcbiRib2R5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRncmF5LWRhcmssIDEwKTsgLy8gZWcuIEZpZWxkIGRlc2NyaXB0aW9uc1xuJGJvZHktY29sb3ItbGlnaHRlcjogbGlnaHRlbigkZ3JheS1kYXJrLCAyMCk7IC8vIGVnLiBwbGFjZWhvbGRlciB0ZXh0XG4kYm9keS1jb2xvci1kYXJrOiAgICBkYXJrZW4oJGJvZHktY29sb3IsIDEwJSk7ICAvLyBlZy4gaWNvbm9ncmFwaHkgaG92ZXJlZFxuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogIzAwNzFjNDtcbiRsaW5rLWRlY29yYXRpb246IG5vbmU7XG4kbGluay1ob3Zlci1jb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCA1JSk7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuICB4czogMCxcbiAgLy8gU21hbGwgc2NyZWVuIC8gcGhvbmVcbiAgc206IDU0NHB4LFxuICAvLyBNZWRpdW0gc2NyZWVuIC8gdGFibGV0XG4gIG1kOiA3NjhweCxcbiAgLy8gTGFyZ2Ugc2NyZWVuIC8gZGVza3RvcFxuICBsZzogOTkycHgsXG4gIC8vIEV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4bDogMTIwMHB4LFxuICAvLyBFeHRyYSBleHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiAgeHhsOiAxNDAwcHhcbik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTQwcHgsXG4gIHhsOiAxMTQwcHhcbik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAkc3BhY2VyICogMi41OyAvLyA0MHB4XG4kZ3JpZC1ndXR0ZXItd2lkdGgtaGFsZjogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjsgLy8gVE9ETzogRGVwcmVjYXRlIHRoaXMsIHJlcGxhY2luZyB3aXRoICRwYW5lbC1wYWRkaW5nLXggYW5kICRwYW5lbC1wYWRkaW5nLXlcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiRmb250LWZhbWlseS1iYXNlOiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblxuLy8gUGl4ZWwgdmFsdWUgdXNlZCB0byByZXNwb25zaXZlbHkgc2NhbGUgYWxsIHR5cG9ncmFwaHkuIEFwcGxpZWQgdG8gdGhlIGA8aHRtbD5gIGVsZW1lbnQuXG4kZm9udC1zaXplLXJvb3Q6IDEzcHg7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcbiRmb250LXNpemUtbGc6IDEuMjNyZW07IC8vIDE2cHhcbiRmb250LXNpemUtc206IC45MjNyZW07IC8vIDEycHhcbiRmb250LXNpemUteHM6IC44NDdyZW07IC8vIDExcHhcbiRmb250LXNpemUteHhzOiAuNzdyZW07IC8vIDEwcHhcblxuJGZvbnQtc2l6ZS1oMTogMS42OTNyZW07IC8vIDIycHhcbiRmb250LXNpemUtaDI6IDE4cHg7IC8vIDJyZW07XG4kZm9udC1zaXplLWgzOiAxNnB4OyAvLyAxLjc1cmVtO1xuJGZvbnQtc2l6ZS1oNDogMTRweDsgLy8gMS41cmVtO1xuJGZvbnQtc2l6ZS1oNTogMTNweDsgLy8gMS4yNXJlbTtcbiRmb250LXNpemUtaDY6IDEycHg7IC8vIDFyZW07XG5cbi8vICRkaXNwbGF5MS1zaXplOiA2cmVtO1xuLy8gJGRpc3BsYXkyLXNpemU6IDUuNXJlbTtcbi8vICRkaXNwbGF5My1zaXplOiA0LjVyZW07XG4vLyAkZGlzcGxheTQtc2l6ZTogMy41cmVtO1xuLy9cbi8vICRkaXNwbGF5MS13ZWlnaHQ6IDMwMDtcbi8vICRkaXNwbGF5Mi13ZWlnaHQ6IDMwMDtcbi8vICRkaXNwbGF5My13ZWlnaHQ6IDMwMDtcbi8vICRkaXNwbGF5NC13ZWlnaHQ6IDMwMDtcblxuJGxpbmUtaGVpZ2h0OiAxLjUzOTtcbiRsaW5lLWhlaWdodC1iYXNlOiAyMHB4OyAvLyBjYW4gYmUgdXNlZCB3aXRoIHZhcnlpbmcgZm9udC1zaXplcywgaG9sZHMgZ3JpZCBzaXppbmdcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDUwMDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS4xO1xuJGhlYWRpbmdzLWNvbG9yOiBpbmhlcml0O1xuXG4vLyAkbGVhZC1mb250LXNpemU6IDEuMjVyZW07XG4vLyAkbGVhZC1mb250LXdlaWdodDogMzAwO1xuLy9cbiR0ZXh0LW11dGVkOiBsaWdodGVuKCRib2R5LWNvbG9yLCAxMCUpO1xuLy9cbi8vICRhYmJyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQ7XG4vL1xuLy8gJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICRncmF5LWxpZ2h0O1xuLy8gJGJsb2NrcXVvdGUtZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSk7XG4vLyAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4vL1xuLy8gJGhyLWJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSk7XG4vLyAkaHItYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy9cbi8vICRkdC1mb250LXdlaWdodDogYm9sZDtcbi8vXG4vLyAkbmVzdGVkLWtiZC1mb250LXdlaWdodDogYm9sZDtcbi8vXG4vLyAkbGlzdC1pbmxpbmUtcGFkZGluZzogNXB4O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogKDQgLyAzKTtcbiRsaW5lLWhlaWdodC1zbTogMS41O1xuXG4kYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuJGJvcmRlci1yYWRpdXMtbGc6IC4zcmVtO1xuJGJvcmRlci1yYWRpdXMtc206IC4ycmVtO1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogJHdoaXRlO1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICRicmFuZC1wcmltYXJ5OyAvLyBTUzMgd2FzICMzMzhEQzFcbiRjb21wb25lbnQtYWN0aXZlLWJnLWxpZ2h0OiBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCA0MiUpO1xuJGNvbXBvbmVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblxuJGNhcmV0LXdpZHRoOiAuM2VtO1xuJGNhcmV0LXdpZHRoLWxnOiAkY2FyZXQtd2lkdGg7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAkc3BhY2VyO1xuJHRhYmxlLXNtLWNlbGwtcGFkZGluZzogJHNwYWNlciAqIC43NTtcblxuJHRhYmxlLWJnOiB0cmFuc3BhcmVudDtcbiR0YWJsZS1iZy1hY2NlbnQ6ICR3aGl0ZTsgLy8gbGlnaHRlbigjZjBmNGY3LCAxJSkgI0YwRjRGNyAjZTlmMGY0XG4kdGFibGUtYmctaG92ZXI6ICNmMGY0Zjc7XG4kdGFibGUtYmctYWN0aXZlOiAkYnJhbmQtcHJpbWFyeTtcbiR0YWJsZS1iZy10b29sczogJGdyYXktZGFyaztcbiR0YWJsZS1iZy1mb290ZXI6ICRiYWNrZ3JvdW5kLW1haW47XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogLjc2OTJyZW07IC8vIDEwcHhcbiRidG4tcGFkZGluZy15OiAuMzg0NnJlbTsgLy8gNXB4XG4kYnRuLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogJHdoaXRlO1xuJGJ0bi1wcmltYXJ5LWJnOiAkYnJhbmQtc3VjY2VzcztcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICRidG4tcHJpbWFyeS1iZztcbiRidG4tcHJpbWFyeS1zaGFkb3c6IGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDYlKTtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICRib2R5LWNvbG9yLWxpZ2h0O1xuJGJ0bi1zZWNvbmRhcnktYmc6ICRncmF5LWxpZ2h0ZXI7XG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICRib3JkZXItY29sb3ItZGFyaztcblxuLy8gJGJ0bi1pbmZvLWNvbG9yOiAjZmZmO1xuLy8gJGJ0bi1pbmZvLWJnOiAkYnJhbmQtaW5mbztcbi8vICRidG4taW5mby1ib3JkZXI6ICRidG4taW5mby1iZztcblxuLy8gJGJ0bi1zdWNjZXNzLWNvbG9yOiAjZmZmO1xuLy8gJGJ0bi1zdWNjZXNzLWJnOiAkYnJhbmQtc3VjY2Vzcztcbi8vICRidG4tc3VjY2Vzcy1ib3JkZXI6ICRidG4tc3VjY2Vzcy1iZztcblxuJGJ0bi1jb21wbGV0ZS1jb2xvcjogIzU1NTtcbiRidG4tY29tcGxldGUtYmc6ICRidG4tcHJpbWFyeS1iZztcbiRidG4tY29tcGxldGUtYm9yZGVyOiAkZ3JheS1saWdodDtcbiRidG4tY29tcGxldGUtc2hhZG93OiBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA2JSk7XG5cbi8vICRidG4td2FybmluZy1jb2xvcjogI2ZmZjtcbi8vICRidG4td2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmc7XG4vLyAkYnRuLXdhcm5pbmctYm9yZGVyOiAkYnRuLXdhcm5pbmctYmc7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAkd2hpdGU7XG4kYnRuLWRhbmdlci1iZzogJGJyYW5kLWRhbmdlcjtcbiRidG4tZGFuZ2VyLWJvcmRlcjogJGJyYW5kLWRhbmdlcjtcblxuLy8gJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vXG4vLyAkYnRuLXBhZGRpbmcteC1zbTogLjc1cmVtO1xuLy8gJGJ0bi1wYWRkaW5nLXktc206IC4yNXJlbTtcbi8vXG4vLyAkYnRuLXBhZGRpbmcteC1sZzogMS4yNXJlbTtcbi8vICRidG4tcGFkZGluZy15LWxnOiAuNzVyZW07XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogLjIzcmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAuMjVyZW07XG4kYnRuLWJvcmRlci1yYWRpdXMtc206IC4xNTRyZW07XG5cblxuLy8gRm9ybXNcblxuJGlucHV0LXBhZGRpbmcteDogLjc1cmVtO1xuJGlucHV0LXBhZGRpbmcteTogLjUzODVyZW07XG4kaW5wdXQtbWF4LXdpZHRoOiA4OTVweDsgLy8gQXBwcm94IG1heCBwb3NzaWJsZSBhdCBzbWFsbCBzY3JlZW4gc2l6ZXNcblxuJGlucHV0LWJnOiAkd2hpdGU7XG4kaW5wdXQtYmctZGlzYWJsZWQ6ICRiYWNrZ3JvdW5kLWRhcmtlcjtcblxuJGlucHV0LWNvbG9yOiAkYm9keS1jb2xvci1saWdodDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3ItZGFyaztcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoOyAvLyBGb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9uc1xuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZVxuJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpO1xuLy8gc2Nzcy1saW50OmVuYWJsZSBDb2xvclZhcmlhYmxlXG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cy1sZztcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cy1zbTtcblxuJGlucHV0LWJvcmRlci1mb2N1czogIzY2YWZlOTtcbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGVcbiRpbnB1dC1ib3gtc2hhZG93LWZvY3VzOiByZ2JhKDEwMiwgMTc1LCAyMzMsIC42KTtcbi8vIHNjc3MtbGludDplbmFibGUgQ29sb3JWYXJpYWJsZVxuXG4vLyAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICM5OTk7XG4vL1xuLy8gJGlucHV0LXBhZGRpbmcteC1zbTogLjc1cmVtO1xuLy8gJGlucHV0LXBhZGRpbmcteS1zbTogLjI3NXJlbTtcbi8vXG4vLyAkaW5wdXQtcGFkZGluZy14LWxnOiAxLjI1cmVtO1xuLy8gJGlucHV0LXBhZGRpbmcteS1sZzogLjc1cmVtO1xuLy9cbi8vICRpbnB1dC1oZWlnaHQ6ICgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0KSArICgkaW5wdXQtcGFkZGluZy15ICogMikpO1xuLy8gJGlucHV0LWhlaWdodC1sZzogKCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtcGFkZGluZy15LWxnICogMikpO1xuLy8gJGlucHV0LWhlaWdodC1zbTogKCgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpO1xuLy9cbi8vICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbi8vXG4vLyAkaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRncmF5LWxpZ2h0ZXI7XG4vLyAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuLy9cbi8vICRjdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuLy8gJGZvcm0taWNvbi1zdWNjZXNzOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJak5XTmlPRFZqSWlCa1BTSk5Nak16TGpnZ05qRXdZeTB4TXk0eklEQXRNall0Tmkwek5DMHhOaTQ0VERrd0xqVWdORFE0TGpoRE56WXVNeUEwTXpBZ09EQWdOREF6TGpNZ09UZ3VPQ0F6T0Rsak1UZ3VPQzB4TkM0eUlEUTFMalV0TVRBdU5DQTFPUzQ0SURndU5HdzNNaUE1TlV3ME5URXVNeUF5TkRKak1USXVOUzB5TUNBek9DNDRMVEkyTGpJZ05UZ3VPQzB4TXk0M0lESXdJREV5TGpRZ01qWWdNemd1TnlBeE15NDNJRFU0TGpoTU1qY3dJRFU1TUdNdE55NDBJREV5TFRJd0xqSWdNVGt1TkMwek5DNHpJREl3YUMweWVpSXZQand2YzNablBnPT1cIjtcbi8vICRmb3JtLWljb24td2FybmluZzogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpaakJoWkRSbElpQmtQU0pOTmpBeklEWTBNQzR5YkMweU56Z3VOUzAxTURsakxUTXVPQzAyTGpZdE1UQXVPQzB4TUM0MkxURTRMalV0TVRBdU5uTXRNVFF1TnlBMExURTRMalVnTVRBdU5rdzVJRFkwTUM0eVl5MHpMamNnTmk0MUxUTXVOaUF4TkM0MExqSWdNakF1T0NBekxqZ2dOaTQxSURFd0xqZ2dNVEF1TkNBeE9DNHpJREV3TGpSb05UVTNZemN1TmlBd0lERTBMall0TkNBeE9DNDBMVEV3TGpRZ015NDFMVFl1TkNBekxqWXRNVFF1TkNBd0xUSXdMamg2YlMweU5qWXVOQzB6TUdndE5qRXVNbFkxTkRsb05qRXVNblkyTVM0eWVtMHdMVEV3TjJndE5qRXVNbFl6TURSb05qRXVNbll4T1RsNklpOCtQQzl6ZG1jK1wiO1xuLy8gJGZvcm0taWNvbi1kYW5nZXI6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PVwiO1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gJGRyb3Bkb3duLWJnOiAjZmZmO1xuLy8gJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xuLy8gJGRyb3Bkb3duLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbi8vICRkcm9wZG93bi1kaXZpZGVyLWJnOiAjZTVlNWU1O1xuLy9cbi8vICRkcm9wZG93bi1saW5rLWNvbG9yOiAkZ3JheS1kYXJrO1xuLy8gJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6IGRhcmtlbigkZ3JheS1kYXJrLCA1JSk7XG4vLyAkZHJvcGRvd24tbGluay1ob3Zlci1iZzogI2Y1ZjVmNTtcbi8vXG4vLyAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuLy8gJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbi8vXG4vLyAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4vL1xuLy8gJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogJGdyYXktbGlnaHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyAkemluZGV4LW5hdmJhcjogMTAwMDtcbi8vICR6aW5kZXgtZHJvcGRvd246IDEwMDA7XG4kemluZGV4LXBvcG92ZXI6IDEwNjA7XG4vLyAkemluZGV4LXRvb2x0aXA6IDEwNzA7XG4vLyAkemluZGV4LW5hdmJhci1maXhlZDogMTAzMDtcbi8vICR6aW5kZXgtbmF2YmFyLXN0aWNreTogMTAzMDtcbi8vICR6aW5kZXgtbW9kYWwtYmc6IDEwNDA7XG4vLyAkemluZGV4LW1vZGFsOiAxMDUwO1xuXG5cbi8vIFNTIHRvb2xiYXJzXG4vLyBVc2VkIGZvciB1aSBsYXlvdXQgd2hpY2ggY29udGFpbnMgbWFpbiBhY3Rpb25zLCBzZWNvbmRheSBwYWdlIGFjdGlvbiwgdG9wIGJyZWFkY3J1bWJzIGFuZCBuYXZpZ2F0aW9uIGJhcnMuXG5cbiR0b29sYmFyLWhlaWdodDogNTJweDtcbiR0b29sYmFyLXRvdGFsLWhlaWdodDogJHRvb2xiYXItaGVpZ2h0ICsgMXB4OyAvLyBJbmNsdWRlIGJvcmRlclxuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAwO1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICRzcGFjZXI7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICgkc3BhY2VyIC8gMik7XG5cbi8vICRuYXZiYXItZGFyay1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4vLyAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjc1KTtcbi8vICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4vLyAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjI1KTtcbi8vXG4vLyAkbmF2YmFyLWxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcbi8vICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuLy8gJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6IHJnYmEoMCwwLDAsLjgpO1xuLy8gJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xuXG5cbi8vIE5hdnNcblxuJG5hdi10YWJzLWxpbmstYm9yZGVyLXdpZHRoOiAuMTUzOHJlbTsgIC8vIDJweFxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcblxuJG5hdi1saW5rLXBhZGRpbmc6ICRzcGFjZXIteSAjeyRzcGFjZXIteCAvIDR9ICN7JHNwYWNlci15IC0gJG5hdi10YWJzLWxpbmstYm9yZGVyLXdpZHRofTtcbiRuYXYtbGluay1ob3Zlci1iZzogdHJhbnNwYXJlbnQ7XG5cbi8vICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogJGJvZHktY29sb3I7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAkYm9keS1jb2xvci1saWdodDtcblxuLy8gJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkYm9keS1iZztcblxuLy8gJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuLy8gJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyAkcGFnaW5hdGlvbi1wYWRkaW5nLXg6IC43NXJlbTtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteTogLjVyZW07XG4vLyAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206IC43NXJlbTtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogLjI3NXJlbTtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogMS41cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAuNzVyZW07XG4vL1xuLy9cbi8vICRwYWdpbmF0aW9uLWNvbG9yOiAkbGluay1jb2xvcjtcbi8vICRwYWdpbmF0aW9uLWJnOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy8gJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy9cbi8vICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbi8vICRwYWdpbmF0aW9uLWhvdmVyLWJnOiAkZ3JheS1saWdodGVyO1xuLy8gJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAjZGRkO1xuLy9cbi8vICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbi8vICRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogJGJyYW5kLXByaW1hcnk7XG4vLyAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAkYnJhbmQtcHJpbWFyeTtcbi8vXG4vLyAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI2ZmZjtcbi8vICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogI2RkZDtcblxuXG4vLyBQYWdlclxuXG4vLyAkcGFnZXItYmc6ICRwYWdpbmF0aW9uLWJnO1xuLy8gJHBhZ2VyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbi8vICRwYWdlci1ib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcbi8vICRwYWdlci1ib3JkZXItcmFkaXVzOiAxNXB4O1xuLy9cbi8vICRwYWdlci1ob3Zlci1iZzogJHBhZ2luYXRpb24taG92ZXItYmc7XG4vL1xuLy8gJHBhZ2VyLWFjdGl2ZS1iZzogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuLy8gJHBhZ2VyLWFjdGl2ZS1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuLy9cbi8vICRwYWdlci1kaXNhYmxlZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG5cblxuLy8gSnVtYm90cm9uXG5cbi8vICRqdW1ib3Ryb24tcGFkZGluZzogMnJlbTtcbi8vICRqdW1ib3Ryb24tYmc6ICRncmF5LWxpZ2h0ZXI7XG5cblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy8gRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbi8vICRzdGF0ZS1zdWNjZXNzLXRleHQ6ICMzYzc2M2Q7XG4vLyAkc3RhdGUtc3VjY2Vzcy1iZzogI2RmZjBkODtcbi8vICRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogZGFya2VuKCRzdGF0ZS1zdWNjZXNzLWJnLCA1JSk7XG4vL1xuLy8gJHN0YXRlLWluZm8tdGV4dDogIzMxNzA4Zjtcbi8vICRzdGF0ZS1pbmZvLWJnOiAjZDllZGY3O1xuLy8gJHN0YXRlLWluZm8tYm9yZGVyOiBkYXJrZW4oJHN0YXRlLWluZm8tYmcsIDclKTtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogIzhhNmQzYjtcbiRzdGF0ZS13YXJuaW5nLWJnOiAjZmNmOGUzO1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiBkYXJrZW4oJHN0YXRlLXdhcm5pbmctYmcsIDE1JSk7XG5cbi8vICRzdGF0ZS1kYW5nZXItdGV4dDogI2E5NDQ0Mjtcbi8vICRzdGF0ZS1kYW5nZXItYmc6ICNmMmRlZGU7XG4vLyAkc3RhdGUtZGFuZ2VyLWJvcmRlcjogZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKTtcblxuXG4vLyBDYXJkc1xuLy8gJGNhcmQtc3BhY2VyLXg6IDEuMjVyZW07XG4vLyAkY2FyZC1zcGFjZXIteTogLjc1cmVtO1xuLy8gJGNhcmQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkY2FyZC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vICRjYXJkLWJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbi8vICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXM7XG4vLyAkY2FyZC1jYXAtYmc6ICNmNWY1ZjU7XG4vLyAkY2FyZC1iZzogI2ZmZjtcbi8vXG4vLyAkY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuXG5cbi8vIFRvb2x0aXBzXG5cbi8vICR0b29sdGlwLW1heC13aWR0aDogMjAwcHg7XG4vLyAkdG9vbHRpcC1jb2xvcjogI2ZmZjtcbi8vICR0b29sdGlwLWJnOiAjMDAwO1xuLy8gJHRvb2x0aXAtb3BhY2l0eTogLjk7XG4vL1xuLy8gJHRvb2x0aXAtYXJyb3ctd2lkdGg6IDVweDtcbi8vICR0b29sdGlwLWFycm93LWNvbG9yOiAkdG9vbHRpcC1iZztcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1iZzogJHdoaXRlO1xuJHBvcG92ZXItbWF4LXdpZHRoOiAyNzZweDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgwICwgMCwgMCwgLjEpO1xuXG4kcG9wb3Zlci10aXRsZS1iZzogJGJhY2tncm91bmQtZGFya2VyO1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogMTBweDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAkcG9wb3Zlci1iZztcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpO1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6IGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KTtcbiRwb3BvdmVyLXBhZGRpbmc6ICRzcGFjZXIteDtcblxuXG4vLyBMYWJlbHNcblxuLy8gJGxhYmVsLWRlZmF1bHQtYmc6ICRncmF5LWxpZ2h0O1xuLy8gJGxhYmVsLXByaW1hcnktYmc6ICRicmFuZC1wcmltYXJ5O1xuLy8gJGxhYmVsLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzO1xuLy8gJGxhYmVsLWluZm8tYmc6ICRicmFuZC1pbmZvO1xuLy8gJGxhYmVsLXdhcm5pbmctYmc6ICRicmFuZC13YXJuaW5nO1xuLy8gJGxhYmVsLWRhbmdlci1iZzogJGJyYW5kLWRhbmdlcjtcbi8vXG4vLyAkbGFiZWwtY29sb3I6ICNmZmY7XG4vLyAkbGFiZWwtbGluay1ob3Zlci1jb2xvcjogI2ZmZjtcbi8vICRsYWJlbC1mb250LXdlaWdodDogYm9sZDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4vLyAkbW9kYWwtaW5uZXItcGFkZGluZzogMTVweDtcbi8vXG4vLyAkbW9kYWwtdGl0bGUtcGFkZGluZzogMTVweDtcbi8vICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuLy9cbi8vICRtb2RhbC1jb250ZW50LWJnOiAjZmZmO1xuLy8gJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4yKTtcbi8vXG4vLyAkbW9kYWwtYmFja2Ryb3AtYmc6ICMwMDA7XG4vLyAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogLjU7XG4vLyAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbi8vICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbi8vXG4vLyAkbW9kYWwtbGc6IDkwMHB4O1xuLy8gJG1vZGFsLW1kOiA2MDBweDtcbi8vICRtb2RhbC1zbTogMzAwcHg7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vICRhbGVydC1wYWRkaW5nOiAxNXB4O1xuLy8gJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy9cbi8vICRhbGVydC1zdWNjZXNzLWJnOiAkc3RhdGUtc3VjY2Vzcy1iZztcbi8vICRhbGVydC1zdWNjZXNzLXRleHQ6ICRzdGF0ZS1zdWNjZXNzLXRleHQ7XG4vLyAkYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICRzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcbi8vXG4vLyAkYWxlcnQtaW5mby1iZzogJHN0YXRlLWluZm8tYmc7XG4vLyAkYWxlcnQtaW5mby10ZXh0OiAkc3RhdGUtaW5mby10ZXh0O1xuLy8gJGFsZXJ0LWluZm8tYm9yZGVyOiAkc3RhdGUtaW5mby1ib3JkZXI7XG4vL1xuLy8gJGFsZXJ0LXdhcm5pbmctYmc6ICRzdGF0ZS13YXJuaW5nLWJnO1xuLy8gJGFsZXJ0LXdhcm5pbmctdGV4dDogJHN0YXRlLXdhcm5pbmctdGV4dDtcbi8vICRhbGVydC13YXJuaW5nLWJvcmRlcjogJHN0YXRlLXdhcm5pbmctYm9yZGVyO1xuLy9cbi8vICRhbGVydC1kYW5nZXItYmc6ICRzdGF0ZS1kYW5nZXItYmc7XG4vLyAkYWxlcnQtZGFuZ2VyLXRleHQ6ICRzdGF0ZS1kYW5nZXItdGV4dDtcbi8vICRhbGVydC1kYW5nZXItYm9yZGVyOiAkc3RhdGUtZGFuZ2VyLWJvcmRlcjtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vICRwcm9ncmVzcy1iZzogI2Y1ZjVmNTtcbi8vICRwcm9ncmVzcy1iYXItY29sb3I6ICNmZmY7XG4vLyAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4vL1xuLy8gJHByb2dyZXNzLWJhci1iZzogJGJyYW5kLXByaW1hcnk7XG4vLyAkcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzO1xuLy8gJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAkYnJhbmQtd2FybmluZztcbi8vICRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyO1xuLy8gJHByb2dyZXNzLWJhci1pbmZvLWJnOiAkYnJhbmQtaW5mbztcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAjZmZmO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjZGRkO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAjZjVmNWY1O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSk7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAkZ3JheS1saWdodGVyO1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICRib2R5LWNvbG9yO1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogJGJvZHktY29sb3I7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4vLyAkdGh1bWJuYWlsLXBhZGRpbmc6IC4yNXJlbTtcbi8vICR0aHVtYm5haWwtYmc6ICRib2R5LWJnO1xuLy8gJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vLyAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogN3B4O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAwO1xuJGJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGJvcmRlci1jb2xvci1kYXJrO1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRicmVhZGNydW1iLWRpdmlkZXI6IFwiL1wiO1xuXG5cbi8vIENhcm91c2VsXG5cbi8vICRjYXJvdXNlbC10ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpO1xuLy9cbi8vICRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAjZmZmO1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6IDE1JTtcbi8vICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6IC41O1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAyMHB4O1xuLy9cbi8vICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAjZmZmO1xuLy8gJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICNmZmY7XG4vL1xuLy8gJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICNmZmY7XG5cblxuLy8gQ2xvc2VcblxuLy8gJGNsb3NlLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJGNsb3NlLWNvbG9yOiAjMDAwO1xuLy8gJGNsb3NlLXRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG5cblxuLy8gQ29kZVxuXG4vLyAkY29kZS1jb2xvcjogI2JkNDE0Nztcbi8vICRjb2RlLWJnOiAjZjdmN2Y5O1xuLy9cbi8vICRrYmQtY29sb3I6ICNmZmY7XG4vLyAka2JkLWJnOiAjMzMzO1xuLy9cbi8vICRwcmUtYmc6ICNmN2Y3Zjk7XG4vLyAkcHJlLWNvbG9yOiAkZ3JheS1kYXJrO1xuLy8gJHByZS1ib3JkZXItY29sb3I6ICNjY2M7XG4vLyAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogMzQwcHg7XG5cbi8vIFBhbmVsIHNpemVzXG4kY21zLXBhbmVsLXhzOiA2MHB4O1xuJGNtcy1wYW5lbC1zbTogMzAwcHg7XG4kY21zLXBhbmVsLW1kOiA0NDhweDtcbiRjbXMtcGFuZWwtbGc6IDYzOHB4O1xuXG4vLyBQYW5lbCBwYWRkaW5nXG4kcGFuZWwtcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuJHBhbmVsLXBhZGRpbmcteTogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuXG4vLyBTaGFkb3dzXG4kc2hhZG93LWxldmVsLTE6IHJnYmEoMCwgMCwgMCwgLjEpO1xuJHNoYWRvdy1sZXZlbC0yOiByZ2JhKDAsIDAsIDAsIC4xNSk7XG4kc2hhZG93LWxldmVsLTM6IHJnYmEoMCwgMCwgMCwgLjIpO1xuJHNoYWRvdy1sZXZlbC00OiByZ2JhKDAsIDAsIDAsIC4yNSk7XG4kc2hhZG93LWxldmVsLTU6IHJnYmEoMCwgMCwgMCwgLjMwKTtcblxuLy8gVE9ETyB0aWR5IGFsbCBzaGFkb3dzIGNtcyB3aWRlIChpbmNsdWRpbmcgQXNzZXRBZG1pbilcbiRzaGFkb3ctbGlnaHQ6ICRzaGFkb3ctbGV2ZWwtMztcbiRzaGFkb3ctbGlnaHRlcjogJHNoYWRvdy1sZXZlbC0xO1xuJGRyb3Bkb3duLXNoYWRvdzogMCAwIDNweCAkc2hhZG93LWxldmVsLTM7XG4kZ2FsbGVyeS1pdGVtLXNoYWRvdzogMCAxcHggNHB4ICRzaGFkb3ctbGV2ZWwtMztcblxuLy8gR2l2ZXMgaXRlbXMgZGVwdGggb2YgZGlmZmVyZW50IGxldmVsc1xuJHotZGVwdGgtMTogMCAycHggNXB4IDAgJHNoYWRvdy1sZXZlbC0xLCAwIDJweCAxMHB4IDAgJHNoYWRvdy1sZXZlbC0xO1xuJHotZGVwdGgtMjogMCA4cHggMTJweCAwICRzaGFkb3ctbGV2ZWwtMywgMCA2cHggMjBweCAwICRzaGFkb3ctbGV2ZWwtMjtcbiR6LWRlcHRoLTM6IDAgMTJweCAyMHB4IDAgJHNoYWRvdy1sZXZlbC00LCAwIDE3cHggNDBweCAwICRzaGFkb3ctbGV2ZWwtMztcbiR6LWRlcHRoLTQ6IDAgMTZweCAyOHB4IDAgJHNoYWRvdy1sZXZlbC01LCAwIDI1cHggNTVweCAwICRzaGFkb3ctbGV2ZWwtNTtcblxuLy8gTWFza3M6IHR5cGljYWxseSBiZWhpbmQgbW9kYWxzLCBkcmFnIGRyb3AgYXJlYXNcbiRwYWdlLW1hc2stbGlnaHQ6IHJnYmEoMjM2LCAyMzksIDI0MSwgLjkpO1xuXG5cbi8vIEdhbGxlcnkgdGh1bWJuYWlsIGFuZCBpbWFnZSBzaXplc1xuXG4kZ2FsbGVyeS10aHVtYi13aWR0aDogICAxNzZweDtcbiRnYWxsZXJ5LXRodW1iLWhlaWdodDogIDEzMnB4O1xuXG4kZ2FsbGVyeS1pdGVtLXdpZHRoOiAgICAkZ2FsbGVyeS10aHVtYi13aWR0aCArIDI7IC8vIGluY2x1ZGUgYm9yZGVyc1xuJGdhbGxlcnktaXRlbS1oZWlnaHQ6ICAgMTc0cHg7XG4kZ2FsbGVyeS10aXRsZS1oZWlnaHQ6ICA0MHB4O1xuXG4kZ2FsbGVyeS1mb2xkZXItaGVpZ2h0Olx0ICA1NHB4O1xuJGdhbGxlcnktZm9sZGVyLXRpdGxlLWhlaWdodDogJGdhbGxlcnktZm9sZGVyLWhlaWdodCAtIDI7XG5cblxuLy8gVHJhbnNpdGlvbiBzcGVlZHNcblxuJHRyYW5zaXRpb24tc3BlZWQtc2xvdzogICAxcztcbiR0cmFuc2l0aW9uLXNwZWVkLW1pZDogIC41cztcbiR0cmFuc2l0aW9uLXNwZWVkLWZhc3Q6ICAgLjNzO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/SelectionGroup.css b/client/dist/styles/SelectionGroup.css deleted file mode 100755 index ff680c335..000000000 --- a/client/dist/styles/SelectionGroup.css +++ /dev/null @@ -1,3 +0,0 @@ -.SelectionGroup,.selection-group{padding-left:0;clear:both}.SelectionGroup li,.selection-group li{list-style-type:none}.SelectionGroup li>div.selectiongroup_item,.SelectionGroup li>.selection-group__item__fieldlist,.selection-group li>div.selectiongroup_item,.selection-group li>.selection-group__item__fieldlist{display:none}.SelectionGroup li.selected>div.selectiongroup_item,.SelectionGroup li.selected>.selection-group__item__fieldlist,.selection-group li.selected>div.selectiongroup_item,.selection-group li.selected>.selection-group__item__fieldlist{display:block}.SelectionGroup input.selector,.selection-group input.selector{width:20px;margin-top:2px;float:left}.mainblock.allassets ul{padding:0 0 0 10px;height:100px;overflow-y:scroll}.mainblock.allassets ul li{width:150px} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9TZWxlY3Rpb25Hcm91cC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUVFLGVBQ0EsVUFBWSxDQUhkLHVDQU1JLG9CQUFzQixDQU4xQixrTUFVTSxZQUFjLENBVnBCLHNPQWVNLGFBQWUsQ0FmckIsK0RBcUJJLFdBQ0EsZUFDQSxVQUFZLENBQ2Isd0JBSUQsbUJBQ0EsYUFDQSxpQkFBbUIsQ0FIckIsMkJBTUksV0FBYSxDQUNkIiwiZmlsZSI6ImxlZ2FjeS9TZWxlY3Rpb25Hcm91cC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuU2VsZWN0aW9uR3JvdXAsXG4uc2VsZWN0aW9uLWdyb3VwIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBjbGVhcjogYm90aDtcblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgPiBkaXYuc2VsZWN0aW9uZ3JvdXBfaXRlbSxcbiAgICA+IC5zZWxlY3Rpb24tZ3JvdXBfX2l0ZW1fX2ZpZWxkbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQgPiBkaXYuc2VsZWN0aW9uZ3JvdXBfaXRlbSxcbiAgICAmLnNlbGVjdGVkID4gLnNlbGVjdGlvbi1ncm91cF9faXRlbV9fZmllbGRsaXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpeCBmb3IgdGhlIGxhYmVsIG5vdCB3cmFwcGluZyBhcm91bmQgdGhlIGlucHV0IGFzIGl0IHNob3VsZCB3aXRoIEJvb3RzdHJhcFxuICBpbnB1dC5zZWxlY3RvciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5tYWluYmxvY2suYWxsYXNzZXRzIHVsIHtcbiAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIGxpIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ diff --git a/client/dist/styles/TreeDropdownField.css b/client/dist/styles/TreeDropdownField.css deleted file mode 100755 index 03f25b9f9..000000000 --- a/client/dist/styles/TreeDropdownField.css +++ /dev/null @@ -1,3 +0,0 @@ -div.TreeDropdownField{width:400px;background:#fff;border:1px solid #aaa;cursor:pointer;overflow:visible;position:relative}div.TreeDropdownField input{border:0;background:none;padding:0;margin:0}div.TreeDropdownField .treedropdownfield-title,div.TreeDropdownField .treedropdownfield-search{overflow:hidden;outline:none;z-index:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}div.TreeDropdownField .treedropdownfield-search{background:url("../../../admin/client/dist/images/chosen-sprite.png") no-repeat 100% -22px;background:url("../../../admin/client/dist/images/chosen-sprite.png") no-repeat 100% -22px,-webkit-gradient(linear, left top, left bottom, color-stop(1%, #eee), color-stop(15%, #fff));background:url("../../../admin/client/dist/images/chosen-sprite.png") no-repeat 100% -22px,-webkit-linear-gradient(top, #eee 1%, #fff 15%);background:url("../../../admin/client/dist/images/chosen-sprite.png") no-repeat 100% -22px,-o-linear-gradient(top, #eee 1%, #fff 15%);background:url("../../../admin/client/dist/images/chosen-sprite.png") no-repeat 100% -22px,linear-gradient(to bottom, #eee 1%, #fff 15%);-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1100;border:1px solid #aaa;display:inline-block;font-family:sans-serif;font-size:1em;margin:1.5%;outline:0;padding:4px 20px 4px 5px;width:97%}div.TreeDropdownField.searchable .treedropdownfield-panel.loading{min-height:64px;background-position:98% 39px}div.TreeDropdownField .treedropdownfield-panel{clear:left;position:absolute;display:none;cursor:default;border:1px solid #66afe9;border-top:0;margin:-1px 0 0 -1px;background-color:#fff;z-index:70;-webkit-box-shadow:0 4px 5px rgba(0,0,0,0.15);-o-box-shadow:0 4px 5px rgba(0,0,0,0.15);box-shadow:0 4px 5px rgba(0,0,0,0.15);right:0;left:0;width:calc(100% + 2px) !important;border-bottom-left-radius:3px;border-bottom-right-radius:3px}div.TreeDropdownField .treedropdownfield-panel.loading{min-height:30px;background:#fff url("../images/network-save.gif") 98% 7px no-repeat}div.TreeDropdownField .treedropdownfield-panel .tree-holder{position:relative;z-index:1}div.TreeDropdownField .treedropdownfield-panel .tree-holder>ul{position:relative;max-height:200px;overflow-y:auto;margin-bottom:10px}div.TreeDropdownField .treedropdownfield-panel ul{overflow-x:hidden;float:left;width:100%}div.TreeDropdownField .treedropdownfield-panel ul .jstree-icon{margin-left:5px}div.TreeDropdownField .treedropdownfield-panel ul .jstree-open>ins{background-position:-18px 0}div.TreeDropdownField .treedropdownfield-panel ul.tree{margin:0}div.TreeDropdownField .treedropdownfield-panel ul.tree a{font-size:12px}div.TreeDropdownField .treedropdownfield-toggle-panel-link{border:0;margin:0;z-index:0;padding:7px 3px;overflow:hidden;border-radius:0 4px 4px 0;position:absolute;right:5px;top:3px}div.TreeDropdownField .treedropdownfield-toggle-panel-link.treedropdownfield-open-tree{background:transparent;border:0}div.TreeDropdownField .treedropdownfield-toggle-panel-link a{text-decoration:none;display:block;border:0;margin:0;opacity:0.5}div.TreeDropdownField a.jstree-loading .jstree-pageicon{background:#fff url("../images/network-save.gif") center center no-repeat} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9UcmVlRHJvcGRvd25GaWVsZC5zY3NzIiwiLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxzQkFDQyxZQUNBLGdCQUNBLHNCQUNBLGVBQ0EsaUJBQ0EsaUJBQW1CLENBTnBCLDRCQVNFLFNBQ0EsZ0JBQ0EsVUFDQSxRQUFVLENBWlosK0ZBZ0JFLGdCQUNBLGFBQ0EsVUNMRCxnQkFDQSxtQkFDQSx1QkFDQSx5QkFBMkIsQ0RoQjVCLGdEQTBCRSwyRkFDQSx3TEFBQSxBQUdBLDJJQUhBLEFBR0Esc0lBSEEsQUFHQSx5SUFBQSw4QkFBQSxBQUNBLHNCQUFBLGtCQUNBLGFBQ0Esc0JBQ0EscUJBQ0EsdUJBQ0EsY0FDQSxZQUNBLFVBQ0EseUJBQ0EsU0FBVyxDQXhDYixrRUE0Q0UsZ0JBQ0EsNEJBQThCLENBN0NoQywrQ0FpREUsV0FDQSxrQkFDQSxhQUNBLGVBQ0EseUJBQ0EsYUFDQSxxQkFDQSxzQkFDQSxXQUNBLDhDQUNBLEFBQ0EseUNBQ0Esc0NBQ0UsUUFDQSxPQUNBLGtDQUNBLDhCQUNBLDhCQUFnQyxDQWxFcEMsdURBcUVHLGdCQUNBLG1FQUFvRSxDQXRFdkUsNERBMEVNLGtCQUNBLFNBQVcsQ0EzRWpCLCtEQThFUSxrQkFDQSxpQkFDQSxnQkFDQSxrQkFBb0IsQ0FqRjVCLGtEQXNGRyxrQkFDQSxXQUNBLFVBQVksQ0F4RmYsK0RBMkZJLGVBQWlCLENBM0ZyQixtRUErRkksMkJBQTZCLENBL0ZqQyx1REFvR0csUUFBVSxDQXBHYix5REF1R0ksY0FBZ0IsQ0F2R3BCLDJEQTZHRSxTQUNBLFNBQ0EsVUFDQSxnQkFDQSxnQkFDQSxBQUVBLDBCQUNBLGtCQUNBLFVBQ0EsT0FBUyxDQXZIWCx1RkEwSEcsdUJBQ0EsUUFBVSxDQTNIYiw2REErSEcscUJBQ0EsY0FDQSxTQUNBLFNBQ0EsV0FBYSxDQW5JaEIsd0RBeUlFLHlFQUEwRSxDQUMxRSIsImZpbGUiOiJsZWdhY3kvVHJlZURyb3Bkb3duRmllbGQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS9fbWl4aW5zLnNjc3NcIjtcblxuZGl2LlRyZWVEcm9wZG93bkZpZWxkIHtcblx0d2lkdGg6IDQwMHB4O1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aW5wdXQge1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnRyZWVkcm9wZG93bmZpZWxkLXRpdGxlIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRAaW5jbHVkZSBoaWRlLXRleHQtb3ZlcmZsb3c7XG5cdH1cblxuXHQudHJlZWRyb3Bkb3duZmllbGQtc2VhcmNoIHtcblx0XHRAZXh0ZW5kIC50cmVlZHJvcGRvd25maWVsZC10aXRsZTtcblxuXHRcdC8vIFN0eWxlIHNlYXJjaCBib3ggdG8gbWF0Y2ggY2hvc2VuIHNlYXJjaFxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vYWRtaW4vY2xpZW50L2Rpc3QvaW1hZ2VzL2Nob3Nlbi1zcHJpdGUucG5nJykgbm8tcmVwZWF0IDEwMCUgLTIycHg7IC8vIEZvciBicm93c2VycyB0aGF0IG9ubHkgc3VwcG9ydCAxIGJhY2tncm91bmRcblx0XHRiYWNrZ3JvdW5kOlxuXHRcdFx0dXJsKCcuLi8uLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvY2hvc2VuLXNwcml0ZS5wbmcnKSBuby1yZXBlYXQgMTAwJSAtMjJweCxcblx0XHRcdGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxMTAwOyAvLyBOZWVkZWQgdG8gd29yayB3aXRoaW4gbW9kYWxzIGluIGNocm9tZVxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdG1hcmdpbjogMS41JTtcblx0XHRvdXRsaW5lOiAwO1xuXHRcdHBhZGRpbmc6IDRweCAyMHB4IDRweCA1cHg7XG5cdFx0d2lkdGg6IDk3JTsgLy8gb3B0aW1pemVkIGZvciBtb3N0IGNvbW1vbiB0cmVlIHdpZHRoXG5cdH1cblxuXHQmLnNlYXJjaGFibGUgLnRyZWVkcm9wZG93bmZpZWxkLXBhbmVsLmxvYWRpbmcge1xuXHRcdG1pbi1oZWlnaHQ6IDE2cHggKyAxNHB4ICsgMzRweDsgLy8gaWNvbiArIHBhZGRpbmcgKyBhcHByb3guIGhlaWdodCBzZWFyY2ggaW5wdXQuIEVuc3VyZSB0aGVyZSdzIHJvb20gZm9yIGxvYWRpbmcgaW5kaWNhdG9yXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogOTglIDM5cHg7XG5cdH1cblxuXHQudHJlZWRyb3Bkb3duZmllbGQtcGFuZWwge1xuXHRcdGNsZWFyOiBsZWZ0O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjNjZhZmU5O1xuXHRcdGJvcmRlci10b3A6IDA7XG5cdFx0bWFyZ2luOiAtMXB4IDAgMCAtMXB4OyAvLyBhY2NvdW50IGZvciBib3JkZXIgb24gY29udGFpbmVyIGRpdlxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0ei1pbmRleDogNzA7XG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLDAsMCwuMTUpO1xuXHRcdC1tb3otYm94LXNoYWRvdyAgIDogMCA0cHggNXB4IHJnYmEoMCwwLDAsLjE1KTtcblx0XHQtby1ib3gtc2hhZG93ICAgICA6IDAgNHB4IDVweCByZ2JhKDAsMCwwLC4xNSk7XG5cdFx0Ym94LXNoYWRvdyAgICAgICAgOiAwIDRweCA1cHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcblxuXHRcdCYubG9hZGluZyB7XG5cdFx0XHRtaW4taGVpZ2h0OiAxNnB4ICsgMTRweDsgLy8gaWNvbiArIHBhZGRpbmcuIEVuc3VyZSB0aGVyZSdzIHJvb20gZm9yIGxvYWRpbmcgaW5kaWNhdG9yXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltYWdlcy9uZXR3b3JrLXNhdmUuZ2lmXCIpIDk4JSA3cHggbm8tcmVwZWF0O1xuXHRcdH1cblxuICAgIC50cmVlLWhvbGRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICA+IHVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cblx0XHR1bCB7XG5cdFx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQuanN0cmVlLWljb24ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4OyAvLyBtb3ZlIHRvIGFsaWduIHdpdGggcG9zc2libGUgc2VhcmNoIGJveFxuXHRcdFx0fVxuXG5cdFx0XHQuanN0cmVlLW9wZW4gPiBpbnMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMThweCAwOyAvLyBtb3ZlIHRvIGFsaWduIHdpdGggcG9zc2libGUgc2VhcmNoIGJveFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHVsLnRyZWUge1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50cmVlZHJvcGRvd25maWVsZC10b2dnbGUtcGFuZWwtbGluayB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHBhZGRpbmc6IDdweCAzcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiA1cHg7XG5cdFx0dG9wOiAzcHg7XG5cblx0XHQmLnRyZWVkcm9wZG93bmZpZWxkLW9wZW4tdHJlZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxuXG5cdGEuanN0cmVlLWxvYWRpbmcgLmpzdHJlZS1wYWdlaWNvbiB7XG5cdFx0Ly8gQXBwbHkgdG8gLmpzdHJlZS1wYWdlaWNvbiBzaW5jZSAuanN0cmVlLWljb24gaXMgaGlkZGVuXG5cdFx0YmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvbmV0d29yay1zYXZlLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0fVxufVxuIiwiLy8qKlxuLy8gKiBUaGlzIGZpbGUgY29udGFpbnMgZ2VuZXJpYyBtaXhpbnMgd2hpY2ggd2UgdXNlIHRocm91Z2hvdXRcbi8vICogdGhlIGFkbWluIHBhbmVscy5cbi8vICpcbi8vICogTWl4aW5zIHNob3VsZCBiZSBzdG9yZWQgaGVyZSByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIGZpbGVzXG4vLyAqIHNvIHRoYXQgd2UgY2FuIGtlZXAuXG4vLyAqL1xuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogSGlkZXMgdGhlIG92ZXJmbG93aW5nIHRleHQgZnJvbSBhIGNvbnRhaW5lclxuLy8gKlxuLy8gKiBOb3RlOiB5b3UgbXVzdCBkZWZpbmUgYSB3aWR0aCBvbiB0aGUgZWxlbWVudCB3aXRoIHRoaXNcbi8vICogb3ZlcmZsb3cuXG4vLyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gaGlkZS10ZXh0LW92ZXJmbG93IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1ub25le1xuXHQtbW96LWJveC1zaGFkb3c6IG5vbmU7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG5cbi8vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL0NsZWFyZml4IG1peGluIGNsZWFycyB0aGUgZmxvYXQgb2YgaXQncyBwYXJlbnQgZWxlbWVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovXG5AbWl4aW4gY2xlYXJmaXh7XG5cdCY6YWZ0ZXJ7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXHQqOmZpcnN0LWNoaWxkICZ7IHpvb206MTt9XG59XG5cblxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogQ2xlYXIgdGhlIHByb3BlcnRpZXMgb2Ygc3ViIGZvcm0gZmllbGRzLlxuLy8gKlxuLy8gKiBPZnRlbiBuZWVkZWQgZm9yIG5lc3RlZCBmb3JtIGZpZWxkcyBhbmRcbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhci1mb3JtLWZpZWxkLXN0eWxlcyB7XG5cdC5maWVsZCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHQmLmxlZnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBpbmhlcml0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0Lm1pZGRsZUNvbHVtbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRpbnB1dC50ZXh0LFxuXHR0ZXh0YXJlYSxcblx0c2VsZWN0LFxuXHQuVHJlZURyb3Bkb3duRmllbGQge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogYXV0bztcblx0fVxufVxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogRG91YmxlIHRvbmUgYm9yZGVyc1xuLy8gKlxuLy8gKiBodHRwOi8vZGF2ZXJ1cGVydC5jb20vMjAxMS8wNi90d28tdG9uZS1ib3JkZXJzLXdpdGgtY3NzMy9cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBkb3VibGVib3JkZXIoJHNpZGUsICRpbm5lckNvbG9yLCAkb3V0ZXJDb2xvcikge1xuICAgICRzaGFkb3c6IFwiMCAwIDBcIjtcbiAgICBib3JkZXItI3skc2lkZX06IDFweCBzb2xpZCAkaW5uZXJDb2xvcjtcbiAgICBAaWYgKCRzaWRlID09IFwidG9wXCIpIHsgJHNoYWRvdzogMCAtMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwicmlnaHRcIikgeyAkc2hhZG93OiAxcHggMCAwOyB9XG4gICAgQGlmICgkc2lkZSA9PSBcImJvdHRvbVwiKSB7ICRzaGFkb3c6IDAgMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwibGVmdFwiKSB7ICRzaGFkb3c6IC0xcHggMCAwOyB9XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbiAgICAtby1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG59XG5cblxuLypNaXhpbiB1c2VkIHRvIGdlbmVyYXRlIHNsaWdodGx5IHNtYWxsZXIgdGV4dCBhbmQgZm9ybXNcblVzZWQgaW4gc2lkZSBwYW5lbHMgYW5kIGFjdGlvbiB0YWJzXG4qL1xuQG1peGluIHRpZ2h0U3BhY2luZ3tcblx0aDMsaDQsaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkZ3JpZC15ICogMjtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3QgLTE7XG5cdFx0bWFyZ2luOiA1cHggMDtcblx0fVxuXG5cdC51aS13aWRnZXQtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdC5maWVsZCB7XG5cdFx0Lypcblx0XHQgKiBGaWVsZHMgYXJlIG1vcmUgY29tcHJlc3NlZCBpbiBzb21lIGFyZWFzIGNvbXBhcmVkIHRvIHRoZVxuXHRcdCAqIG1haW4gY29udGVudCBlZGl0aW5nIHdpbmRvdyBzbyB0aGUgYmVsb3cgYWx0ZXJzIHRoZSBpbnRlcm5hbFxuXHRcdCAqIHNwYWNpbmcgb2YgdGhlIGZpZWxkcyBzbyB3ZSBjYW4gbW92ZSB0aGF0IHNwYWNpbmcgdG8gYmV0d2VlblxuXHRcdCAqIHRoZSBmb3JtIGZpZWxkcyByYXRoZXIgdGhhbiBwYWRkaW5nXG5cdFx0ICovXG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0bGFiZWwge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdHBhZGRpbmc6IDAgJGdyaWQteCA0cHggMDtcblx0XHRcdCYuZXh0cmEtZGV0YWlsc3tcblx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tdG9wOjEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMzUlKTtcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0Om5vcm1hbDtcblx0XHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdCYuZmlsbHtcblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnPyc7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6MTJweDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6M3B4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDozcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgNDUlKTtcblx0XHRcdFx0XHRcdHdpZHRoOjIxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6MTVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWlkZGxlQ29sdW1uIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRpbnB1dC50ZXh0LFxuXHRcdHNlbGVjdCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0fVxuXG5cdFx0Ji5jaGVja2JveCB7XG5cdFx0XHRwYWRkaW5nOiAwIDhweCAwO1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdG1hcmdpbjogMnB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZvcm1fX2ZpZWxkZ3JvdXAge1xuXHRcdC5mb3JtX19maWVsZGdyb3VwLWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0LmZpZWxkIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFJlc3R5bGUgZm9yIHNtYWxsZXIgYXJlYSovXG5cdC5jbXMtY29udGVudC1maWVsZHN7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0fVxuXHQuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGV7XG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdC5jaG9zZW4tc2luZ2xle1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHR9XG5cdH1cblx0LmNtcy1jb250ZW50LWFjdGlvbnMsIC5jbXMtcHJldmlldy1jb250cm9sc3tcblx0XHRwYWRkaW5nOjA7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQuY21zLWVkaXQtZm9ybXtcblx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC5Db21wb3NpdGVGaWVsZHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0fVxuXHQucGFyZW50LW1vZGV7XG5cdFx0cGFkZGluZy10b3A6MDtcblx0fVxuXHQudHJlZWRyb3Bkb3duLCAuU2VsZWN0aW9uR3JvdXAgbGkuc2VsZWN0ZWQgZGl2LmZpZWxke1xuXHRcdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHRcdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwICNmZmYsIDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpO1xuXHRcdC50cmVlZHJvcGRvd25maWVsZC10aXRsZXtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0ei1pbmRleDoyO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0fVxuXHRcdC50cmVlZHJvcGRvd25maWVsZC1wYW5lbHtcblx0XHRcdG1hcmdpbi10b3A6MTFweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRvZ2dsZS1wYW5lbC1saW5re1xuXHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6bm9uZTtcblx0XHRcdHBhZGRpbmc6NXB4IDNweDtcblx0XHRcdC51aS1pY29ue1xuXHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0b3BhY2l0eTowLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jbXMtYWRkLWZvcm0gdWwuU2VsZWN0aW9uR3JvdXB7XG5cdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdG92ZXJmbG93OnZpc2libGU7XG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDb21wYXNzIHJlcGxhY2VtZW50IG1peGlucy5cbi8vICpcbi8vICogTWl4aW5zIHRoYXQgd2VyZSBidWlsdC1pbiB3aXRoIGNvbXBhc3Ncbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuXHQmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/docs/en/04_Changelogs/4.0.0.md b/docs/en/04_Changelogs/4.0.0.md index 20c57e4c2..f0328f649 100644 --- a/docs/en/04_Changelogs/4.0.0.md +++ b/docs/en/04_Changelogs/4.0.0.md @@ -138,11 +138,14 @@ admin/images/sprites/dist/ => admin/client/dist/sprites/ admin/font/ => admin/client/dist/font/ ``` -If you're not doing this already, we suggest looking into a JavaScript bundler -like [Webpack](http://webpack.github.io/), to combine JavaScript files. SilverStripe -core is moving away from `Requirements::combine_files` in favour of Webpack as of -4.0 and `Requirements::combine_files` is being considered for deprecation in future -versions. +Most JavaScript files in `framework/javascript` have been removed, +and are bundled through [Webpack](http://webpack.github.io/) into a combined file instead. +If you have referenced these files elsewhere, please consider +running the ES6 source files in `admin/client/src/legacy` +through your own transpiling and bundle process. + +SilverStripe core is moving away from `Requirements::combine_files` in favour of Webpack as of +4.0. `Requirements::combine_files` is being considered for deprecation in future versions. #### Explicit text casting is now enforced on all template variables