From ee10dbb680d7653b1f727e5e146b07df87e66b37 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 13 Sep 2016 21:28:47 +1200 Subject: [PATCH] API Moved frontend assets into admin/ "module" We've removed the ability to directly reference JS and CSS files for form fields and other SilverStripe features in favour of a common bundle built by Webpack. The logical next step is to make the framework module free of frontend dependencies, which should simplify its operation, and avoid another time intensive "npm install" on a module. --- .eslintignore | 40 +- Forms/HTMLEditor/HTMLEditorField_Embed.php | 2 +- Forms/UploadField_SelectHandler.php | 2 +- admin/_config.php | 2 +- .../client/dist}/images/default_media.png | Bin admin/client/dist/js/TinyMCE_SSPlugin.js | 2 + admin/client/src/bundles/legacy.js | 16 +- admin/client/src/bundles/lib.js | 14 +- {client => admin/client}/src/i18n.js | 0 {client => admin/client}/src/i18nx.js | 0 admin/client/src/images/default_media.png | Bin 0 -> 5079 bytes .../client/src}/images/progressbar_blue.gif | Bin {client => admin/client}/src/jQuery.js | 0 .../client}/src/legacy/AssetUploadField.js | 0 .../src/legacy/ConfirmedPasswordField.js | 0 .../client}/src/legacy/DateField.js | 2 +- .../client}/src/legacy/GridField.js | 4 +- .../client}/src/legacy/HtmlEditorField.js | 0 .../client}/src/legacy/InlineFormAction.js | 0 admin/client/src/legacy/LeftAndMain.js | 2 +- .../src/legacy/PermissionCheckboxSetField.js | 0 admin/client/src/legacy/SecurityAdmin.js | 2 +- .../client}/src/legacy/SelectionGroup.js | 0 {client => admin/client}/src/legacy/TabSet.js | 8 +- .../client}/src/legacy/TinyMCE_SSPlugin.js | 0 .../src/legacy/ToggleCompositeField.js | 4 +- .../client}/src/legacy/ToggleField.js | 0 .../client}/src/legacy/TreeDropdownField.js | 6 +- .../client}/src/legacy/UploadField.js | 0 .../legacy/UploadField_downloadtemplate.js | 0 .../client}/src/legacy/UploadField_select.js | 0 .../src/legacy/UploadField_uploadtemplate.js | 0 admin/client/src/styles/bundle.scss | 2 +- .../src/styles/legacy/AssetUploadField.scss | 12 +- .../src/styles/legacy/CheckboxSetField.scss | 0 .../styles/legacy/ConfirmedPasswordField.scss | 0 .../src/styles/legacy/DatetimeField.scss | 0 .../client}/src/styles/legacy/Form.scss | 0 .../client}/src/styles/legacy/GridField.scss | 8 +- .../src/styles/legacy/GridField_print.scss | 0 .../src/styles/legacy/Security_login.scss | 0 .../src/styles/legacy/SelectionGroup.scss | 0 .../src/styles/legacy/TreeDropdownField.scss | 6 +- .../src/styles/legacy/UploadField.scss | 12 +- .../src/styles/legacy}/_compasscompat.scss | 0 .../src/styles/legacy}/_elementMixins.scss | 0 admin/client/src/styles/legacy/_forms.scss | 8 +- .../client}/src/styles/legacy/debug.scss | 0 .../dist/images/network-save-constructive.gif | Bin 1737 -> 0 bytes client/dist/images/network-save.gif | Bin 1737 -> 0 bytes .../dist/images/sitetree_ss_default_icons.png | Bin 6929 -> 0 bytes client/dist/images/smilies/confused.gif | Bin 700 -> 0 bytes client/dist/images/smilies/cool.gif | Bin 703 -> 0 bytes client/dist/images/smilies/grin.gif | Bin 688 -> 0 bytes client/dist/images/smilies/sad.gif | Bin 704 -> 0 bytes client/dist/images/smilies/smile.gif | Bin 699 -> 0 bytes client/dist/images/smilies/tongue.gif | Bin 706 -> 0 bytes client/dist/js/HtmlEditorField.js | 1219 ----------------- client/dist/js/TinyMCE_SSPlugin.js | 173 --- client/dist/js/i18n.js | 207 --- client/dist/js/i18nx.js | 105 -- client/dist/js/jQuery.js | 19 - client/dist/styles/AssetUploadField.css | 3 - client/dist/styles/Form.css | 3 - client/dist/styles/GridField_print.css | 3 - client/dist/styles/Security_login.css | 3 - client/dist/styles/UploadField.css | 3 - client/dist/styles/debug.css | 1 - .../dist/styles/images/progressbar_blue.gif | Bin 10134 -> 0 bytes .../src/images/network-save-constructive.gif | Bin 1737 -> 0 bytes client/src/images/network-save.gif | Bin 1737 -> 0 bytes client/src/images/progressbar_blue.gif | Bin 10134 -> 0 bytes .../src/images/sitetree_ss_default_icons.png | Bin 6929 -> 0 bytes docs/en/04_Changelogs/4.0.0.md | 10 +- webpack.config.js | 29 +- 75 files changed, 96 insertions(+), 1836 deletions(-) rename {client/src => admin/client/dist}/images/default_media.png (100%) create mode 100644 admin/client/dist/js/TinyMCE_SSPlugin.js rename {client => admin/client}/src/i18n.js (100%) rename {client => admin/client}/src/i18nx.js (100%) create mode 100644 admin/client/src/images/default_media.png rename {client/dist => admin/client/src}/images/progressbar_blue.gif (100%) rename {client => admin/client}/src/jQuery.js (100%) rename {client => admin/client}/src/legacy/AssetUploadField.js (100%) rename {client => admin/client}/src/legacy/ConfirmedPasswordField.js (100%) rename {client => admin/client}/src/legacy/DateField.js (95%) rename {client => admin/client}/src/legacy/GridField.js (98%) rename {client => admin/client}/src/legacy/HtmlEditorField.js (100%) rename {client => admin/client}/src/legacy/InlineFormAction.js (100%) rename {client => admin/client}/src/legacy/PermissionCheckboxSetField.js (100%) rename {client => admin/client}/src/legacy/SelectionGroup.js (100%) rename {client => admin/client}/src/legacy/TabSet.js (88%) rename {client => admin/client}/src/legacy/TinyMCE_SSPlugin.js (100%) rename {client => admin/client}/src/legacy/ToggleCompositeField.js (82%) rename {client => admin/client}/src/legacy/ToggleField.js (100%) rename {client => admin/client}/src/legacy/TreeDropdownField.js (98%) rename {client => admin/client}/src/legacy/UploadField.js (100%) rename {client => admin/client}/src/legacy/UploadField_downloadtemplate.js (100%) rename {client => admin/client}/src/legacy/UploadField_select.js (100%) rename {client => admin/client}/src/legacy/UploadField_uploadtemplate.js (100%) rename {client => admin/client}/src/styles/legacy/AssetUploadField.scss (94%) rename {client => admin/client}/src/styles/legacy/CheckboxSetField.scss (100%) rename {client => admin/client}/src/styles/legacy/ConfirmedPasswordField.scss (100%) rename {client => admin/client}/src/styles/legacy/DatetimeField.scss (100%) rename {client => admin/client}/src/styles/legacy/Form.scss (100%) rename {client => admin/client}/src/styles/legacy/GridField.scss (96%) rename {client => admin/client}/src/styles/legacy/GridField_print.scss (100%) rename {client => admin/client}/src/styles/legacy/Security_login.scss (100%) rename {client => admin/client}/src/styles/legacy/SelectionGroup.scss (100%) rename {client => admin/client}/src/styles/legacy/TreeDropdownField.scss (91%) rename {client => admin/client}/src/styles/legacy/UploadField.scss (93%) rename {client/src/styles => admin/client/src/styles/legacy}/_compasscompat.scss (100%) rename {client/src/styles => admin/client/src/styles/legacy}/_elementMixins.scss (100%) rename {client => admin/client}/src/styles/legacy/debug.scss (100%) delete mode 100644 client/dist/images/network-save-constructive.gif delete mode 100644 client/dist/images/network-save.gif delete mode 100644 client/dist/images/sitetree_ss_default_icons.png delete mode 100644 client/dist/images/smilies/confused.gif delete mode 100644 client/dist/images/smilies/cool.gif delete mode 100644 client/dist/images/smilies/grin.gif delete mode 100644 client/dist/images/smilies/sad.gif delete mode 100644 client/dist/images/smilies/smile.gif delete mode 100644 client/dist/images/smilies/tongue.gif delete mode 100644 client/dist/js/HtmlEditorField.js delete mode 100644 client/dist/js/TinyMCE_SSPlugin.js delete mode 100644 client/dist/js/i18n.js delete mode 100644 client/dist/js/i18nx.js delete mode 100644 client/dist/js/jQuery.js delete mode 100644 client/dist/styles/AssetUploadField.css delete mode 100755 client/dist/styles/Form.css delete mode 100644 client/dist/styles/GridField_print.css delete mode 100755 client/dist/styles/Security_login.css delete mode 100644 client/dist/styles/UploadField.css delete mode 100644 client/dist/styles/debug.css delete mode 100644 client/dist/styles/images/progressbar_blue.gif delete mode 100644 client/src/images/network-save-constructive.gif delete mode 100644 client/src/images/network-save.gif delete mode 100644 client/src/images/progressbar_blue.gif delete mode 100644 client/src/images/sitetree_ss_default_icons.png diff --git a/.eslintignore b/.eslintignore index 941328cd5..bfc75daa5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,26 +3,26 @@ client/dist/ admin/client/dist/ # Ignore legacy files -client/src/legacy/AssetUploadField.js -client/src/legacy/ConfirmedPasswordField.js -client/src/legacy/DateField.js -client/src/legacy/GridField.js -client/src/legacy/HtmlEditorField.js -client/src/legacy/InlineFormAction.js -client/src/legacy/PermissionCheckboxSetField.js -client/src/legacy/SelectionGroup.js -client/src/legacy/TabSet.js -client/src/legacy/TinyMCE_SSPlugin.js -client/src/legacy/ToggleCompositeField.js -client/src/legacy/ToggleField.js -client/src/legacy/TreeDropdownField.js -client/src/legacy/UploadField.js -client/src/legacy/UploadField_downloadtemplate.js -client/src/legacy/UploadField_select.js -client/src/legacy/UploadField_uploadtemplate.js -client/src/i18n.js -client/src/i18nx.js -client/src/jQuery.js +admin/client/src/legacy/AssetUploadField.js +admin/client/src/legacy/ConfirmedPasswordField.js +admin/client/src/legacy/DateField.js +admin/client/src/legacy/GridField.js +admin/client/src/legacy/HtmlEditorField.js +admin/client/src/legacy/InlineFormAction.js +admin/client/src/legacy/PermissionCheckboxSetField.js +admin/client/src/legacy/SelectionGroup.js +admin/client/src/legacy/TabSet.js +admin/client/src/legacy/TinyMCE_SSPlugin.js +admin/client/src/legacy/ToggleCompositeField.js +admin/client/src/legacy/ToggleField.js +admin/client/src/legacy/TreeDropdownField.js +admin/client/src/legacy/UploadField.js +admin/client/src/legacy/UploadField_downloadtemplate.js +admin/client/src/legacy/UploadField_select.js +admin/client/src/legacy/UploadField_uploadtemplate.js +admin/client/src/i18n.js +admin/client/src/i18nx.js +admin/client/src/jQuery.js admin/client/src/legacy/LeftAndMain.js admin/client/src/legacy/LeftAndMain.*.js admin/client/src/legacy/CMSSecurity.js diff --git a/Forms/HTMLEditor/HTMLEditorField_Embed.php b/Forms/HTMLEditor/HTMLEditorField_Embed.php index bcf90bb09..0ee8ae80a 100644 --- a/Forms/HTMLEditor/HTMLEditorField_Embed.php +++ b/Forms/HTMLEditor/HTMLEditorField_Embed.php @@ -106,7 +106,7 @@ class HTMLEditorField_Embed extends HTMLEditorField_File } // Default media - return FRAMEWORK_DIR . '/client/dist/images/src/default_media.png'; + return FRAMEWORK_ADMIN_DIR . '/client/dist/images/src/default_media.png'; } public function getName() diff --git a/Forms/UploadField_SelectHandler.php b/Forms/UploadField_SelectHandler.php index 463041f71..f1014302a 100644 --- a/Forms/UploadField_SelectHandler.php +++ b/Forms/UploadField_SelectHandler.php @@ -60,7 +60,7 @@ class UploadField_SelectHandler extends RequestHandler public function index() { // Requires a separate JS file, because we can't reach into the iframe with entwine. - Requirements::javascript(FRAMEWORK_DIR . '/admin/client/dist/js/UploadField_select.js'); + Requirements::javascript(FRAMEWORK_ADMIN_DIR . '/client/dist/js/UploadField_select.js'); return $this->renderWith('SilverStripe\\Admin\\CMSDialog'); } diff --git a/admin/_config.php b/admin/_config.php index 86be92bc6..106e0dd89 100644 --- a/admin/_config.php +++ b/admin/_config.php @@ -36,7 +36,7 @@ HTMLEditorConfig::get('cms') ->enablePlugins(array( 'contextmenu' => null, 'image' => null, - 'ssbuttons' => FRAMEWORK_DIR . '/client/dist/js/TinyMCE_SSPlugin.js' + 'ssbuttons' => FRAMEWORK_ADMIN_DIR . '/client/dist/js/TinyMCE_SSPlugin.js' )); CMSMenu::remove_menu_class('SilverStripe\\Admin\\CMSProfileController'); diff --git a/client/src/images/default_media.png b/admin/client/dist/images/default_media.png similarity index 100% rename from client/src/images/default_media.png rename to admin/client/dist/images/default_media.png diff --git a/admin/client/dist/js/TinyMCE_SSPlugin.js b/admin/client/dist/js/TinyMCE_SSPlugin.js new file mode 100644 index 000000000..3d0689305 --- /dev/null +++ b/admin/client/dist/js/TinyMCE_SSPlugin.js @@ -0,0 +1,2 @@ +!function(t){function e(i){if(n[i])return n[i].exports;var a=n[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){(function(t){"use strict";!function(){var e={getInfo:function n(){return{longname:"Special buttons for SilverStripe CMS",author:"Sam Minnée",authorurl:"http://www.siverstripe.com/",infourl:"http://www.silverstripe.com/",version:"1.0"}},init:function i(e){e.addButton("sslink",{icon:"link",title:"Insert Link",cmd:"sslink"}),e.addMenuItem("sslink",{icon:"link",text:"Insert Link",cmd:"sslink"}),e.addButton("ssmedia",{icon:"image",title:"Insert Media",cmd:"ssmedia"}),e.addMenuItem("ssmedia",{icon:"image",text:"Insert Media",cmd:"ssmedia"}),e.addCommand("sslink",function(e){t("#"+this.id).entwine("ss").openLinkDialog()}),e.addCommand("ssmedia",function(e){t("#"+this.id).entwine("ss").openMediaDialog()}),e.on("BeforeExecCommand",function(t){var n=t.command,i=t.ui,a=t.value;"mceAdvLink"==n||"mceLink"==n?(t.preventDefault(),e.execCommand("sslink",i,a)):"mceAdvImage"!=n&&"mceImage"!=n||(t.preventDefault(),e.execCommand("ssmedia",i,a))}),e.on("SaveContent",function(e){var n=t(e.content),i=function a(t){return Object.keys(t).map(function(e){return t[e]?e+'="'+t[e]+'"':null}).filter(function(t){return null!==t}).join(" ")};n.find(".ss-htmleditorfield-file.embed").each(function(){var e=t(this),n={width:e.attr("width"),"class":e.attr("cssclass"),thumbnail:e.data("thumbnail")},a="[embed "+i(n)+"]"+e.data("url")+"[/embed]";e.replaceWith(a)}),n.find("img").each(function(){var e=t(this),n={src:e.attr("src"),id:e.data("id"),width:e.attr("width"),height:e.attr("height"),"class":e.attr("class"),title:e.attr("title"),alt:e.attr("alt")},a="[image "+i(n)+"]";e.replaceWith(a)}),e.content="",n.each(function(){void 0!==this.outerHTML&&(e.content+=this.outerHTML)})}),e.on("BeforeSetContent",function(e){for(var n,i=e.content,a=function d(t){return t.match(/([^\s\/'"=,]+)\s*=\s*(('([^']+)')|("([^"]+)")|([^\s,\]]+))/g).reduce(function(t,e){var n=e.match(/^([^\s\/'"=,]+)\s*=\s*(?:(?:'([^']+)')|(?:"([^"]+)")|(?:[^\s,\]]+))$/),i=n[1],a=n[2]||n[3]||n[4];return t[i]=a,t},{})},s=/\[embed(.*?)\](.+?)\[\/\s*embed\s*\]/gi;n=s.exec(i);){var r=a(n[1]),c;c=t("").attr({src:r.thumbnail,width:r.width,height:r.height,"class":r["class"],"data-url":n[2]}).addClass("ss-htmleditorfield-file embed"),r.cssclass=r["class"],Object.keys(r).forEach(function(t){return c.attr("data-"+t,r[t])}),i=i.replace(n[0],t("
").append(c).html())}for(var s=/\[image(.*?)\]/gi;n=s.exec(i);){var r=a(n[1]),c=t("").attr({src:r.src,width:r.width,height:r.height,"class":r["class"],alt:r.alt,title:r.title,"data-id":r.id});i=i.replace(n[0],t("
").append(c).html())}e.content=i})}};tinymce.PluginManager.add("ssbuttons",function(t){e.init(t)})}()}).call(e,n(1))},function(t,e){t.exports=jQuery}]); +//# sourceMappingURL=TinyMCE_SSPlugin.js.map \ No newline at end of file diff --git a/admin/client/src/bundles/legacy.js b/admin/client/src/bundles/legacy.js index 9f0ab23d3..26e7a50d7 100644 --- a/admin/client/src/bundles/legacy.js +++ b/admin/client/src/bundles/legacy.js @@ -17,13 +17,13 @@ require('../legacy/ModelAdmin.js'); // Fields used by core legacy UIs, or available to users // To do: determine better way of using webpack to pull in optional javascript -require('../../../../client/src/legacy/AssetUploadField.js'); -require('../../../../client/src/legacy/ConfirmedPasswordField.js'); -require('../../../../client/src/legacy/UploadField.js'); -require('../../../../client/src/legacy/SelectionGroup.js'); -require('../../../../client/src/legacy/DateField.js'); -require('../../../../client/src/legacy/ToggleCompositeField.js'); +require('../legacy/AssetUploadField.js'); +require('../legacy/ConfirmedPasswordField.js'); +require('../legacy/UploadField.js'); +require('../legacy/SelectionGroup.js'); +require('../legacy/DateField.js'); +require('../legacy/ToggleCompositeField.js'); require('../legacy/MemberDatetimeOptionsetField.js'); -require('../../../../client/src/styles/legacy/CheckboxSetField.scss'); -require('../../../../client/src/styles/legacy/DatetimeField.scss'); +require('../styles/legacy/CheckboxSetField.scss'); +require('../styles/legacy/DatetimeField.scss'); diff --git a/admin/client/src/bundles/lib.js b/admin/client/src/bundles/lib.js index 0f76820aa..de5730806 100644 --- a/admin/client/src/bundles/lib.js +++ b/admin/client/src/bundles/lib.js @@ -48,25 +48,25 @@ require('../../../../thirdparty//jstree/themes/apple/style.css'); require('../../../thirdparty/jquery-hoverIntent/jquery.hoverIntent.js'); require('../../../../thirdparty/jquery-changetracker/lib/jquery.changetracker.js'); -require('../../../../client/src/legacy/TreeDropdownField.js'); +require('../legacy/TreeDropdownField.js'); -require('../../../../client/src/legacy/DateField.js'); +require('../legacy/DateField.js'); // TODO Move UploadField.js deps into the file once figuring out why uploads fail then require('../../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../../admin/client/src/legacy/ssui.core.js'); +require('../legacy/ssui.core.js'); require('imports?define=>false&this=>window!blueimp-load-image/load-image.js'); require('blueimp-file-upload/jquery.iframe-transport.js'); require('blueimp-file-upload/cors/jquery.xdr-transport.js'); require('blueimp-file-upload/jquery.fileupload.js'); require('blueimp-file-upload/jquery.fileupload-ui.js'); -require('../../../../client/src/legacy/UploadField.js'); +require('../legacy/UploadField.js'); -require('../../../../client/src/legacy/HtmlEditorField.js'); -require('../../../../client/src/legacy/TabSet.js'); +require('../legacy/HtmlEditorField.js'); +require('../legacy/TabSet.js'); require('../legacy/ssui.core.js'); -require('../../../../client/src/legacy/GridField.js'); +require('../legacy/GridField.js'); require('json-js'); require('chosen-js'); diff --git a/client/src/i18n.js b/admin/client/src/i18n.js similarity index 100% rename from client/src/i18n.js rename to admin/client/src/i18n.js diff --git a/client/src/i18nx.js b/admin/client/src/i18nx.js similarity index 100% rename from client/src/i18nx.js rename to admin/client/src/i18nx.js diff --git a/admin/client/src/images/default_media.png b/admin/client/src/images/default_media.png new file mode 100644 index 0000000000000000000000000000000000000000..c867d415e2f70745d1cdb8332c0861c27bcaf25b GIT binary patch literal 5079 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 SRx8k5V}o1Ro7b7%O8$TFZ3u(_ literal 0 HcmV?d00001 diff --git a/client/dist/images/progressbar_blue.gif b/admin/client/src/images/progressbar_blue.gif similarity index 100% rename from client/dist/images/progressbar_blue.gif rename to admin/client/src/images/progressbar_blue.gif diff --git a/client/src/jQuery.js b/admin/client/src/jQuery.js similarity index 100% rename from client/src/jQuery.js rename to admin/client/src/jQuery.js diff --git a/client/src/legacy/AssetUploadField.js b/admin/client/src/legacy/AssetUploadField.js similarity index 100% rename from client/src/legacy/AssetUploadField.js rename to admin/client/src/legacy/AssetUploadField.js diff --git a/client/src/legacy/ConfirmedPasswordField.js b/admin/client/src/legacy/ConfirmedPasswordField.js similarity index 100% rename from client/src/legacy/ConfirmedPasswordField.js rename to admin/client/src/legacy/ConfirmedPasswordField.js diff --git a/client/src/legacy/DateField.js b/admin/client/src/legacy/DateField.js similarity index 95% rename from client/src/legacy/DateField.js rename to admin/client/src/legacy/DateField.js index c1a193f9c..dc1a0e250 100644 --- a/client/src/legacy/DateField.js +++ b/admin/client/src/legacy/DateField.js @@ -1,7 +1,7 @@ import $ from 'jQuery'; // entwine also required, but can't be included more than once without error -require('../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); $.fn.extend({ ssDatepicker: function(opts) { diff --git a/client/src/legacy/GridField.js b/admin/client/src/legacy/GridField.js similarity index 98% rename from client/src/legacy/GridField.js rename to admin/client/src/legacy/GridField.js index d6008b145..63b9a3428 100644 --- a/client/src/legacy/GridField.js +++ b/admin/client/src/legacy/GridField.js @@ -1,8 +1,8 @@ import $ from 'jQuery'; import i18n from 'i18n'; -require('../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); require('../styles/legacy/GridField.scss'); diff --git a/client/src/legacy/HtmlEditorField.js b/admin/client/src/legacy/HtmlEditorField.js similarity index 100% rename from client/src/legacy/HtmlEditorField.js rename to admin/client/src/legacy/HtmlEditorField.js diff --git a/client/src/legacy/InlineFormAction.js b/admin/client/src/legacy/InlineFormAction.js similarity index 100% rename from client/src/legacy/InlineFormAction.js rename to admin/client/src/legacy/InlineFormAction.js diff --git a/admin/client/src/legacy/LeftAndMain.js b/admin/client/src/legacy/LeftAndMain.js index cfc889153..14bccf0df 100644 --- a/admin/client/src/legacy/LeftAndMain.js +++ b/admin/client/src/legacy/LeftAndMain.js @@ -3,7 +3,7 @@ */ import $ from 'jQuery'; -require('../../../../admin/client/src/legacy/ssui.core.js'); +require('../legacy/ssui.core.js'); var windowWidth, windowHeight; diff --git a/client/src/legacy/PermissionCheckboxSetField.js b/admin/client/src/legacy/PermissionCheckboxSetField.js similarity index 100% rename from client/src/legacy/PermissionCheckboxSetField.js rename to admin/client/src/legacy/PermissionCheckboxSetField.js diff --git a/admin/client/src/legacy/SecurityAdmin.js b/admin/client/src/legacy/SecurityAdmin.js index c3828f08a..24f32ecc4 100644 --- a/admin/client/src/legacy/SecurityAdmin.js +++ b/admin/client/src/legacy/SecurityAdmin.js @@ -4,7 +4,7 @@ import $ from 'jQuery'; require('./LeftAndMain.js'); -require('../../../../client/src/legacy/PermissionCheckboxSetField.js'); +require('PermissionCheckboxSetField.js'); var refreshAfterImport = function(e) { // Check for a message
, an indication that the form has been submitted. diff --git a/client/src/legacy/SelectionGroup.js b/admin/client/src/legacy/SelectionGroup.js similarity index 100% rename from client/src/legacy/SelectionGroup.js rename to admin/client/src/legacy/SelectionGroup.js diff --git a/client/src/legacy/TabSet.js b/admin/client/src/legacy/TabSet.js similarity index 88% rename from client/src/legacy/TabSet.js rename to admin/client/src/legacy/TabSet.js index 91ec6cffc..a1e5e6f62 100644 --- a/client/src/legacy/TabSet.js +++ b/admin/client/src/legacy/TabSet.js @@ -1,10 +1,10 @@ import $ from 'jQuery'; -require('../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-cookie/jquery.cookie.js'); -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-cookie/jquery.cookie.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); $.entwine('ss', function($){ /** diff --git a/client/src/legacy/TinyMCE_SSPlugin.js b/admin/client/src/legacy/TinyMCE_SSPlugin.js similarity index 100% rename from client/src/legacy/TinyMCE_SSPlugin.js rename to admin/client/src/legacy/TinyMCE_SSPlugin.js diff --git a/client/src/legacy/ToggleCompositeField.js b/admin/client/src/legacy/ToggleCompositeField.js similarity index 82% rename from client/src/legacy/ToggleCompositeField.js rename to admin/client/src/legacy/ToggleCompositeField.js index 53ff0b47f..29773b317 100644 --- a/client/src/legacy/ToggleCompositeField.js +++ b/admin/client/src/legacy/ToggleCompositeField.js @@ -1,9 +1,9 @@ import $ from 'jQuery'; // entwine also required, but can't be included more than once without error -require('../../../thirdparty/jquery-ui/jquery-ui.js'); +require('../../../../thirdparty/jquery-ui/jquery-ui.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); $.entwine('ss', function($){ $('.ss-toggle').entwine({ diff --git a/client/src/legacy/ToggleField.js b/admin/client/src/legacy/ToggleField.js similarity index 100% rename from client/src/legacy/ToggleField.js rename to admin/client/src/legacy/ToggleField.js diff --git a/client/src/legacy/TreeDropdownField.js b/admin/client/src/legacy/TreeDropdownField.js similarity index 98% rename from client/src/legacy/TreeDropdownField.js rename to admin/client/src/legacy/TreeDropdownField.js index 0d62bb811..62aa152f8 100644 --- a/client/src/legacy/TreeDropdownField.js +++ b/admin/client/src/legacy/TreeDropdownField.js @@ -1,10 +1,10 @@ import $ from 'jQuery'; import i18n from 'i18n'; -require('../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); -require('../../../thirdparty/jstree/jquery.jstree.js'); +require('../../../../thirdparty/jquery-entwine/dist/jquery.entwine-dist.js'); +require('../../../../thirdparty/jstree/jquery.jstree.js'); -require('../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); +require('../../../../thirdparty/jquery-ui-themes/smoothness/jquery-ui.css'); require('../styles/legacy/TreeDropdownField.scss'); $.entwine('ss', function($){ diff --git a/client/src/legacy/UploadField.js b/admin/client/src/legacy/UploadField.js similarity index 100% rename from client/src/legacy/UploadField.js rename to admin/client/src/legacy/UploadField.js diff --git a/client/src/legacy/UploadField_downloadtemplate.js b/admin/client/src/legacy/UploadField_downloadtemplate.js similarity index 100% rename from client/src/legacy/UploadField_downloadtemplate.js rename to admin/client/src/legacy/UploadField_downloadtemplate.js diff --git a/client/src/legacy/UploadField_select.js b/admin/client/src/legacy/UploadField_select.js similarity index 100% rename from client/src/legacy/UploadField_select.js rename to admin/client/src/legacy/UploadField_select.js diff --git a/client/src/legacy/UploadField_uploadtemplate.js b/admin/client/src/legacy/UploadField_uploadtemplate.js similarity index 100% rename from client/src/legacy/UploadField_uploadtemplate.js rename to admin/client/src/legacy/UploadField_uploadtemplate.js diff --git a/admin/client/src/styles/bundle.scss b/admin/client/src/styles/bundle.scss index 2efa58b96..b4712c29d 100644 --- a/admin/client/src/styles/bundle.scss +++ b/admin/client/src/styles/bundle.scss @@ -2,7 +2,7 @@ @import "variables"; // Compatibilty with compass -@import "../../../../client/src/styles/_compasscompat"; +@import "legacy/_compasscompat"; // Thirdparty @import "chosen"; diff --git a/client/src/styles/legacy/AssetUploadField.scss b/admin/client/src/styles/legacy/AssetUploadField.scss similarity index 94% rename from client/src/styles/legacy/AssetUploadField.scss rename to admin/client/src/styles/legacy/AssetUploadField.scss index 56a51a77a..0a5372969 100644 --- a/client/src/styles/legacy/AssetUploadField.scss +++ b/admin/client/src/styles/legacy/AssetUploadField.scss @@ -1,7 +1,7 @@ // TODO we need a seperated file for styles that are used in both cms and front end (such as buttons) -@import "../../../../admin/client/src/styles/legacy/themes/default.scss"; -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; -@import "../_elementMixins"; +@import "themes/default.scss"; +@import "_mixins.scss"; +@import "_elementMixins"; .ss-uploadfield-view-allowed-extensions { margin-top: -36px; @@ -317,7 +317,7 @@ body.cms.ss-uploadfield-edit-iframe { width: 100%; height: 22px; padding: 15px 0; - background: url("../../../../admin/client/src/images/spinner.gif") no-repeat 50% 50%; + background: url("../../images/spinner.gif") no-repeat 50% 50%; iframe { /* Old IE needs this or it'll give the iframe a white background, covering the spinner */ @@ -358,7 +358,7 @@ body.cms.ss-uploadfield-edit-iframe { right: 0; bottom: 0; left: 0; - background: rgba(236, 239, 241, .9) url('../../../../admin/client/src/images/drag_drop_opt.svg') center center no-repeat; + background: rgba(236, 239, 241, .9) url('../../images/drag_drop_opt.svg') center center no-repeat; background-size: 312px 325px; z-index: 100; } @@ -385,7 +385,7 @@ body.cms.ss-uploadfield-edit-iframe { .ss-uploadfield-files { .ss-uploadfield-item-editform { &.loading { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } diff --git a/client/src/styles/legacy/CheckboxSetField.scss b/admin/client/src/styles/legacy/CheckboxSetField.scss similarity index 100% rename from client/src/styles/legacy/CheckboxSetField.scss rename to admin/client/src/styles/legacy/CheckboxSetField.scss diff --git a/client/src/styles/legacy/ConfirmedPasswordField.scss b/admin/client/src/styles/legacy/ConfirmedPasswordField.scss similarity index 100% rename from client/src/styles/legacy/ConfirmedPasswordField.scss rename to admin/client/src/styles/legacy/ConfirmedPasswordField.scss diff --git a/client/src/styles/legacy/DatetimeField.scss b/admin/client/src/styles/legacy/DatetimeField.scss similarity index 100% rename from client/src/styles/legacy/DatetimeField.scss rename to admin/client/src/styles/legacy/DatetimeField.scss diff --git a/client/src/styles/legacy/Form.scss b/admin/client/src/styles/legacy/Form.scss similarity index 100% rename from client/src/styles/legacy/Form.scss rename to admin/client/src/styles/legacy/Form.scss diff --git a/client/src/styles/legacy/GridField.scss b/admin/client/src/styles/legacy/GridField.scss similarity index 96% rename from client/src/styles/legacy/GridField.scss rename to admin/client/src/styles/legacy/GridField.scss index 1bb059a08..495372570 100644 --- a/client/src/styles/legacy/GridField.scss +++ b/admin/client/src/styles/legacy/GridField.scss @@ -6,9 +6,9 @@ * @todo Add radial gradient to default delete button state * @todo Create SASS mixin-function to simply swap the from/to, to to/from colours in grsdient mixins? */ -@import "../../../../admin/client/src/styles/legacy/themes/default"; -@import "../../../../admin/client/src/styles/legacy/mixins"; -@import "../elementMixins"; +@import "themes/default"; +@import "mixins"; +@import "elementMixins"; // Extends basic table styles, requires .table .table-hover @@ -197,7 +197,7 @@ } a.view-link { - background: url(../../../../admin/client/src/sprites/btn-icon/magnifier.png) no-repeat 0 1px; + background: url(../../sprites/btn-icon/magnifier.png) no-repeat 0 1px; } } } diff --git a/client/src/styles/legacy/GridField_print.scss b/admin/client/src/styles/legacy/GridField_print.scss similarity index 100% rename from client/src/styles/legacy/GridField_print.scss rename to admin/client/src/styles/legacy/GridField_print.scss diff --git a/client/src/styles/legacy/Security_login.scss b/admin/client/src/styles/legacy/Security_login.scss similarity index 100% rename from client/src/styles/legacy/Security_login.scss rename to admin/client/src/styles/legacy/Security_login.scss diff --git a/client/src/styles/legacy/SelectionGroup.scss b/admin/client/src/styles/legacy/SelectionGroup.scss similarity index 100% rename from client/src/styles/legacy/SelectionGroup.scss rename to admin/client/src/styles/legacy/SelectionGroup.scss diff --git a/client/src/styles/legacy/TreeDropdownField.scss b/admin/client/src/styles/legacy/TreeDropdownField.scss similarity index 91% rename from client/src/styles/legacy/TreeDropdownField.scss rename to admin/client/src/styles/legacy/TreeDropdownField.scss index cb3bbe5a7..6b80abb32 100755 --- a/client/src/styles/legacy/TreeDropdownField.scss +++ b/admin/client/src/styles/legacy/TreeDropdownField.scss @@ -1,4 +1,4 @@ -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; +@import "_mixins.scss"; div.TreeDropdownField { width: 400px; @@ -26,9 +26,9 @@ div.TreeDropdownField { @extend .treedropdownfield-title; //Style search box to match chosen search - background:url('../../../../admin/client/src/images/chosen-sprite.png') no-repeat 100% -22px; //For browers that only support 1 background + background:url('../../images/chosen-sprite.png') no-repeat 100% -22px; //For browers that only support 1 background background: - url('../../../../admin/client/src/images/chosen-sprite.png') no-repeat 100% -22px, + url('../../images/chosen-sprite.png') no-repeat 100% -22px, linear-gradient(to bottom, #eeeeee 1%, #ffffff 15%); box-sizing: border-box; position: relative; diff --git a/client/src/styles/legacy/UploadField.scss b/admin/client/src/styles/legacy/UploadField.scss similarity index 93% rename from client/src/styles/legacy/UploadField.scss rename to admin/client/src/styles/legacy/UploadField.scss index 8b18d156f..96e10e79b 100644 --- a/client/src/styles/legacy/UploadField.scss +++ b/admin/client/src/styles/legacy/UploadField.scss @@ -1,6 +1,6 @@ // TODO we need a seperated file for styles that are used in both cms and front end (such as buttons) -@import "../../../../admin/client/src/styles/legacy/themes/default.scss"; -@import "../../../../admin/client/src/styles/legacy/_mixins.scss"; +@import "themes/default.scss"; +@import "_mixins.scss"; .ss-uploadfield, .ss-insert-media { @@ -264,7 +264,7 @@ width: 100%; height: 22px; margin: 15px 0 0; - background: url(../../../../admin/client/src/images/spinner.gif) no-repeat 50% 0; + background: url(../../images/spinner.gif) no-repeat 50% 0; iframe { /* Old IE needs this or it'll give the iframe a white background, covering the spinner */ @@ -310,7 +310,7 @@ .loader { height: 94px; // Approxmiately matches the height of the field once a file is attached, avoids a 'jump' in size - background: transparent url(../../../../admin/client/src/images/spinner.gif) no-repeat 50% 50%; + background: transparent url(../../images/spinner.gif) no-repeat 50% 50%; } } @@ -330,7 +330,7 @@ .ss-uploadfield-files { .ss-uploadfield-item-editform { &.loading { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } @@ -339,7 +339,7 @@ .ss-upload { .loader { - background-image: url("../../../../admin/client/src/images/spinner@2x.gif"); + background-image: url("../../images/spinner@2x.gif"); background-size: 43px 43px; } } diff --git a/client/src/styles/_compasscompat.scss b/admin/client/src/styles/legacy/_compasscompat.scss similarity index 100% rename from client/src/styles/_compasscompat.scss rename to admin/client/src/styles/legacy/_compasscompat.scss diff --git a/client/src/styles/_elementMixins.scss b/admin/client/src/styles/legacy/_elementMixins.scss similarity index 100% rename from client/src/styles/_elementMixins.scss rename to admin/client/src/styles/legacy/_elementMixins.scss diff --git a/admin/client/src/styles/legacy/_forms.scss b/admin/client/src/styles/legacy/_forms.scss index a1b08ce63..a55a70eae 100644 --- a/admin/client/src/styles/legacy/_forms.scss +++ b/admin/client/src/styles/legacy/_forms.scss @@ -369,7 +369,7 @@ form.small .field, .field.small { border: none; } &.loading { - background: transparent url("../../../../client/src/images/network-save.gif") no-repeat $grid-x center; + background: transparent url("../../images/network-save.gif") no-repeat $grid-x center; .ui-button-text { padding-left: 16px /* icon */ + ($grid-x/2); } @@ -392,7 +392,7 @@ input.loading, button.loading, input.ui-state-default.loading, .ui-widget-content input.ui-state-default.loading, .ui-widget-header input.ui-state-default.loading { .ui-icon { - background: transparent url("../../../../client/src/images/network-save.gif") no-repeat 0 0; + background: transparent url("../../images/network-save.gif") no-repeat 0 0; } color: lighten($color-text-dark, 20%); @@ -403,7 +403,7 @@ input.ui-state-default.loading, .ui-widget-content input.ui-state-default.loadin input.loading, button.loading { &.ss-ui-action-constructive .ui-icon { - background: transparent url("../../../../client/src/images/network-save-constructive.gif") no-repeat 0 0; + background: transparent url("../../images/network-save-constructive.gif") no-repeat 0 0; } } @@ -580,7 +580,7 @@ button.loading { } .ss-ui-loading-icon { - background: url("../../../../client/src/images/network-save.gif") no-repeat; + background: url("../../images/network-save.gif") no-repeat; display: block; width: 16px; height: 16px; diff --git a/client/src/styles/legacy/debug.scss b/admin/client/src/styles/legacy/debug.scss similarity index 100% rename from client/src/styles/legacy/debug.scss rename to admin/client/src/styles/legacy/debug.scss diff --git a/client/dist/images/network-save-constructive.gif b/client/dist/images/network-save-constructive.gif deleted file mode 100644 index 735c8b870fb35f5ec4680e4d8c4b68956ef99bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaLXdrVu`9l-H}4Ss`dxYq_7{3OQsjjy@3ublfIN+>k)P!GH-E2Ld7Fv2;z( z<=(#1a<@LTDbxB;t4(V|OHk`=&C1eF?H`-gN!2Dz+obK!{aI<6wtu!IYxW=7@6V(2 zlRi3M>EsGjC|pwk75F;<&we@y0N8pnUD@k>=S_=y&N?t z`UaH)!)mj)Cp>9hdNHCzC9yMuPkvCk^m0;KsDae^q3d_^`DKS#)*h;u>8m5bvT5OY;>4(?LoBR59h$i8RdkDm?QKuoD=;68 zCueQBx?}f#nOYp4xi!iiRi1t@ap9#{^G=fexN`Ze%p4nh>c?Z7Z=`O#m%sWWYUBH4 z<2#8uAG!8UZu{*F{K@#0A7sfnTkW~<{4*gt(d&xqeA)g$$!PVXCQr}mtMSCl37t*( z&BLO`)H!z1?M?S<&0Q+3bm|7?i1bQ3I|?h#(J^EHkZSF_iS_T1H{UNTzCfhs?d40J z)7Sl;lzx2OJrvT~f|_ofZ2HN7MA0FV3TJn5fw1k=&ImG~kSRq5hdMqz*lX=-7YU-L zt?FKxJEgx82sn)1n zYi`t*Jge)=8^HX}cB$;)E!U&{M-hSeg4!b#4(m&|%K%5A&GWoy>rxyl& zF`N;Ix(ytTAg= zP^#)RauKJ7V$^*mo8E^>Lz3v9c6H_<@kqenib`)=Cf?`&@&@(d{3qQa!EwUdkA)H8 znX`&>b9xR$dr!-!-Lr$|ZEUe}Dz8T9V%0Ibn`@uA!}?j7$jZYYlP^sk0s@EaW3iu7 z6dW4=#UX-1ZJ9hI7Jdl|D#;<8d;k*KlRC~T$ove3{egm%AiUXm{g(`Bn{v$fuRCE!3>ToNg}Iu(s38>(JdnMBd_$u)(9u`HFN z+=_cb4;NL-JWySngRY)k?yW{v}4t$3*K!nsDd z$dcB4Q%}WGbIMATp>6&Uw|ssq0>e{w9^@55SaeBS>a{blxlFW>?$dCi`8iJyY(Y(Q zp;f$Cf;oG!sMc!2laDJ7!T2{ zRO1S)rGhO~S-MYt&ZAwTLxHcA-l;-VdcF zJ?q<&)_Mr@ee%1z4E+CzeaW!hsU{H)&}3+_Xq0Tq;w-A4&(Szx(M?T}44#a8xm2LO z0Atd-{KiQ&q%#-~;^LK$?j2E8F+}%18y|u`DtMF{TY@BRNGDeY2vsTYKO_j#jcvWnu?d2pR WedXEYSD(J}fP4yo$fJ+%zw;j}6WAF5 diff --git a/client/dist/images/network-save.gif b/client/dist/images/network-save.gif deleted file mode 100644 index 1560b646cff2cc4fd292d7fdb6f7adc7eb484b4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaLXeN0p99l-I&!tEQiv~W&~lv_&SmI|fRw)eE0zR=T_(^9a!crF*Q_O?JP*50BW za+x#6J*VfyIVLB@`G?mSW{fe8%LJS?j`_k2*Er)fUT2(h#u;OrF~)0*amLK)uKSPd z_ve%6mwfVklPAzh+MD7sAOkM}c>DG(0N}=r8~gU{i^XCdkH_!#XEK??hY#PmbLYsB zBQ-TOdcEFcGGQ3zcDqxl)R{A9Dk>_n+3b@iPo6$~y0EaYd-v|n&dz8wdiLzuYuB#f zIId7A#>dBxA3q+6M7D3=e*gY`mSv?<>Cn*7!Gi~r$>gb1r$~|%i^V5SoY=pAe_2@> zpU;2v=+TQ8FUH2ka=F~gmoFiN$BrF){rdHrH*e0LKY#i1-Mo2odV2cVvuD?@ zUw`o6!QH!euU@^nxVSh!KY#Duy<4|#J%9fE_U+r-wrx9k^5pF7Y2!hz{_K}ehqtPf73O8@wtkGyFib|)`J9qAU_vSxN)!U+Q3$?~abhem{rh;Yf zPOJW1?#m|PBZ)!HR~tu$H1Sk?EIk|_G;Yi!he6f93Ps{~w+!$1-$w+3U+n~t&M}Ot zdSwI42rFvpj1a?ZjJW9IPwE??&E&#p9=}A*VhFMy6cm+?16Q*P7E0tZ7Ed$$XgM+i z94(M9MQ3b;8w!dQGl;PjLVE4Y?<_P{QXeB^>`CbQFBvD_OT*#R6y9XGLopA~j#=m{7->pd6t>(Yi=3 zP}uo3V`jwsY7W}yU|ZK5z%f|Z?m9z~uy*yuIRu5uFfoVs{~5H(gmaYV0%%rtm$QvL z{~uwK+1e_?@y3>z>U)~d^%(jpL%ul0QBAF>DcN4YPSb$5Y$@O`J^)4H(vAG6fyV-$ zpp9QFT`ozb8GCfYP#22&x;IILw01D;WQQ6$Rd7I-5KT1ikgn+a(|F~;N5`@Dq1(|Cs^MXKy8P08>2 ze(zaIH}OH&tXIpzRp|f=nv{at6&u#2!XbvJ4yIM4%e%g~!%0&*vz<+T(e8jvJ$eoV zB?T~K5as2YK8NWfo<~YPgTv`>IqKsqR5<(dp)cEDK=00n>#89cvunA{%L%$M)}%E- z+Y7LTL0WhsE#TMm`-=Xj>PZ!`)~ z(K&8wwg6)N&3|FkYgh7U3x!zd`r4lqi5ZME;n0{F5#}>?i)rEJH#GeJiA|m+eZ8DO zSU?f>fl#Gzi`dPes#t)+aBX={4?$xdcO&byCid?1(awZqf1}Z}+v{|OO zt|T#wanNsY&NCKu;zG`1RYSh)xbINpDJ|DFE; D?d&fs diff --git a/client/dist/images/sitetree_ss_default_icons.png b/client/dist/images/sitetree_ss_default_icons.png deleted file mode 100644 index 101351db99d711002e90ab83ced11a548e183863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6929 zcmV+s8}8(ZP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000m?NklghJSRvLfTF|y4AXR)(EneVS!57FY33-xam`vuGIp^%N?;kTH zBspg?g8?UGerwH2&e>=GX7Byk`}h0p-#%*yV+=7FI>N<!?0gC~PNeoy_ zV!(#FsO4@hT)40nz(N3f<;tt8tA|`iFPA>474DA)@F9Th!A?3ZaDYY+@K{}Sb#?Y7 z>g#3Er-4l3%>ZfvlwQcB9;9amTZVL>!tr5d0Oi5iIVl3&dxNuCNwzDQr%ND1woj1+ z9mN0+0eC9H87XIa9N*FE8uER**ioVbK$*<_vJ3GcQ6k@IpSTFk!PODYMgXYjVJRs;X))W9*i`K7|m1b?ep@ z16Upk{D~7Muxr<@NdPJVRGd0>O4c{+-o5)N0IS0sm$H(Ql8DUR&z~q`g@qH*(AbQ| z=0>EZq(iHX!-0=?;;pxKkUJfP!C%@QV+*W_$jbOxv^V+k3Q>m**<&8s9O1h$st=nEZ_wVYo zw6w$!5!>nr#$|P+{wX(SG(Oz>E^@N6v2^hx_}z0)!s!uUO1a|VtT0KEN~cVj0;|;u zN@>VSR;v|LrcA+(9Xm?<4iKfZc+~hA=wcecKaiQzAg$n9wA6l6+_yxMr1H$dBBWlC zuUPw|Jv-3S+ynqHBp5Mw?%V|zJH)a>*N{O4Mkz&VYAQrg469;lYN{+)N+|?&JOo|}y9o+<%!af)xOsW#UbhRczVO@b z>)Y@D8Pr{82J)H6&(BAGem?AWJNED2-|spc`D68q{qFI+0GHc?=htt5AONOB6Si!w z#H~MG1cTNz_$y2l#Q|4V|5+u<0&|BAtEZ0KJy!@ld;YcsUbhPXkdZwG<7fT|$98YL zWX@l8?VJ7Ed|(~`Ko9`6N)>ocrGiAI!3Rbu4SRKk8fZ}z;o{k#fOiE=YU}A^ux5?z zF6(S>#yeYk;N19=|ANcU!kTc6jg7F|?GOY(_WIk3!~(!LE?@x(fWeG^dja#fJ%h3` z>gytH-vI!4f75f_&t*>dKGYc#(dZDvns7d!4?dqy z@%q~eV?eKFkilKqy@07T>OldPWK>0@r$a%{iM`u!c+XYB+jB8|SV&+JLxhIv!hM)_fG|8aS!6+dnQM17*l(&eAu}FLoU1*MZn|n_H14>>gWX~iXsvt zG>J+p)ofG)#w09VQ-xpu^wwVGw=G|Vw6vrF+cVfc?2pwil6&r7sTfC$NQeW^1NDt9 zxc7lo(8QTxGA3LcVD{3%TYy=&&hPcS$I)@geAusk**|;t+%wOBaidW*c_FmgB;5SN z$52!AHi~DC$L)9Aby0v-Y~Q}Ubl$vq$ji$MS?T1-lX&yZH$f?_kQwL|`~R}F`sz71 zA;D}3smJZGKq*}zqo?BFU$>RcxO)NOlag@VO*dmi#z!rwI#*Ics_J9m}BWJ$-}cg`P_@9sWcA%x(e zhaM_N_^*Feyzs&c{gS_g5Ip?w!#6X=R%75dk`5C>%ASAz`R#Ig2BSUaC4U(J==FLS z3MP&?E#;oIfeq?U1n}6~A9nJn=ur zrx^Mc2~tnWj|F{%$bel(+DF~DVed!))1ngC+O=!TlM?l%Q?AKJy44)AlFQwN_dfoz zbnV);K%WD{^Yx@;gbwR{onA#f<>loI)GDreT)`-$rzR=tSb4g8@3cC(%dBwXEG6HV zpKLhX$|KFF>Avfy5*i!=MkZ>|B}iy>_iW&2bz$D;*>zp{_7SU;m!`QTV0Dw-#A={z_A%M@%;PdflcL!2byw49vK-2=Gl)`FJ zK@#0zRgBk#$kwN-VTU`c4qM`>tR6{{%z2pxNP>KO+|-W^O>cK!Kae&PwO{b^ra_X> zVDq5H?uX0c?*;|{DncMo344#Uqp8#1V=65=K$4;x7!zFII+sW(1r=QAlETX;Qh_S! zkwUa*yX`Z0XkdVIbQau@a0NEfWAYD66bcDhdk05&;K;wr5P9!bQ3uJ)eQl{gk08Q{d3N?-&y{~Ym@-G|?Ocp9V3aai=d zbi8}qjw5G!R@#m)S^*lxD@+tcsCDLuDvP2+)|6?qi7=?bBc{<(h+>Bvo}4aHCE1p$)!Z7_Y_r zlu1yZ2awV_+3(<}hzyG!VM19JD?EwIeF=VF1gO@p~Ki0{k)#=9-NpXS9 zNoNpk;lNhcXlMK?RU@|!Zy^7$Ny$ekOLtcgv z1*44Mr051#v18An(z!QYjohr%(6AgH{NeR~DxEk7^x$e_=7!eeu_^13B&p)H9S2K) zdfN;nnd9+;5fhN6OGK{0iUd`hOndf0lB5dRz=rbnuZ}i*uAPz{FIS$UC6EZvY0}}} z#s&P`f&H}}73J;G2JE7oI7gEn08n4E_$S(tS1too5!ig%$u}KcFMhV^)u;q^ISV1g zguqV@X(Fg50H|Y(Ib*DSNFk@wRh2AVx`fl| zs>aN$g+$D_Ueo_oFzm8xF?Ig@=`Np7KY8A~=`?V(A9A|}zyu&2 zz$gGI01U$wTKJv*L-O5bYFsp9>WnO}*NbmX9PI#Qdli6v@a4gSZIn{fH#KP{&z(C% z;9;J_IQd@#T_>j0$MY_{Vzo9!ro0sz+G3awX^NH!&R z`xe}1@9`}!TW-)J?zverW*2BUweIkd&+BSzHLn49f-OEPn<3pq$jVXq`445}=V!T` zPJmLM+vDLp9uEj1%_7r!r0m{t$+>y zHovtA0ARD(b_b!MFSOxf5(TMp#-!;JEGd@6nFZHf%TcVwy2KyAFFl=Y9bM??$B28e%aY=KGO6!Jj%7^87&idt<- z07$dPbF$gvIhg>E6t&tk#%P?%1LeGMT2O2Vmj2$8+Kg&%bzv=U+VT@tjBikgisnicF?y!oXpD zKUp+q@wwn*Hh|7x-fx&@I)33<<6lM5wByvh39~Gjo`a4?Mx_72vt1vBtJDpAP~-RK z6zTPbeO_-(9nZh~OfbNBoDj7L+&|r5$f@!B+uQ?(^-8cx5coNB$8ZAH>v#o#zB{9E zmufNe_z$?T1>5NM;Gpp5eMA5P>k~@{!*Kmwzyo@q#0TvD6Yz4d4h5jP8(10#%<%z# z{}ZqofQK>G77OdY4X}VCcLz79G*V!}P`oSnS3DnBP`3!c7}OgIm>thoA^8W(> X^rNk%w1VG;lm0Oo%H?aLTmT}|A*8T;TSzrefn)gFe0cv_o=)w{E z;U@LhAoSKB^VA(tP(AAG@4~~s%+AgC+av$xDD%@DO-wmYPCNA09{uDetB(=t#ud%6 z81>mBfMp20y}I?-AobQCp??PR*CL~X3B|_5>g?|D&l>E^8}82?fno*NtOdfv!QjFg zSyx6{SVzLc!0E;q_}nCmih%jwB*~ltyp8~VVg{>$0oS({zn&2C(;mji#e!%D$jQgD zjR)(<7>bF0wUP>if_C1o1?t5W@X;N&mk+j@5`bU>n|1<&W(NJ`DCWKp!J!a{hkUe@ z4~2wy%Af_zq6OHg0@|tr>ckb-sRirB6~@QKRYMd1=_>!|Dl0rqA^8LW004ggEC2ui z01^Na000O7fPaF2B2HBiI5-hwQZj>&Bnd!j0$pfZa#;x^kAGk(JVhoYB~~>jQ${IX zgD5dR78xFXek*PkE&yCHG=E4Ca2Ol3#C{tXLmFWa9|T`N85hNVe0~`n90*JV23!_4 zeG`1u)O{-!Fb5!WAx|yR#eL*0FK2ZDIZN-vebX&Ec$(xGp+tp;KK&5V>f=GhjRSc` z1Q5_++_Zi>IwWy$CB&RGI)st))91pm0vZ%ZC_|u)7#FdsU9hoZfDix=?yL#&0RkBS zCu*1&XMsuq0B_7lVD^Uw1vou8z<5#M1_uof%wWlZV$hx_L=dphpofJ61$Nj#Ins%Q ifd(KM=$Kh>MN5MO3_1xCF(W~U3Kc@cnc-+qAOJgbKR(<5 diff --git a/client/dist/images/smilies/cool.gif b/client/dist/images/smilies/cool.gif deleted file mode 100644 index a103eaeba293a84dabb4dfb85ba0d4a69918ba70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmV;w0zmyoNk%w1VG;lm0Oo%He`E*0z`Lx10p`69UR+GV!oP-vdGF2|?#mhM#}??q z5q(|-R6`TxyAD!NJmItm-me8uPCH>=PygpC|K}-ei z>&6xI)*t=kC+*7^#>d1&Y1M)E~&30$p58!krA)sRg5h3H{|KuZRZq*dex>63U$dyuG?vS4OLk5yHd3 z!oFe&;tOet{4&1yK^VJ{j&mC1m6#L;O|LH3K=qgo16DvGTA^8LW004ggEC2ui z01^Na000O7fPaF27EoLgC@2ywPZooZ8ZrP%Q$aORVgLqbkAEd5PB}1WdtWSNSwh7!?zJe0+U<6&M`}SQ{<@S}Y!Z)P8-{eitNmKLG}9 z)Ovn1*yMiVT`>ezdn)06eBlgxD=#|)5qa%;;>CR8^E$k!6Cpwz7_*KUTS!5~2rES* z5V&)p!m*1NJ!l)Sgg^{39WaEMQ0yX{6M7On5D+7P8X!qBc%U$00);mx{CsFICk+!9 z8^$2O!$QQKJ=H!?fgr%ypBoNna5yl6%?ca`I5dE8B|?fpAl%sKp@4%K1q~j^@zMlD lCk+N179iOH0fG<#3uI{MB*;Pm8AC#Z*dpTzokxKH06VKJJBqczreh_y}Er~1?9aC<+~1uhkHv(H(FUotAYVgPdoqVD*E6h zR6`T#?Cyqzc~4F|=IZS0#ufkPDPUet|K}=EP(58-OU}^G|L7}KLljj+6!_dD#>mB7 zT1nU1+SuCKPE9-Y)*tA?5!a~&<-HKRj{vWT2FaWPfno*n(;dvt&5ewJ|K=$5*C6uO zA-0nXO-wo6tptXIc){H&axTTwievH7wpCr z_1GZy+#~+wDWil6vW^F=gaNLH1>3zD`rjtFmk-^q1e|vQ!oD+&QP5P4r4 zBGnqx)NC67ZB{}JN^8~P(ySmh*3p|BvsNx7*nLjhLIW}$OSb4;M}<*V?vxcTQ1b;6iI@OFi3)c!60E% WCqW$z3REy*!Gehj1v)$m1OPk5s4;&4 diff --git a/client/dist/images/smilies/sad.gif b/client/dist/images/smilies/sad.gif deleted file mode 100644 index 68f5550c378f9aa5c6843113e4b64594203b02e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmV;x0zdsnNk%w1VG;lm0Oo%H#mUV0+#}4P2K3e+^wl2M+~VB58QG}<@Xi|R#TCPz z4At7-)Y;$q;3c-XyMu#z?#mdjhz5OL1?9UA-mnHvO*>p#OH@M>U0h9CT1!evH~Zlx z`rjnGzrb;DWB%nSu(PuJ;3oOsB>m+m{Ng6Au&{rBb>+Mc^VA)FeRT5E9sJ}cetvZ6 z!V;{50Z~sp_17T(=PCc^D7Cq{*4yFp)gJ4|7NLIz;<^r4Rz|S2v+Twdwv!9})`x=)x0&W(LZg1H8Y%>c$yQPCIdMW&h_Y|LH1KLlgh#Dl0rqA^8LW004ggEC2ui z01^Na000O7fPaF21x^nbTv`|pIy8fi04!%-21hqf9DOlJdopf)Fc1na9e)gZMIn8D#D08xAAJKmR2~Z;U`s1|eiy}kdp!XNI6@^X zUkx(E!+dQPz+%M4 zG(bTIO$7@E0!%aZaL!6KScpj2)JYHx5I-_#&>)8lhysrS0RTHHQZgd| diff --git a/client/dist/images/smilies/smile.gif b/client/dist/images/smilies/smile.gif deleted file mode 100644 index c1ceec1521f0fff2a3c7122bfa94795a17a1aedb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 699 zcmV;s0z~~sNk%w1VG;lm0Oo%H*V@`%T}}PuC->VU^wl1ShkLxfy6VLh$(#dxUIgK_ z2zGR5#>mF-&l*rpI_13%<+~1HUr(%q0aQa1Qcyhq=PCK$B>Uke{pBd>>+a0X&4z_} z{^u(7)*r&dzx&`O_}nAs>g?{z7ytkO`rjn{;U?&6xO-zH8?JFbWYiiv*Cu^4`02H4x$#>d3$$r;$F0fd5g*sKNDsRXo? z4~B(!@6H;^pas9cyrhH*T3AQm!5Zqu7~{GQ=)w`*tpr(DMx1v7+`Jdpw-$|yfZM(r z{^cp=>g=+O2cdrkU0h46j}iXnDXW43$jQd8hXv`v6o6$2=DrYuXa}~M619^G|L7~~ z#TLTE!tl`@OiMYuj{x)6BHpkD?9CkR&mG#T1GknAO-wnyq7#5&1cPP<`Q0OTc4&r# zc;UDX^wu6-TukV}5xk!i>B17sq6Na94FBgU|LH1KLlgh#Dl0rqA^8LW004ggEC2ui z01^Na000O7fPaF28DdTmWNZ;M9vOp=02^CgPc36jJ~kTwkADm)Rc00!B_tpOMnfqK zgBlbyD;O1iU=}`!ea3xz0w6#~ZU!57 z7PEZSe16p`7A$r%KLJG-#N*a}93=z?d37&o7aZl~#)@6&5Qc}07ihv2`)3SY3oSil z1YiPZ#2!8vjbQ^Z;sJs>a@G)taV?-93?KTyP#|H4kT*F_tmrd~gRPVzAgJjUV!;;? z1P1i!Ght{S5nNncSrFxqD?KKFu;|dCMFSHMT$FLpOArFn<2>gv>%|qUf&pG! zOv1vy#>mEngm|xr2I#^Q<-HE&yAI*B2zGR5d|m|qCjenzPf$-gRYMe7SVvM(JWWhF z`rsx1=PLW*CfC~8|K}Q2*Qo{As|3EH6Xw1U;K3Ts&(6G`6tt8N z^VlN)=_|OG537$6#m2<%&KiSh2;96E+r1fpWeBp42g1X^!o+b5t8UN-e$jQe0;U!N_ zJA;CDh=+W4b!fGd3)rXu+NuM{n*++70)~Zo|LH1KLlgh#Dl0rqA^8LW004ggEC2ui z01^Na000O7fPaF2ZCp4O8yglpTL6QPAA4D1SZr%PPhA2ZkADm;Q&1;y9w#C&ZbvN) zgCiP293~)s9bh{rXEg&FBY!=0N+~jZ#C#aUHY+n)69GR~Lq>gm)YN<(eIivlL^*p- z9J79W)zlyy1uqT_3QQgy)VUQNe'); - $('body').append(dialog); - } - - $.ajax({ - url: url, - complete: function complete() { - dialog.removeClass('loading'); - }, - success: function success(html) { - dialog.html(html); - dialog.getForm().setElement(self); - dialog.trigger('ssdialogopen'); - } - }); - } - }); - - $('.htmleditorfield-dialog').entwine({ - onadd: function onadd() { - if (!this.is('.ui-dialog-content')) { - this.ssdialog({ - autoOpen: true, - buttons: { - 'insert': { - text: _i18n2.default._t('HtmlEditorField.INSERT', 'Insert'), - 'data-icon': 'accept', - class: 'ss-ui-action-constructive media-insert', - click: function click() { - $(this).find('form').submit(); - } - } - } - }); - } - - this._super(); - }, - - getForm: function getForm() { - return this.find('form'); - }, - open: function open() { - this.ssdialog('open'); - }, - close: function close() { - this.ssdialog('close'); - }, - toggle: function toggle(bool) { - if (this.is(':visible')) this.close();else this.open(); - }, - onscroll: function onscroll() { - this.animate({ - scrollTop: this.find('form').height() - }, 500); - } - }); - - $('form.htmleditorfield-form').entwine({ - Selection: null, - - Bookmark: null, - - Element: null, - - setSelection: function setSelection(node) { - return this._super($(node)); - }, - - onadd: function onadd() { - var titleEl = this.find(':header:first'); - this.getDialog().attr('title', titleEl.text()); - - this._super(); - }, - onremove: function onremove() { - this.setSelection(null); - this.setBookmark(null); - this.setElement(null); - - this._super(); - }, - - getDialog: function getDialog() { - return this.closest('.htmleditorfield-dialog'); - }, - - fromDialog: { - onssdialogopen: function onssdialogopen() { - var ed = this.getEditor(); - - this.setSelection(ed.getSelectedNode()); - this.setBookmark(ed.createBookmark()); - - ed.blur(); - - this.find(':input:not(:submit)[data-skip-autofocus!="true"]').filter(':visible:enabled').eq(0).focus(); - - this.redraw(); - this.updateFromEditor(); - }, - - onssdialogclose: function onssdialogclose() { - var ed = this.getEditor(); - - ed.moveToBookmark(this.getBookmark()); - - this.setSelection(null); - this.setBookmark(null); - - this.resetFields(); - } - }, - - getEditor: function getEditor() { - return this.getElement().getEditor(); - }, - - modifySelection: function modifySelection(callback) { - var ed = this.getEditor(); - - ed.moveToBookmark(this.getBookmark()); - callback.call(this, ed); - - this.setSelection(ed.getSelectedNode()); - this.setBookmark(ed.createBookmark()); - - ed.blur(); - }, - - updateFromEditor: function updateFromEditor() {}, - redraw: function redraw() {}, - resetFields: function resetFields() { - this.find('.tree-holder').empty(); - } - }); - - $('form.htmleditorfield-linkform').entwine({ - onsubmit: function onsubmit(e) { - this.insertLink(); - this.getDialog().close(); - return false; - }, - resetFields: function resetFields() { - this._super(); - - this[0].reset(); - }, - redraw: function redraw() { - this._super(); - - var linkType = this.find(':input[name=LinkType]:checked').val(); - - this.addAnchorSelector(); - - this.resetFileField(); - - this.find('.step2').nextAll('.field').not('.field[id$="' + linkType + '_Holder"]').hide(); - this.find('.field[id$="LinkType_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - this.find('.field[id$="' + linkType + '_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - - if (linkType == 'internal' || linkType == 'anchor') { - this.find('.field[id$="Anchor_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - - if (linkType == 'email') { - this.find('.field[id$="Subject_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } else { - this.find('.field[id$="TargetBlank_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - - if (linkType == 'anchor') { - this.find('.field[id$="AnchorSelector_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - } - this.find('.field[id$="Description_Holder"]').attr('style', 'display: -webkit-flex; display: flex'); - }, - - getLinkAttributes: function getLinkAttributes() { - var href, - target = null, - subject = this.find(':input[name=Subject]').val(), - anchor = this.find(':input[name=Anchor]').val(); - - if (this.find(':input[name=TargetBlank]').is(':checked')) { - target = '_blank'; - } - - switch (this.find(':input[name=LinkType]:checked').val()) { - case 'internal': - href = '[sitetree_link,id=' + this.find(':input[name=internal]').val() + ']'; - - if (anchor) { - href += '#' + anchor; - } - - break; - - case 'anchor': - href = '#' + anchor; - break; - - case 'file': - var fileid = this.find('.ss-uploadfield .ss-uploadfield-item').attr('data-fileid'); - href = fileid ? '[file_link,id=' + fileid + ']' : ''; - break; - - case 'email': - href = 'mailto:' + this.find(':input[name=email]').val(); - if (subject) { - href += '?subject=' + encodeURIComponent(subject); - } - target = null; - break; - - default: - href = this.find(':input[name=external]').val(); - - if (href.indexOf('://') == -1) href = 'http://' + href; - break; - } - - return { - href: href, - target: target, - title: this.find(':input[name=Description]').val() - }; - }, - insertLink: function insertLink() { - this.modifySelection(function (ed) { - ed.insertLink(this.getLinkAttributes()); - }); - }, - removeLink: function removeLink() { - this.modifySelection(function (ed) { - ed.removeLink(); - }); - - this.resetFileField(); - this.close(); - }, - - resetFileField: function resetFileField() { - var fileField = this.find('.ss-uploadfield[id$="file_Holder"]'), - fileUpload = fileField.data('fileupload'), - currentItem = fileField.find('.ss-uploadfield-item[data-fileid]'); - - if (currentItem.length) { - fileUpload._trigger('destroy', null, { context: currentItem }); - fileField.find('.ss-uploadfield-addfile').removeClass('borderTop'); - } - }, - - addAnchorSelector: function addAnchorSelector() { - if (this.find(':input[name=AnchorSelector]').length) return; - - var self = this; - var anchorSelector = $(''); - this.find(':input[name=Anchor]').parent().append(anchorSelector); - - this.updateAnchorSelector(); - - anchorSelector.change(function (e) { - self.find(':input[name="Anchor"]').val($(this).val()); - }); - }, - - getAnchors: function getAnchors() { - var linkType = this.find(':input[name=LinkType]:checked').val(); - var dfdAnchors = $.Deferred(); - - switch (linkType) { - case 'anchor': - var collectedAnchors = []; - var ed = this.getEditor(); - - - if (ed) { - var raw = ed.getContent().match(/\s+(name|id)\s*=\s*(["'])([^\2\s>]*?)\2|\s+(name|id)\s*=\s*([^"']+)[\s +>]/gim); - if (raw && raw.length) { - for (var i = 0; i < raw.length; i++) { - var indexStart = raw[i].indexOf('id=') == -1 ? 7 : 5; - collectedAnchors.push(raw[i].substr(indexStart).replace(/"$/, '')); - } - } - } - - dfdAnchors.resolve(collectedAnchors); - break; - - case 'internal': - var pageId = this.find(':input[name=internal]').val(); - - if (pageId) { - $.ajax({ - url: $.path.addSearchParams(this.attr('action').replace('LinkForm', 'getanchors'), { 'PageID': parseInt(pageId) }), - success: function success(body, status, xhr) { - dfdAnchors.resolve($.parseJSON(body)); - }, - error: function error(xhr, status) { - dfdAnchors.reject(xhr.responseText); - } - }); - } else { - dfdAnchors.resolve([]); - } - break; - - default: - dfdAnchors.reject(_i18n2.default._t('HtmlEditorField.ANCHORSNOTSUPPORTED', 'Anchors are not supported for this link type.')); - break; - } - - return dfdAnchors.promise(); - }, - - updateAnchorSelector: function updateAnchorSelector() { - var self = this; - var selector = this.find(':input[name=AnchorSelector]'); - var dfdAnchors = this.getAnchors(); - - selector.empty(); - selector.append($('')); - - dfdAnchors.done(function (anchors) { - selector.empty(); - selector.append($('')); - - if (anchors) { - for (var j = 0; j < anchors.length; j++) { - selector.append($('')); - } - } - }).fail(function (message) { - selector.empty(); - selector.append($('')); - }); - - if ($.browser.msie) selector.hide().show(); - }, - - updateFromEditor: function updateFromEditor() { - var htmlTagPattern = /<\S[^><]*>/g, - fieldName, - data = this.getCurrentLink(); - - if (data) { - for (fieldName in data) { - var el = this.find(':input[name=' + fieldName + ']'), - selected = data[fieldName]; - - if (typeof selected == 'string') selected = selected.replace(htmlTagPattern, ''); - - if (el.is(':checkbox')) { - el.prop('checked', selected).change(); - } else if (el.is(':radio')) { - el.val([selected]).change(); - } else if (fieldName == 'file') { - el = this.find(':input[name="' + fieldName + '[Uploads][]"]'); - - el = el.parents('.ss-uploadfield'); - - (function attach(el, selected) { - if (!el.getConfig()) { - setTimeout(function () { - attach(el, selected); - }, 50); - } else { - el.attachFiles([selected]); - } - })(el, selected); - } else { - el.val(selected).change(); - } - } - } - }, - - getCurrentLink: function getCurrentLink() { - var selectedEl = this.getSelection(), - href = "", - target = "", - title = "", - action = "insert", - style_class = ""; - - var linkDataSource = null; - if (selectedEl.length) { - if (selectedEl.is('a')) { - linkDataSource = selectedEl; - } else { - linkDataSource = selectedEl = selectedEl.parents('a:first'); - } - } - if (linkDataSource && linkDataSource.length) this.modifySelection(function (ed) { - ed.selectNode(linkDataSource[0]); - }); - - if (!linkDataSource.attr('href')) linkDataSource = null; - - if (linkDataSource) { - href = linkDataSource.attr('href'); - target = linkDataSource.attr('target'); - title = linkDataSource.attr('title'); - style_class = linkDataSource.attr('class'); - href = this.getEditor().cleanLink(href, linkDataSource); - action = "update"; - } - - if (href.match(/^mailto:(.*)$/)) { - return { - LinkType: 'email', - email: RegExp.$1, - Description: title - }; - } else if (href.match(/^(assets\/.*)$/) || href.match(/^\[file_link\s*(?:\s*|%20|,)?id=([0-9]+)\]?(#.*)?$/)) { - return { - LinkType: 'file', - file: RegExp.$1, - Description: title, - TargetBlank: target ? true : false - }; - } else if (href.match(/^#(.*)$/)) { - return { - LinkType: 'anchor', - Anchor: RegExp.$1, - Description: title, - TargetBlank: target ? true : false - }; - } else if (href.match(/^\[sitetree_link(?:\s*|%20|,)?id=([0-9]+)\]?(#.*)?$/i)) { - return { - LinkType: 'internal', - internal: RegExp.$1, - Anchor: RegExp.$2 ? RegExp.$2.substr(1) : '', - Description: title, - TargetBlank: target ? true : false - }; - } else if (href) { - return { - LinkType: 'external', - external: href, - Description: title, - TargetBlank: target ? true : false - }; - } else { - return null; - } - } - }); - - $('form.htmleditorfield-linkform input[name=LinkType]').entwine({ - onclick: function onclick(e) { - this.parents('form:first').redraw(); - this._super(); - }, - onchange: function onchange() { - this.parents('form:first').redraw(); - - var linkType = this.parent().find(':checked').val(); - if (linkType === 'anchor' || linkType === 'internal') { - this.parents('form.htmleditorfield-linkform').updateAnchorSelector(); - } - this._super(); - } - }); - - $('form.htmleditorfield-linkform input[name=internal]').entwine({ - onvalueupdated: function onvalueupdated() { - this.parents('form.htmleditorfield-linkform').updateAnchorSelector(); - this._super(); - } - }); - - $('form.htmleditorfield-linkform :submit[name=action_remove]').entwine({ - onclick: function onclick(e) { - this.parents('form:first').removeLink(); - this._super(); - return false; - } - }); - - $('form.htmleditorfield-mediaform').entwine({ - toggleCloseButton: function toggleCloseButton() { - var updateExisting = Boolean(this.find('.ss-htmleditorfield-file').length); - this.find('.overview .action-delete')[updateExisting ? 'hide' : 'show'](); - }, - onsubmit: function onsubmit() { - this.modifySelection(function (ed) { - this.find('.ss-htmleditorfield-file').each(function () { - $(this).insertHTML(ed); - }); - }); - - this.getDialog().close(); - return false; - }, - updateFromEditor: function updateFromEditor() { - var self = this, - node = this.getSelection(); - - if (node.is('img')) { - var idOrUrl = node.data('id') || node.data('url') || node.attr('src'); - this.showFileView(idOrUrl).done(function (filefield) { - filefield.updateFromNode(node); - self.toggleCloseButton(); - self.redraw(); - }); - } - this.redraw(); - }, - redraw: function redraw(updateExisting) { - this._super(); - - var node = this.getSelection(), - hasItems = Boolean(this.find('.ss-htmleditorfield-file').length), - editingSelected = node.is('img'), - insertingURL = this.hasClass('insertingURL'), - header = this.find('.header-edit'); - - header[hasItems ? 'show' : 'hide'](); - - this.closest('ui-dialog').find('ui-dialog-buttonpane .media-insert').button(hasItems ? 'enable' : 'disable').toggleClass('ui-state-disabled', !hasItems); - - this.find('.htmleditorfield-default-panel')[editingSelected || insertingURL ? 'hide' : 'show'](); - this.find('.htmleditorfield-web-panel')[editingSelected || !insertingURL ? 'hide' : 'show'](); - - var mediaFormHeading = this.find('.htmleditorfield-mediaform-heading.insert'); - - if (editingSelected) { - mediaFormHeading.hide(); - } else if (insertingURL) { - mediaFormHeading.show().text(_i18n2.default._t("HtmlEditorField.INSERTURL")).prepend(''); - - this.find('.htmleditorfield-web-panel input.remoteurl').focus(); - } else { - mediaFormHeading.show().text(_i18n2.default._t("HtmlEditorField.INSERTFROM")).find('.back-button').remove(); - } - - this.find('.htmleditorfield-mediaform-heading.update')[editingSelected ? 'show' : 'hide'](); - this.find('.ss-uploadfield-item-actions')[editingSelected ? 'hide' : 'show'](); - this.find('.ss-uploadfield-item-name')[editingSelected ? 'hide' : 'show'](); - this.find('.ss-uploadfield-item-preview')[editingSelected ? 'hide' : 'show'](); - this.find('.btn-toolbar .media-update')[editingSelected ? 'show' : 'hide'](); - this.find('.ss-uploadfield-item-editform').toggleEditForm(editingSelected); - this.find('.htmleditorfield-from-cms .field.treedropdown').css('left', $('.htmleditorfield-mediaform-heading:visible').outerWidth()); - this.closest('.ui-dialog').addClass('ss-uploadfield-dropzone'); - this.closest('.ui-dialog').find('.ui-dialog-buttonpane .media-insert .ui-button-text').text([editingSelected ? _i18n2.default._t('HtmlEditorField.UPDATE', 'Update') : _i18n2.default._t('HtmlEditorField.INSERT', 'Insert')]); - }, - resetFields: function resetFields() { - this.find('.ss-htmleditorfield-file').remove(); - this.find('.ss-gridfield-items .ui-selected').removeClass('ui-selected'); - this.find('li.ss-uploadfield-item').remove(); - this.redraw(); - - this._super(); - }, - getFileView: function getFileView(idOrUrl) { - return this.find('.ss-htmleditorfield-file[data-id=' + idOrUrl + ']'); - }, - showFileView: function showFileView(idOrUrl) { - var self = this, - params = Number(idOrUrl) == idOrUrl ? { ID: idOrUrl } : { FileURL: idOrUrl }; - - var item = $('
'); - this.find('.content-edit').prepend(item); - - var dfr = $.Deferred(); - - $.ajax({ - url: $.path.addSearchParams(this.attr('action').replace(/MediaForm/, 'viewfile'), params), - success: function success(html, status, xhr) { - var newItem = $(html).filter('.ss-htmleditorfield-file'); - item.replaceWith(newItem); - self.redraw(); - dfr.resolve(newItem); - }, - error: function error() { - item.remove(); - dfr.reject(); - } - }); - - return dfr.promise(); - } - }); - - $('form.htmleditorfield-mediaform div.ss-upload .upload-url').entwine({ - onclick: function onclick() { - var form = this.closest('form'); - - form.addClass('insertingURL'); - form.redraw(); - } - }); - - $('form.htmleditorfield-mediaform .htmleditorfield-mediaform-heading .back-button').entwine({ - onclick: function onclick() { - var form = this.closest('form'); - - form.removeClass('insertingURL'); - form.redraw(); - } - }); - - $('form.htmleditorfield-mediaform .ss-gridfield-items').entwine({ - onselectableselected: function onselectableselected(e, ui) { - var form = this.closest('form'), - item = $(ui.selected); - if (!item.is('.ss-gridfield-item')) return; - form.closest('form').showFileView(item.data('id')); - form.redraw(); - - form.parent().trigger('scroll'); - }, - onselectableunselected: function onselectableunselected(e, ui) { - var form = this.closest('form'), - item = $(ui.unselected); - if (!item.is('.ss-gridfield-item')) return; - form.getFileView(item.data('id')).remove(); - form.redraw(); - } - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform div.ss-assetuploadfield').entwine({ - onfileuploadstop: function onfileuploadstop(e) { - var form = this.closest('form'); - - var editFieldIDs = []; - form.find('div.content-edit').find('div.ss-htmleditorfield-file').each(function () { - editFieldIDs.push($(this).data('id')); - }); - - var uploadedFiles = $('.ss-uploadfield-files', this).children('.ss-uploadfield-item'); - uploadedFiles.each(function () { - var uploadedID = $(this).data('fileid'); - if (uploadedID && $.inArray(uploadedID, editFieldIDs) == -1) { - $(this).remove(); - form.showFileView(uploadedID); - } - }); - - form.parent().trigger('scroll'); - - form.redraw(); - } - - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform input.remoteurl').entwine({ - onadd: function onadd() { - this._super(); - this.validate(); - }, - - onkeyup: function onkeyup() { - this.validate(); - }, - - onchange: function onchange() { - this.validate(); - }, - - getAddButton: function getAddButton() { - return this.closest('.CompositeField').find('button.add-url'); - }, - - validate: function validate() { - var val = this.val(), - orig = val; - - val = $.trim(val); - val = val.replace(/^https?:\/\//i, ''); - if (orig !== val) this.val(val); - - this.getAddButton().button(!!val ? 'enable' : 'disable'); - return !!val; - } - }); - - $('form.htmleditorfield-form.htmleditorfield-mediaform .add-url').entwine({ - getURLField: function getURLField() { - return this.closest('.CompositeField').find('input.remoteurl'); - }, - - onclick: function onclick(e) { - var urlField = this.getURLField(), - container = this.closest('.CompositeField'), - form = this.closest('form'); - - if (urlField.validate()) { - container.addClass('loading'); - form.showFileView('http://' + urlField.val()).done(function () { - container.removeClass('loading'); - - form.parent().trigger('scroll'); - }); - form.redraw(); - } - - return false; - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file').entwine({ - getAttributes: function getAttributes() {}, - - getExtraData: function getExtraData() {}, - - getHTML: function getHTML() { - return $('
').append($('').attr({ href: this.data('url') }).text(this.find('.name').text())).html(); - }, - - insertHTML: function insertHTML(ed) { - ed.replaceContent(this.getHTML()); - }, - - updateFromNode: function updateFromNode(node) {}, - - updateDimensions: function updateDimensions(constrainBy, maxW, maxH) { - var widthEl = this.find(':input[name=Width]'), - heightEl = this.find(':input[name=Height]'), - w = widthEl.val(), - h = heightEl.val(), - aspect; - - if (w && h) { - if (constrainBy) { - aspect = heightEl.getOrigVal() / widthEl.getOrigVal(); - - if (constrainBy == 'Width') { - if (maxW && w > maxW) w = maxW; - h = Math.floor(w * aspect); - } else if (constrainBy == 'Height') { - if (maxH && h > maxH) h = maxH; - w = Math.ceil(h / aspect); - } - } else { - if (maxW && w > maxW) w = maxW; - if (maxH && h > maxH) h = maxH; - } - - widthEl.val(w); - heightEl.val(h); - } - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.image').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find(':input[name=URL]').val(), - 'alt': this.find(':input[name=AltText]').val(), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'title': this.find(':input[name=Title]').val(), - 'class': this.find(':input[name=CSSClass]').val(), - 'data-id': this.find(':input[name=FileID]').val() - }; - }, - getExtraData: function getExtraData() { - return { - 'CaptionText': this.find(':input[name=CaptionText]').val() - }; - }, - getHTML: function getHTML() {}, - - insertHTML: function insertHTML(ed) { - var form = this.closest('form'); - var node = form.getSelection(); - if (!ed) ed = form.getEditor(); - - var attrs = this.getAttributes(), - extraData = this.getExtraData(); - - var replacee = node && node.is('img') ? node : null; - if (replacee && replacee.parent().is('.captionImage')) replacee = replacee.parent(); - - var img = node && node.is('img') ? node : $(''); - img.attr(attrs); - - var container = img.parent('.captionImage'), - caption = container.find('.caption'); - - if (extraData.CaptionText) { - if (!container.length) { - container = $('
'); - } - - container.attr('class', 'captionImage ' + attrs['class']).css('width', attrs.width); - - if (!caption.length) { - caption = $('

').appendTo(container); - } - - caption.attr('class', 'caption ' + attrs['class']).text(extraData.CaptionText); - } else { - container = caption = null; - } - - var replacer = container ? container : img; - - if (replacee && replacee.not(replacer).length) { - replacee.replaceWith(replacer); - } - - if (container) { - container.prepend(img); - } - - if (!replacee) { - ed.repaint(); - ed.insertContent($('
').append(replacer).html(), { skip_undo: 1 }); - } - - ed.addUndo(); - ed.repaint(); - }, - updateFromNode: function updateFromNode(node) { - this.find(':input[name=AltText]').val(node.attr('alt')); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=CSSClass]').val(node.attr('class')); - this.find(':input[name=Width]').val(node.width()); - this.find(':input[name=Height]').val(node.height()); - this.find(':input[name=CaptionText]').val(node.siblings('.caption:first').text()); - this.find(':input[name=FileID]').val(node.data('id')); - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.flash').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find(':input[name=URL]').val(), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'data-fileid': this.find(':input[name=FileID]').val() - }; - }, - getHTML: function getHTML() { - var attrs = this.getAttributes(); - - var el = tinyMCE.activeEditor.plugins.media.dataToImg({ - 'type': 'flash', - 'width': attrs.width, - 'height': attrs.height, - 'params': { 'src': attrs.src }, - 'video': { 'sources': [] } - }); - - return $('
').append(el).html(); - }, - updateFromNode: function updateFromNode(node) {} - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file.embed').entwine({ - getAttributes: function getAttributes() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'src': this.find('.thumbnail-preview').attr('src'), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'class': this.find(':input[name=CSSClass]').val(), - 'alt': this.find(':input[name=AltText]').val(), - 'title': this.find(':input[name=Title]').val(), - 'data-fileid': this.find(':input[name=FileID]').val() - }; - }, - getExtraData: function getExtraData() { - var width = this.find(':input[name=Width]').val(), - height = this.find(':input[name=Height]').val(); - return { - 'CaptionText': this.find(':input[name=CaptionText]').val(), - 'Url': this.find(':input[name=URL]').val(), - 'thumbnail': this.find('.thumbnail-preview').attr('src'), - 'width': width ? parseInt(width, 10) : null, - 'height': height ? parseInt(height, 10) : null, - 'cssclass': this.find(':input[name=CSSClass]').val() - }; - }, - getHTML: function getHTML() { - var el, - attrs = this.getAttributes(), - extraData = this.getExtraData(), - imgEl = $('').attr(attrs).addClass('ss-htmleditorfield-file embed'); - - $.each(extraData, function (key, value) { - imgEl.attr('data-' + key, value); - }); - - if (extraData.CaptionText) { - el = $('

' + extraData.CaptionText + '

').prepend(imgEl); - } else { - el = imgEl; - } - return $('
').append(el).html(); - }, - updateFromNode: function updateFromNode(node) { - this.find(':input[name=AltText]').val(node.attr('alt')); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=Width]').val(node.width()); - this.find(':input[name=Height]').val(node.height()); - this.find(':input[name=Title]').val(node.attr('title')); - this.find(':input[name=CSSClass]').val(node.data('cssclass')); - this.find(':input[name=FileID]').val(node.data('fileid')); - } - }); - - $('form.htmleditorfield-mediaform .ss-htmleditorfield-file .dimensions :input').entwine({ - OrigVal: null, - onmatch: function onmatch() { - this._super(); - - this.setOrigVal(parseInt(this.val(), 10)); - }, - onunmatch: function onunmatch() { - this._super(); - }, - onfocusout: function onfocusout(e) { - this.closest('.ss-htmleditorfield-file').updateDimensions(this.attr('name')); - } - }); - - $('form.htmleditorfield-mediaform .ss-uploadfield-item .ss-uploadfield-item-cancel').entwine({ - onclick: function onclick(e) { - var form = this.closest('form'), - file = this.closest('ss-uploadfield-item'); - form.find('.ss-gridfield-item[data-id=' + file.data('id') + ']').removeClass('ui-selected'); - this.closest('.ss-uploadfield-item').remove(); - form.redraw(); - e.preventDefault(); - } - }); - - $('div.ss-assetuploadfield .ss-uploadfield-item-edit, div.ss-assetuploadfield .ss-uploadfield-item-name').entwine({ - getEditForm: function getEditForm() { - return this.closest('.ss-uploadfield-item').find('.ss-uploadfield-item-editform'); - }, - - fromEditForm: { - onchange: function onchange(e) { - var form = $(e.target); - form.removeClass('edited'); - form.addClass('edited'); - } - }, - - onclick: function onclick(e) { - var editForm = this.getEditForm(); - - if (this.closest('.ss-uploadfield-item').hasClass('ss-htmleditorfield-file')) { - editForm.parent('ss-uploadfield-item').removeClass('ui-state-warning'); - - editForm.toggleEditForm(); - - e.preventDefault(); - - return false; - } - - this._super(e); - } - }); - - $('div.ss-assetuploadfield .ss-uploadfield-item-editform').entwine({ - toggleEditForm: function toggleEditForm(bool) { - var itemInfo = this.prev('.ss-uploadfield-item-info'), - status = itemInfo.find('.ss-uploadfield-item-status'); - var text = ""; - - if (bool === true || bool !== false && this.height() === 0) { - text = _i18n2.default._t('UploadField.Editing', "Editing ..."); - this.height('auto'); - itemInfo.find('.toggle-details-icon').addClass('opened'); - status.removeClass('ui-state-success-text').removeClass('ui-state-warning-text'); - } else { - this.height(0); - itemInfo.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 { - text = _i18n2.default._t('UploadField.CHANGESSAVED', 'Changes Made'); - this.removeClass('edited'); - status.addClass('ui-state-success-text'); - } - } - status.attr('title', text).text(text); - } - }); - - $('form.htmleditorfield-mediaform .field[id$="ParentID_Holder"] .TreeDropdownField').entwine({ - onadd: function onadd() { - this._super(); - - var self = this; - this.bind('change', function () { - var fileList = self.closest('form').find('.grid-field'); - fileList.setState('ParentID', self.getValue()); - fileList.reload(); - }); - } - }); - }); -}); \ No newline at end of file diff --git a/client/dist/js/TinyMCE_SSPlugin.js b/client/dist/js/TinyMCE_SSPlugin.js deleted file mode 100644 index 11f0ab624..000000000 --- a/client/dist/js/TinyMCE_SSPlugin.js +++ /dev/null @@ -1,173 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.TinyMCE_SSPlugin', [], factory); - } else if (typeof exports !== "undefined") { - factory(); - } else { - var mod = { - exports: {} - }; - factory(); - global.ssTinyMCE_SSPlugin = mod.exports; - } -})(this, function () { - 'use strict'; - - (function () { - - var ssbuttons = { - getInfo: function getInfo() { - return { - longname: 'Special buttons for SilverStripe CMS', - author: 'Sam Minnée', - authorurl: 'http://www.siverstripe.com/', - infourl: 'http://www.silverstripe.com/', - version: "1.0" - }; - }, - - init: function init(ed) { - ed.addButton('sslink', { - icon: 'link', - title: 'Insert Link', - cmd: 'sslink' - }); - ed.addMenuItem('sslink', { - icon: 'link', - text: 'Insert Link', - cmd: 'sslink' - }); - ed.addButton('ssmedia', { - icon: 'image', - title: 'Insert Media', - cmd: 'ssmedia' - }); - ed.addMenuItem('ssmedia', { - icon: 'image', - text: 'Insert Media', - cmd: 'ssmedia' - }); - - ed.addCommand('sslink', function (ed) { - jQuery('#' + this.id).entwine('ss').openLinkDialog(); - }); - - ed.addCommand('ssmedia', function (ed) { - jQuery('#' + this.id).entwine('ss').openMediaDialog(); - }); - - ed.on('BeforeExecCommand', function (e) { - var cmd = e.command; - var ui = e.ui; - var val = e.value; - if (cmd == 'mceAdvLink' || cmd == 'mceLink') { - e.preventDefault(); - ed.execCommand('sslink', ui, val); - } else if (cmd == 'mceAdvImage' || cmd == 'mceImage') { - e.preventDefault(); - ed.execCommand('ssmedia', ui, val); - } - }); - - ed.on('SaveContent', function (o) { - var content = jQuery(o.content); - var attrsFn = function attrsFn(attrs) { - return Object.keys(attrs).map(function (name) { - return attrs[name] ? name + '="' + attrs[name] + '"' : null; - }).filter(function (el) { - return el !== null; - }).join(' '); - }; - - content.find('.ss-htmleditorfield-file.embed').each(function () { - var el = jQuery(this); - var attrs = { - width: el.attr('width'), - class: el.attr('cssclass'), - thumbnail: el.data('thumbnail') - }; - var shortCode = '[embed ' + attrsFn(attrs) + ']' + el.data('url') + '[/embed]'; - el.replaceWith(shortCode); - }); - - content.find('img').each(function () { - var el = jQuery(this); - var attrs = { - src: el.attr('src'), - id: el.data('id'), - width: el.attr('width'), - height: el.attr('height'), - class: el.attr('class'), - - title: el.attr('title'), - alt: el.attr('alt') - }; - var shortCode = '[image ' + attrsFn(attrs) + ']'; - el.replaceWith(shortCode); - }); - - o.content = ''; - content.each(function () { - if (this.outerHTML !== undefined) { - o.content += this.outerHTML; - } - }); - }); - ed.on('BeforeSetContent', function (o) { - var matches; - var content = o.content; - var attrFromStrFn = function attrFromStrFn(str) { - return str.match(/([^\s\/'"=,]+)\s*=\s*(('([^']+)')|("([^"]+)")|([^\s,\]]+))/g).reduce(function (coll, val) { - var match = val.match(/^([^\s\/'"=,]+)\s*=\s*(?:(?:'([^']+)')|(?:"([^"]+)")|(?:[^\s,\]]+))$/), - key = match[1], - value = match[2] || match[3] || match[4]; - coll[key] = value; - return coll; - }, {}); - }; - - var shortTagRegex = /\[embed(.*?)\](.+?)\[\/\s*embed\s*\]/gi; - while (matches = shortTagRegex.exec(content)) { - var attrs = attrFromStrFn(matches[1]); - var el; - - el = jQuery('').attr({ - 'src': attrs['thumbnail'], - 'width': attrs['width'], - 'height': attrs['height'], - 'class': attrs['class'], - 'data-url': matches[2] - }).addClass('ss-htmleditorfield-file embed'); - attrs['cssclass'] = attrs['class']; - - Object.keys(attrs).forEach(function (key) { - return el.attr('data-' + key, attrs[key]); - }); - content = content.replace(matches[0], jQuery('
').append(el).html()); - } - - var shortTagRegex = /\[image(.*?)\]/gi; - while (matches = shortTagRegex.exec(content)) { - var attrs = attrFromStrFn(matches[1]); - var el = jQuery('').attr({ - 'src': attrs['src'], - 'width': attrs['width'], - 'height': attrs['height'], - 'class': attrs['class'], - 'alt': attrs['alt'], - 'title': attrs['title'], - 'data-id': attrs['id'] - }); - content = content.replace(matches[0], jQuery('
').append(el).html()); - } - - o.content = content; - }); - } - }; - - tinymce.PluginManager.add("ssbuttons", function (editor) { - ssbuttons.init(editor); - }); - })(); -}); \ No newline at end of file diff --git a/client/dist/js/i18n.js b/client/dist/js/i18n.js deleted file mode 100644 index 2e89eb057..000000000 --- a/client/dist/js/i18n.js +++ /dev/null @@ -1,207 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.i18n', ['exports'], factory); - } else if (typeof exports !== "undefined") { - factory(exports); - } else { - var mod = { - exports: {} - }; - factory(mod.exports); - global.ssI18n = mod.exports; - } -})(this, function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var i18n = function () { - function i18n() { - _classCallCheck(this, i18n); - - this.currentLocale = null; - this.defaultLocale = 'en_US'; - this.lang = {}; - } - - _createClass(i18n, [{ - key: 'setLocale', - value: function setLocale(locale) { - this.currentLocale = locale; - } - }, { - key: 'getLocale', - value: function getLocale() { - return this.currentLocale !== null ? this.currentLocale : this.defaultLocale; - } - }, { - key: '_t', - value: function _t(entity, fallbackString, priority, context) { - var langName = this.getLocale().replace(/_[\w]+/i, ''); - var defaultlangName = this.defaultLocale.replace(/_[\w]+/i, ''); - - if (this.lang && this.lang[this.getLocale()] && this.lang[this.getLocale()][entity]) { - return this.lang[this.getLocale()][entity]; - } else if (this.lang && this.lang[langName] && this.lang[langName][entity]) { - return this.lang[langName][entity]; - } else if (this.lang && this.lang[this.defaultLocale] && this.lang[this.defaultLocale][entity]) { - return this.lang[this.defaultLocale][entity]; - } else if (this.lang && this.lang[defaultlangName] && this.lang[defaultlangName][entity]) { - return this.lang[defaultlangName][entity]; - } else if (fallbackString) { - return fallbackString; - } else { - return ''; - } - } - }, { - key: 'addDictionary', - value: function addDictionary(locale, dict) { - if (typeof this.lang[locale] === 'undefined') { - this.lang[locale] = {}; - } - - for (var entity in dict) { - this.lang[locale][entity] = dict[entity]; - } - } - }, { - key: 'getDictionary', - value: function getDictionary(locale) { - return this.lang[locale]; - } - }, { - key: 'stripStr', - value: function stripStr(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); - } - }, { - key: 'stripStrML', - value: function stripStrML(str) { - var parts = str.split('\n'); - - for (var i = 0; i < parts.length; i += 1) { - parts[i] = stripStr(parts[i]); - } - - return stripStr(parts.join(' ')); - } - }, { - key: 'sprintf', - value: function sprintf(s) { - for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - params[_key - 1] = arguments[_key]; - } - - if (params.length === 0) { - return s; - } - - var regx = new RegExp('(.?)(%s)', 'g'); - - var i = 0; - - return s.replace(regx, function (match, subMatch1, subMatch2, offset, string) { - if (subMatch1 === '%') { - return match; - } - - return subMatch1 + params[i++]; - }); - } - }, { - key: 'inject', - value: function inject(s, map) { - var regx = new RegExp('\{([A-Za-z0-9_]*)\}', 'g'); - - return s.replace(regx, function (match, key, offset, string) { - return map[key] ? map[key] : match; - }); - } - }, { - key: 'detectLocale', - value: function detectLocale() { - var rawLocale; - var detectedLocale; - - rawLocale = jQuery('body').attr('lang'); - - if (!rawLocale) { - var metas = document.getElementsByTagName('meta'); - - for (var i = 0; i < metas.length; i++) { - if (metas[i].attributes['http-equiv'] && metas[i].attributes['http-equiv'].nodeValue.toLowerCase() == 'content-language') { - rawLocale = metas[i].attributes['content'].nodeValue; - } - } - } - - if (!rawLocale) { - rawLocale = this.defaultLocale; - } - - var rawLocaleParts = rawLocale.match(/([^-|_]*)[-|_](.*)/); - - if (rawLocale.length == 2) { - for (var compareLocale in i18n.lang) { - if (compareLocale.substr(0, 2).toLowerCase() == rawLocale.toLowerCase()) { - detectedLocale = compareLocale; - break; - } - } - } else if (rawLocaleParts) { - detectedLocale = rawLocaleParts[1].toLowerCase() + '_' + rawLocaleParts[2].toUpperCase(); - } - - return detectedLocale; - } - }, { - key: 'addEvent', - value: function addEvent(obj, evType, fn, useCapture) { - if (obj.addEventListener) { - obj.addEventListener(evType, fn, useCapture); - return true; - } else if (obj.attachEvent) { - return obj.attachEvent('on' + evType, fn); - } else { - console.log('Handler could not be attached'); - } - } - }]); - - return i18n; - }(); - - var _i18n = new i18n(); - - window.ss = typeof window.ss !== 'undefined' ? window.ss : {}; - window.ss.i18n = window.i18n = _i18n; - - exports.default = _i18n; -}); \ No newline at end of file diff --git a/client/dist/js/i18nx.js b/client/dist/js/i18nx.js deleted file mode 100644 index a715a4266..000000000 --- a/client/dist/js/i18nx.js +++ /dev/null @@ -1,105 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.i18nx', ['exports'], factory); - } else if (typeof exports !== "undefined") { - factory(exports); - } else { - var mod = { - exports: {} - }; - factory(mod.exports); - global.ssI18nx = mod.exports; - } -})(this, function (exports) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var i18nx = function () { - function i18nx() { - _classCallCheck(this, i18nx); - - this.currentLocale = 'en_US'; - this.defaultLocale = 'en_US'; - } - - _createClass(i18nx, [{ - key: '_t', - value: function _t(entity, fallbackString, priority, context) { - return fallbackString; - } - }, { - key: 'sprintf', - value: function sprintf(s) { - for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - params[_key - 1] = arguments[_key]; - } - - if (params.length === 0) { - return s; - } - - var regx = new RegExp('(.?)(%s)', 'g'); - - var i = 0; - - return s.replace(regx, function (match, subMatch1, subMatch2, offset, string) { - if (subMatch1 === '%') { - return match; - } - - return subMatch1 + params[i += 1]; - }); - } - }, { - key: 'inject', - value: function inject(s, map) { - var regx = new RegExp('\{([A-Za-z0-9_]*)\}', 'g'); - - return s.replace(regx, function (match, key, offset, string) { - return map[key] ? map[key] : match; - }); - } - }, { - key: 'addDictionary', - value: function addDictionary() {} - }, { - key: 'getDictionary', - value: function getDictionary() {} - }]); - - return i18nx; - }(); - - ; - - var _i18nx = new i18nx(); - - exports.default = _i18nx; -}); \ No newline at end of file diff --git a/client/dist/js/jQuery.js b/client/dist/js/jQuery.js deleted file mode 100644 index ac652ffe3..000000000 --- a/client/dist/js/jQuery.js +++ /dev/null @@ -1,19 +0,0 @@ -(function (global, factory) { - if (typeof define === "function" && define.amd) { - define('ss.jQuery', ['module'], factory); - } else if (typeof exports !== "undefined") { - factory(module); - } else { - var mod = { - exports: {} - }; - factory(mod); - global.ssJQuery = mod.exports; - } -})(this, function (module) { - 'use strict'; - - var jQuery = typeof window.jQuery !== 'undefined' ? window.jQuery : null; - - module.exports = jQuery; -}); \ No newline at end of file diff --git a/client/dist/styles/AssetUploadField.css b/client/dist/styles/AssetUploadField.css deleted file mode 100644 index 1fc239a7e..000000000 --- a/client/dist/styles/AssetUploadField.css +++ /dev/null @@ -1,3 +0,0 @@ -.ss-uploadfield-view-allowed-extensions{margin-top:-36px;float:right}.ss-uploadfield-view-allowed-extensions .toggle-content{opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1;padding:20px 16px;width:280px;right:-280px;top:0;bottom:0;border-left:1px solid #C1C7CC;background:#f6f7f8;-webkit-transition:all .3s linear;-o-transition:all .3s linear;transition:all .3s linear}.ss-uploadfield-view-allowed-extensions .toggle-content h4{margin:0 0 6px;padding-right:20px}.ss-uploadfield-view-allowed-extensions.active .toggle-content{right:0;opacity:1}.ss-uploadfield-view-allowed-extensions .toggle{cursor:pointer;font-size:16px;float:right;color:#66727d;width:16px;height:18px;overflow:hidden}.ss-uploadfield-view-allowed-extensions .toggle:hover,.ss-uploadfield-view-allowed-extensions .toggle:active,.ss-uploadfield-view-allowed-extensions .toggle:focus{text-decoration:none;color:#4f5861}.backlink{padding-left:12px}body.cms.ss-uploadfield-edit-iframe,.composite.ss-assetuploadfield .details fieldset{overflow:auto;background:#E2E2E2}body.cms.ss-uploadfield-edit-iframe span.readonly,.composite.ss-assetuploadfield .details fieldset span.readonly{font-style:italic;color:#9ba5ae;text-shadow:0px 1px 0px #fff}.composite.ss-assetuploadfield .details fieldset{padding:1.5385rem 1.5385rem;background-color:#f6f7f8}.ss-assetuploadfield .CompositeField{padding:1.5385rem 1.5385rem;margin:-1.5385rem -1.5385rem}.ss-assetuploadfield .CompositeField.dimensions.form-group{margin:0;padding:0}.ss-assetuploadfield .CompositeField.dimensions.form-group>.dimensions{padding-left:0;padding-right:0}.ss-assetuploadfield::after{content:"";visibility:hidden}.ss-assetuploadfield h3{border-bottom:1px solid rgba(201,205,206,0.8);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.8);box-shadow:0 1px 0 rgba(255,255,255,0.8);margin:0 0 8px;padding:0 0 7px;clear:both;position:relative}.ss-assetuploadfield .fileOverview{clear:both;margin-top:10px;position:relative}.ss-assetuploadfield .fileOverview .uploadStatus:after{content:".";display:block;height:0;clear:both;visibility:hidden}*:first-child .ss-assetuploadfield .fileOverview .uploadStatus{zoom:1}.ss-assetuploadfield .fileOverview .uploadStatus .state{float:left;font-size:16px;font-weight:bold;line-height:1.1em}.ss-assetuploadfield .fileOverview .uploadStatus .details{opacity:0.9;float:right}.ss-assetuploadfield .ss-uploadfield-item-actions.edit-all .ss-uploadfield-item-edit-all{float:right;margin:-8px 0 0;padding:0;background:none;border:0;-webkit-box-shadow:none;box-shadow:none;color:#66727d}.ss-assetuploadfield .ss-uploadfield-item-actions.edit-all .ss-uploadfield-item-edit-all:hover{color:#7f8c97}.ss-assetuploadfield .ss-uploadfield-files{margin:0;padding:0;clear:both}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item{-webkit-background-clip:padding-box;background-clip:padding-box;margin:0 0 5px;padding:0;position:relative;margin-left:-1.5385rem;margin-right:-1.5385rem}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error{height:32px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info{height:30px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-name{position:absolute}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item .info{position:relative;padding:7px;overflow:hidden;background-color:#FFBE66;border:1px solid #FF9300}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview{position:absolute;height:30px;width:40px;overflow:hidden;z-index:1;top:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-preview img[src$="_32.png"]{width:auto;height:26px;margin:2px 0 0 2px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-info{overflow:hidden;background-color:#5db4df;background-image:-webkit-gradient(linear, left top, left bottom, from(#5db4df), color-stop(8%, #5db1dd), color-stop(50%, #439bcb), color-stop(54%, #3f99cd), color-stop(96%, #207db6), to(#1e7cba));background-image:-webkit-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%);background-image:-o-linear-gradient(top, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%);background-image:linear-gradient(to bottom, #5db4df 0%, #5db1dd 8%, #439bcb 50%, #3f99cd 54%, #207db6 96%, #1e7cba 100%)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info{background-color:#c11f1d;padding-right:130px;background-image:-webkit-gradient(linear, left top, left bottom, from(#c11f1d), color-stop(4%, #bf1d1b), color-stop(8%, #b71b1c), color-stop(15%, #b61e1d), color-stop(27%, #b11d1d), color-stop(31%, #ab1d1c), color-stop(42%, #a51b1b), color-stop(46%, #9f1b19), color-stop(50%, #9f1b19), color-stop(54%, #991c1a), color-stop(58%, #971a18), color-stop(62%, #911b1b), color-stop(65%, #911b1b), color-stop(88%, #7e1816), color-stop(92%, #771919), to(#731817));background-image:-webkit-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);background-image:-o-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);background-image:linear-gradient(to bottom, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%);width:100%}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name{cursor:default;background:#bcb9b9;background:rgba(201,198,198,0.9)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name{text-shadow:0px 1px 0px rgba(255,255,255,0.7)}.ss-assetuploadfield .ss-uploadfield-files .ui-state-warning .ss-uploadfield-item-info{background-color:#E9D104;background-image:-webkit-gradient(linear, left top, left bottom, from(#e5d33b), color-stop(8%, #e2ce24), color-stop(50%, #d1be1c), color-stop(54%, #d1bd1c), color-stop(96%, #d09a1a), to(#cf871a));background-image:-webkit-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%);background-image:-o-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%);background-image:linear-gradient(to bottom, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name{position:relative;z-index:1;margin:3px 0 3px 50px;width:50%;color:#7f8c97;background:#eeeded;background:rgba(255,255,255,0.8);border-radius:3px;line-height:24px;height:22px;padding:0 5px;text-align:left;cursor:pointer;display:table;table-layout:fixed}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .name{text-shadow:0px 1px 0px rgba(255,255,255,0.5);display:inline;float:left;max-width:50%;font-weight:normal;padding:0 5px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status{position:relative;float:right;padding:0 0 0 5px;max-width:30%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;text-shadow:0px 1px 0px rgba(255,255,255,0.5)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-error-text{text-shadow:0px 1px 0px rgba(255,255,255,0.6);color:#c00}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-warning-text{color:#b7a403}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-success-text{color:#1F9433}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions{position:absolute;top:0;right:0;left:0;z-index:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button{background:none;border:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;color:#fff;float:right}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-delete{display:none}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning{border-radius:0;border-left:1px solid rgba(255,255,255,0.2);margin-top:0px;cursor:pointer;opacity:0.9}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel:hover,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning:hover{opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-cancel .ui-icon,.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-overwrite-warning .ui-icon{display:block;margin:0;position:realtive;top:8px}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit{opacity:0.9;padding-top:1px;padding-bottom:0;height:100%;border-radius:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit.ui-state-hover{background:none;opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit.ui-state-hover span.toggle-details{opacity:1}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details{opacity:0.9;margin-left:3px;display:inline-block;width:5px;height:100%;cursor:pointer}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details .toggle-details-icon{margin-top:1px;display:inline-block;width:8px;height:6px;vertical-align:middle}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button.ss-uploadfield-item-edit span.toggle-details .toggle-details-icon.opened{margin-top:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-actions .ss-ui-button .ui-icon{display:none}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress{width:100%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress div{height:30px;padding:0;margin:0;overflow:hidden;width:100%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress .ss-uploadfield-item-progressbar{background-color:#92a6b3;background-image:-webkit-gradient(linear, left top, left bottom, from(#92a6b3), color-stop(11%, #90aab8), color-stop(22%, #96b1bf), color-stop(33%, #9eb4c1), color-stop(44%, #a7bac7), to(#c1d5dc));background-image:-webkit-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:-o-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:linear-gradient(to bottom, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%)}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-progress .ss-uploadfield-item-progressbarvalue{width:0;background:#60b3dd url(../images/progressbar_blue.gif) repeat left center}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform{height:0;overflow:hidden;clear:both}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{width:100%;height:22px;padding:15px 0;background:url(../../admin/client/dist/images/spinner.gif) no-repeat 50% 50%}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading iframe{padding-top:0;margin-top:37px;border:0}.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform iframe{width:100%;padding:16px;background:#E2E2E2}.ss-assetuploadfield .ss-uploadfield-addfile .ss-uploadfield-item-info>span{display:block;padding:0;line-height:1;color:#9ba5ae;margin-top:-12px}.ss-uploadfield-fromcomputer .ss-insert-media .ss-assetuploadfield .ss-uploadfield-addfile{margin:0 12px 0 0}.ss-uploadfield-dropzone::after{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(236,239,241,0.9) url("../../admin/client/dist/images/drag_drop_opt.svg") center center no-repeat;-webkit-background-size:312px 325px;background-size:312px 325px;z-index:100}.ss-uploadfield-dropzone.active.hover::after{content:''}@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{background-image:url(../../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9Bc3NldFVwbG9hZEZpZWxkLnNjc3MiLCIuLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9sZWdhY3kvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L3RoZW1lcy9fZGVmYXVsdC5zY3NzIiwiX2VsZW1lbnRNaXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSx3Q0FDQyxpQkFDQSxXQUFhLENBRmQsd0RBS0UsVUFDQSw4QkFBQSxBQUNBLHNCQUFBLGtCQUNBLFVBQ0Esa0JBQ0EsWUFDQSxhQUNBLE1BQ0EsU0FDQSw4QkFDQSxtQkFDQSxrQ0FBQSxBQUEyQiw2QkFBM0IsQUFBMkIseUJBQUEsQ0FoQjdCLDJEQW1CRyxlQUNBLGtCQUFvQixDQXBCdkIsK0RBeUJFLFFBQ0EsU0FBVyxDQTFCYixnREE4QkUsZUFDQSxlQUNBLFlBQ0EsY0FDQSxXQUNBLFlBQ0EsZUFBaUIsQ0FwQ25CLG1LQXlDRyxxQkFDQSxhQUFhLENBQ2IsVUFLRixpQkFBbUIsQ0FDbkIscUZBR0EsY0FDQSxrQkFBb0IsQ0FGckIsaUhBS0Usa0JBQ0EsY0FDQSw0QkFBOEIsQ0FDOUIsaURBS0QsNEJBQ0Esd0JDeEJ3QixDRHlCeEIscUNBS0MsNEJBQ0EsNEJBQVEsQ0FKViwyREFPRyxTQUNBLFNBQVcsQ0FSZCx1RUFXSSxlQUNBLGVBQWlCLENBWnJCLDRCQXNCSSxXQUNBLGlCQUFtQixDQXZCdkIsd0JBMkJFLDhDQUNBLGlEQUFBLEFBQ0EseUNBQUEsZUFDQSxnQkFDQSxXQUNBLGlCQUFtQixDQWhDckIsbUNBb0NFLFdBQ0EsZ0JBQ0EsaUJBQW1CLENBdENyQix1REV4Q0UsWUFDQSxjQUNBLFNBQ0EsV0FDQSxpQkFBbUIsQ0FDbkIsK0RBQ2dCLE1BQU8sQ0ZrQ3pCLHdEQTRDSSxXQUNBLGVBQ0EsaUJBQ0Es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LHlCQUFBLENBQzNCLENBQUEiLCJmaWxlIjoibGVnYWN5L0Fzc2V0VXBsb2FkRmllbGQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETyB3ZSBuZWVkIGEgc2VwZXJhdGVkIGZpbGUgZm9yIHN0eWxlcyB0aGF0IGFyZSB1c2VkIGluIGJvdGggY21zIGFuZCBmcm9udCBlbmQgKHN1Y2ggYXMgYnV0dG9ucylcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hZG1pbi9jbGllbnQvc3JjL3N0eWxlcy9sZWdhY3kvdGhlbWVzL2RlZmF1bHQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS9fbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi9fZWxlbWVudE1peGluc1wiO1xuXG4uc3MtdXBsb2FkZmllbGQtdmlldy1hbGxvd2VkLWV4dGVuc2lvbnMge1xuXHRtYXJnaW4tdG9wOiAtMzZweDtcblx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdC50b2dnbGUtY29udGVudCB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBhZGRpbmc6IDIuNSokZ3JpZC15IDIqJGdyaWQteDtcblx0XHR3aWR0aDogMjgwcHg7XG5cdFx0cmlnaHQ6IC0yODBweDtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLXNlcGFyYXRvcjtcblx0XHRiYWNrZ3JvdW5kOiAkdGFiLXBhbmVsLXRleHR1cmUtY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7XG5cblx0XHRoNCB7XG5cdFx0XHRtYXJnaW46IDAgMCA2cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuYWN0aXZlIC50b2dnbGUtY29udGVudCB7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdC50b2dnbGUge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblx0XHR3aWR0aDogMTZweDtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvci10ZXh0LCAxMCUpO1xuXHRcdH1cblx0fVxufVxuXG4uYmFja2xpbmsge1xuXHRwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbmJvZHkuY21zLnNzLXVwbG9hZGZpZWxkLWVkaXQtaWZyYW1lIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6ICNFMkUyRTI7XG5cblx0c3Bhbi5yZWFkb25seSB7XG5cdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0Y29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgMjAlKTtcblx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggI2ZmZjtcblx0fVxufVxuXG4uY29tcG9zaXRlLnNzLWFzc2V0dXBsb2FkZmllbGQgLmRldGFpbHMgZmllbGRzZXQge1xuXHRAZXh0ZW5kIGJvZHkuY21zLnNzLXVwbG9hZGZpZWxkLWVkaXQtaWZyYW1lO1xuXHRwYWRkaW5nOiAkcGFuZWwtcGFkZGluZy15ICRwYW5lbC1wYWRkaW5nLXg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLW1haW47XG59XG5cbi5zcy1hc3NldHVwbG9hZGZpZWxkIHtcblxuXHQuQ29tcG9zaXRlRmllbGQge1xuXHRcdHBhZGRpbmc6ICRwYW5lbC1wYWRkaW5nLXkgJHBhbmVsLXBhZGRpbmcteDtcblx0XHRtYXJnaW46ICN7LSRwYW5lbC1wYWRkaW5nLXl9ICN7LSRwYW5lbC1wYWRkaW5nLXh9O1xuXG5cdFx0Ji5kaW1lbnNpb25zLmZvcm0tZ3JvdXAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0PiAuZGltZW5zaW9ucyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICA+IGZpZWxkc2V0IHtcbiAgICBAZXh0ZW5kIC5jbGVhcmZpeDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG5cdGgzIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXNoYWRvdy1saWdodDtcblx0XHRib3gtc2hhZG93OiAwIDFweCAwIGxpZ2h0ZW4oJGNvbG9yLXNoYWRvdy1saWdodCwgOTUlKTtcblx0XHRtYXJnaW46IDAgMCA4cHg7XG5cdFx0cGFkZGluZzogMCAwIDdweDtcblx0XHRjbGVhcjogYm90aDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQuZmlsZU92ZXJ2aWV3IHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC51cGxvYWRTdGF0dXN7XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdFx0LnN0YXRle1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMWVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuZGV0YWlscyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zcy11cGxvYWRmaWVsZC1pdGVtLWFjdGlvbnMuZWRpdC1hbGx7XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdC1hbGwge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luOiAtOHB4IDAgMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXRleHQsIDEwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGNsZWFyOmJvdGg7XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdFx0bWFyZ2luOiAwIDAgNXB4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtJHBhbmVsLXBhZGRpbmcteDtcblx0XHRcdG1hcmdpbi1yaWdodDogLSRwYW5lbC1wYWRkaW5nLXg7XG5cblx0XHRcdCYudWktc3RhdGUtZXJyb3Ige1xuXHRcdFx0XHRoZWlnaHQ6IDMycHg7IC8vIGxpbWl0IGhlaWdodCB0byBvbmx5IGVycm9yZWQgdXBsb2FkXG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5pbmZvIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nOiA3cHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkJFNjY7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNGRjkzMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tcHJldmlldyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ly8gUHJldmVudCBpY29ucyB0b3VjaGluZyBlZGdlXG5cbiBcdFx0XHRpbWdbc3JjJD1cIl8zMi5wbmdcIl0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICBtYXJnaW46IDJweCAwIDAgMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM1ZGI0ZGY7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzVkYjRkZiAwJSwjNWRiMWRkIDglLCM0MzliY2IgNTAlLCMzZjk5Y2QgNTQlLCMyMDdkYjYgOTYlLCMxZTdjYmEgMTAwJSk7XG5cdFx0fVxuXG5cdFx0LnVpLXN0YXRlLWVycm9yIC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MxMWYxZDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEzMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICNjMTFmMWQgMCUsI2JmMWQxYiA0JSwjYjcxYjFjIDglLCNiNjFlMWQgMTUlLCNiMTFkMWQgMjclLCNhYjFkMWMgMzElLCNhNTFiMWIgNDIlLCM5ZjFiMTkgNDYlLCM5ZjFiMTkgNTAlLCM5OTFjMWEgNTQlLCM5NzFhMTggNTglLCM5MTFiMWIgNjIlLCM5MTFiMWIgNjUlLCM3ZTE4MTYgODglLCM3NzE5MTkgOTIlLCM3MzE4MTcgMTAwJSk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1idXR0b24tZGlzYWJsZWQsMjAlKTsgLy9mb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IHJnYmFcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGNvbG9yLWJ1dHRvbi1kaXNhYmxlZCwgMTUlKSwwLjkpO1xuXG5cdFx0XHRcdC5uYW1lIHtcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgjZmZmLCAwLjcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnVpLXN0YXRlLXdhcm5pbmcgLnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gYm90dG9tLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG9yLXdhcm5pbmcsIDEwJSksIDIwJSkgIDAlLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG9yLXdhcm5pbmcsIDUlKSwgMjAlKSAgOCUsXG5cdFx0XHRcdGRlc2F0dXJhdGUoJGNvbG9yLXdhcm5pbmcsIDIwJSkgIDUwJSxcblx0XHRcdFx0ZGVzYXR1cmF0ZShkYXJrZW4obWl4KCRjb2xvci13YXJuaW5nLCAkY29sb3ItYnV0dG9uLWRlc3RydWN0aXZlLCA5OSUpLDAlKSwgMjAlKSAgNTQlLFxuXHRcdFx0XHRkZXNhdHVyYXRlKGRhcmtlbihtaXgoJGNvbG9yLXdhcm5pbmcsICRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmUsIDgwJSksMSUpLCAyMCUpICA5NiUsXG5cdFx0XHRcdGRlc2F0dXJhdGUoZGFya2VuKG1peCgkY29sb3Itd2FybmluZywgJGNvbG9yLWJ1dHRvbi1kZXN0cnVjdGl2ZSwgNzAlKSwyJSksIDIwJSkgMTAwJVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1uYW1lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRtYXJnaW46IDNweCAwIDNweCA1MHB4O1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdGNvbG9yOiBsaWdodGVuKCRjb2xvci10ZXh0LCAxMCUpO1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJ1dHRvbi1kaXNhYmxlZDsgLy9mb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IHJnYmFcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC44KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ly9kaXNwbGF5OnRhYmxlLCBhbmQgdGFibGUtbGF5b3V0OmZpeGVkIGFsbG93cyB1cyB0byB1c2UgcGVyY2VudGFnZXMgd2l0aCB0ZXh0LW92ZXJmbG93XG5cdFx0XHRkaXNwbGF5OnRhYmxlO1xuXHRcdFx0dGFibGUtbGF5b3V0OmZpeGVkO1xuXG5cdFx0XHQubmFtZSB7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAwcHggMXB4IDBweCByZ2JhKCNmZmYsIDAuNSk7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDVweCAwIDA7XG5cdFx0XHRcdEBpbmNsdWRlIGhpZGUtdGV4dC1vdmVyZmxvdztcblx0XHRcdH1cblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXR1cyB7XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwIDVweDtcblx0XHRcdFx0bWF4LXdpZHRoOjMwJTtcblx0XHRcdFx0QGluY2x1ZGUgaGlkZS10ZXh0LW92ZXJmbG93O1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDFweCAwcHggcmdiYSgjZmZmLCAwLjUpO1xuXG5cdFx0XHRcdCYudWktc3RhdGUtZXJyb3ItdGV4dCB7XG5cdFx0XHRcdFx0dGV4dC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoI2ZmZiwgMC42KTtcblx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmUsIDEwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji51aS1zdGF0ZS13YXJuaW5nLXRleHQge1xuXHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXdhcm5pbmcsIDEwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji51aS1zdGF0ZS1zdWNjZXNzLXRleHQge1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYnV0dG9uLWNvbnN0cnVjdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1hY3Rpb25zIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHRAaW5jbHVkZSBzcy11cGxvYWRmaWVsZC1hY3Rpb24tYnV0dG9ucztcblx0XHR9XG5cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzcyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0ZGl2IHtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tcHJvZ3Jlc3NiYXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTJhNmIzO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjOTJhNmIzIDAlLCM5MGFhYjggMTElLCM5NmIxYmYgMjIlLCM5ZWI0YzEgMzMlLCNhN2JhYzcgNDQlLCNjMWQ1ZGMgMTAwJSk7XG5cdFx0XHR9XG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzc2JhcnZhbHVlIHtcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM2MGIzZGQgdXJsKC4uL2ltYWdlcy9wcm9ncmVzc2Jhcl9ibHVlLmdpZikgcmVwZWF0IGxlZnQgY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWVkaXRmb3JtIHtcblx0XHRcdC8qIGRvbid0IHVzZSBkaXNwbGF5IG5vbmUsIGZvciBpdCB3aWxsIGJyZWFrIGpRdWVyeSgnaWZyYW1lJykuY29udGVudHMoKS5oZWlnaHQoKSAqL1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGNsZWFyOiBib3RoO1xuXG5cdFx0XHQmLmxvYWRpbmcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgNTAlO1xuXG5cdFx0XHRcdGlmcmFtZSB7XG5cdFx0XHRcdFx0LyogT2xkIElFIG5lZWRzIHRoaXMgb3IgaXQnbGwgZ2l2ZSB0aGUgaWZyYW1lIGEgd2hpdGUgYmFja2dyb3VuZCwgY292ZXJpbmcgdGhlIHNwaW5uZXIgKi9cblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzN3B4O1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZnJhbWUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogJGdyaWQteCAqIDI7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNFMkUyRTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNzLXVwbG9hZGZpZWxkLWFkZGZpbGUge1xuXG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0taW5mbyA+IHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMjAlKTtcblx0XHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdH1cblxuXHRcdC5zcy11cGxvYWRmaWVsZC1mcm9tY29tcHV0ZXIgLnNzLWluc2VydC1tZWRpYSAmIHtcblx0XHRcdG1hcmdpbjogMCAxMnB4IDAgMDtcblx0XHR9XG5cdH1cbn1cblxuLnNzLXVwbG9hZGZpZWxkLWRyb3B6b25lIHtcblx0Jjo6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyMzYsIDIzOSwgMjQxLCAuOSkgdXJsKCcuLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvZHJhZ19kcm9wX29wdC5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDMxMnB4IDMyNXB4O1xuXHRcdHotaW5kZXg6IDEwMDtcblx0fVxuXG5cdCYuYWN0aXZlLmhvdmVyOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdH1cbn1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFwiQDJ4XCIgbWVkaWEgcXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1lZGlhXG5cdG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuXHRvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuXHRvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG5cblx0LyogTG9hZGluZyBzcGlubmVyICovXG5cdC5zcy1hc3NldHVwbG9hZGZpZWxkIHtcblx0XHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdGZvcm0ge1xuXHRcdFx0XHQmLmxvYWRpbmcge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lckAyeC5naWYpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogNDNweCA0M3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGtleXMgZm9yIGJvb3RzdHJhcCB2YXJpYWJsZXMsIHRoZSBjb21tZW50ZWQgY29kZSBpcyBib290c3RyYXAncyBkZWZhdWx0IHZhbHVlcy5cbi8vIENvbW1lbnRlZCBsaW5lcyBpbmRpY2F0ZSB0aGF0IHRoZSBkZWZhdWx0IEJvb3RzdHJhcCB2YWx1ZXMgYXJlIGJlaW5nIHVzZWQuXG4vLyBBbGwgdmFyaWFibGVzIHdoaWNoIGFyZSB1bmNvbW1lbnRlZCB0aGUgdmFsdWVzIHdpbGwgYmUgaW4gdXNlIHNvIGJlIGNhdXRpb3VzIHdoZW4gYWRqdXN0aW5nIHRoZWlyIHZhbHVlcy4uXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcblxuLy8gR2VuZXJhbCB2YXJpYWJsZSBzdHJ1Y3R1cmVcbi8vIFZhcmlhYmxlIGZvcm1hdCBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1tb2RpZmllci1zdGF0ZS1wcm9wZXJ0eWAgb3JkZXIuXG5cblxuLy8gQ29sb3JzXG4vLyBHcmF5c2NhbGUgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cblxuJGdyYXktZGFyazogIzRmNTg2MTsgLy8gVXNlZCBmb3IgdGV4dFxuJGdyYXk6IGxpZ2h0ZW4oJGdyYXktZGFyaywgMiUpO1xuJGdyYXktbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktZGFyaywgNTAlKTtcbiRncmF5LWxpZ2h0ZXI6IGxpZ2h0ZW4oJGdyYXktZGFyaywgNTclKTtcbi8vICRncmF5LWxpZ2h0ZXN0OiAjZjdmN2Y5O1xuJGdyYXktZGFya2VyOiBkYXJrZW4oJGdyYXktZGFyaywgMTAlKTtcbiRncmF5LWRhcmtlc3Q6IGRhcmtlbigkZ3JheS1kYXJrLCAyMCUpO1xuJHdoaXRlOiAjZmZmOyAvLyBOZXZlciBjaGFuZ2UsIGNyZWF0ZSBuZXcgdmFyaWFibGUgaWYgbmVlZGVkXG4kYmxhY2s6ICMwMDA7IC8vIE5ldmVyIGNoYW5nZVxuXG4kYnJhbmQtc2Vjb25kYXJ5OiAjMDA1YTkzO1xuJGJyYW5kLXByaW1hcnk6ICMyOWFiZTI7XG4kYnJhbmQtc3VjY2VzczogIzNmYTE0Mjtcbi8vICRicmFuZC1pbmZvOiAjNWJjMGRlO1xuLy8gJGJyYW5kLXdhcm5pbmc6ICNmMGFkNGU7XG4kYnJhbmQtZGFuZ2VyOiAjZDQwNDA0O1xuXG4vLyBCYWNrZ3JvdW5kc1xuJGJhY2tncm91bmQtbWFpbjogI2Y2ZjdmODtcbiRiYWNrZ3JvdW5kLWRhcmtlcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDIpO1xuXG5cbi8vIEJvcmRlcnNcbiRib3JkZXItY29sb3ItbGlnaHRlcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDIpO1xuJGJvcmRlci1jb2xvci1saWdodDogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDYpO1xuJGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDEwKTtcbiRib3JkZXItY29sb3ItZGFyazogZGFya2VuKCRiYWNrZ3JvdW5kLW1haW4sIDE0KTtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1mbGV4OiB0cnVlO1xuLy8gJGVuYWJsZS1yb3VuZGVkOiB0cnVlO1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlO1xuLy8gJGVuYWJsZS1ncmFkaWVudHM6IGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogdHJ1ZTtcbi8vICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6IGZhbHNlO1xuLy8gJGVuYWJsZS1ncmlkLWNsYXNzZXM6IHRydWU7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cblxuJHNwYWNlcjogMS4yMzA4cmVtOyAvLyAkZm9udC1zaXplLXJvb3QgKDEzcHgpICogJHNwYWNlciA9IDE2cHhcbiRzcGFjZXIteDogJHNwYWNlcjtcbiRzcGFjZXIteTogJHNwYWNlcjtcblxuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKTtcbiRib3JkZXItd2lkdGg6IDFweDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogJGJhY2tncm91bmQtbWFpbjtcbiRib2R5LWNvbG9yOiAkZ3JheS1kYXJrOyAvLyBlZy4gVGV4dCwgbGFiZWxzLCBpY29ub2dyYXBoeVxuJGJvZHktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktZGFyaywgMTApOyAvLyBlZy4gRmllbGQgZGVzY3JpcHRpb25zXG4kYm9keS1jb2xvci1saWdodGVyOiBsaWdodGVuKCRncmF5LWRhcmssIDIwKTsgLy8gZWcuIHBsYWNlaG9sZGVyIHRleHRcbiRib2R5LWNvbG9yLWRhcms6ICAgIGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTsgIC8vIGVnLiBpY29ub2dyYXBoeSBob3ZlcmVkXG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAjMDA3MWM0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGxpbmstY29sb3IsIDUlKTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIC8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHhzOiAwLFxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxuICBzbTogNTQ0cHgsXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgbWQ6IDc2OHB4LFxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXG4gIGxnOiA5OTJweCxcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4gIHhsOiAxMjAwcHgsXG4gIC8vIEV4dHJhIGV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4eGw6IDE0MDBweFxuKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU3NnB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NDBweCxcbiAgeGw6IDExNDBweFxuKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICRzcGFjZXIgKiAyLjU7IC8vIDQwcHhcbiRncmlkLWd1dHRlci13aWR0aC1oYWxmOiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyOyAvLyBUT0RPOiBEZXByZWNhdGUgdGhpcywgcmVwbGFjaW5nIHdpdGggJHBhbmVsLXBhZGRpbmcteCBhbmQgJHBhbmVsLXBhZGRpbmcteVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LWJhc2U6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4vLyBQaXhlbCB2YWx1ZSB1c2VkIHRvIHJlc3BvbnNpdmVseSBzY2FsZSBhbGwgdHlwb2dyYXBoeS4gQXBwbGllZCB0byB0aGUgYDxodG1sPmAgZWxlbWVudC5cbiRmb250LXNpemUtcm9vdDogMTNweDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuJGZvbnQtc2l6ZS1sZzogMS4yM3JlbTsgLy8gMTZweFxuJGZvbnQtc2l6ZS1zbTogLjkyM3JlbTsgLy8gMTJweFxuJGZvbnQtc2l6ZS14czogLjg0N3JlbTsgLy8gMTFweFxuJGZvbnQtc2l6ZS14eHM6IC43N3JlbTsgLy8gMTBweFxuXG4kZm9udC1zaXplLWgxOiAxLjY5M3JlbTsgLy8gMjJweFxuJGZvbnQtc2l6ZS1oMjogMThweDsgLy8gMnJlbTtcbiRmb250LXNpemUtaDM6IDE2cHg7IC8vIDEuNzVyZW07XG4kZm9udC1zaXplLWg0OiAxNHB4OyAvLyAxLjVyZW07XG4kZm9udC1zaXplLWg1OiAxM3B4OyAvLyAxLjI1cmVtO1xuJGZvbnQtc2l6ZS1oNjogMTJweDsgLy8gMXJlbTtcblxuLy8gJGRpc3BsYXkxLXNpemU6IDZyZW07XG4vLyAkZGlzcGxheTItc2l6ZTogNS41cmVtO1xuLy8gJGRpc3BsYXkzLXNpemU6IDQuNXJlbTtcbi8vICRkaXNwbGF5NC1zaXplOiAzLjVyZW07XG4vL1xuLy8gJGRpc3BsYXkxLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXkyLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXkzLXdlaWdodDogMzAwO1xuLy8gJGRpc3BsYXk0LXdlaWdodDogMzAwO1xuXG4kbGluZS1oZWlnaHQ6IDEuNTM5O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDIwcHg7IC8vIGNhbiBiZSB1c2VkIHdpdGggdmFyeWluZyBmb250LXNpemVzLCBob2xkcyBncmlkIHNpemluZ1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogaW5oZXJpdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNTAwO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjE7XG4kaGVhZGluZ3MtY29sb3I6IGluaGVyaXQ7XG5cbi8vICRsZWFkLWZvbnQtc2l6ZTogMS4yNXJlbTtcbi8vICRsZWFkLWZvbnQtd2VpZ2h0OiAzMDA7XG4vL1xuJHRleHQtbXV0ZWQ6IGxpZ2h0ZW4oJGJvZHktY29sb3IsIDEwJSk7XG4vL1xuLy8gJGFiYnItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vXG4vLyAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAkYmxvY2txdW90ZS1mb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlcjtcbi8vXG4vLyAkaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbi8vICRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vL1xuLy8gJGR0LWZvbnQtd2VpZ2h0OiBib2xkO1xuLy9cbi8vICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy9cbi8vICRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHg7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAoNCAvIDMpO1xuJGxpbmUtaGVpZ2h0LXNtOiAxLjU7XG5cbiRib3JkZXItcmFkaXVzOiAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogLjNyZW07XG4kYm9yZGVyLXJhZGl1cy1zbTogLjJyZW07XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogJGJyYW5kLXByaW1hcnk7IC8vIFNTMyB3YXMgIzMzOERDMVxuJGNvbXBvbmVudC1hY3RpdmUtYmctbGlnaHQ6IGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDQyJSk7XG4kY29tcG9uZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXG4kY2FyZXQtd2lkdGg6IC4zZW07XG4kY2FyZXQtd2lkdGgtbGc6ICRjYXJldC13aWR0aDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICRzcGFjZXI7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAkc3BhY2VyICogLjc1O1xuXG4kdGFibGUtYmc6IHRyYW5zcGFyZW50O1xuJHRhYmxlLWJnLWFjY2VudDogJHdoaXRlOyAvLyBsaWdodGVuKCNmMGY0ZjcsIDElKSAjRjBGNEY3ICNlOWYwZjRcbiR0YWJsZS1iZy1ob3ZlcjogI2YwZjRmNztcbiR0YWJsZS1iZy1hY3RpdmU6ICRicmFuZC1wcmltYXJ5O1xuJHRhYmxlLWJnLXRvb2xzOiAkZ3JheS1kYXJrO1xuJHRhYmxlLWJnLWZvb3RlcjogJGJhY2tncm91bmQtbWFpbjtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy14OiAuNzY5MnJlbTsgLy8gMTBweFxuJGJ0bi1wYWRkaW5nLXk6IC4zODQ2cmVtOyAvLyA1cHhcbiRidG4tZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAkd2hpdGU7XG4kYnRuLXByaW1hcnktYmc6ICRicmFuZC1zdWNjZXNzO1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogJGJ0bi1wcmltYXJ5LWJnO1xuJGJ0bi1wcmltYXJ5LXNoYWRvdzogZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNiUpO1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogJGJvZHktY29sb3ItbGlnaHQ7XG4kYnRuLXNlY29uZGFyeS1iZzogJGdyYXktbGlnaHRlcjtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogJGJvcmRlci1jb2xvci1kYXJrO1xuXG4vLyAkYnRuLWluZm8tY29sb3I6ICNmZmY7XG4vLyAkYnRuLWluZm8tYmc6ICRicmFuZC1pbmZvO1xuLy8gJGJ0bi1pbmZvLWJvcmRlcjogJGJ0bi1pbmZvLWJnO1xuXG4vLyAkYnRuLXN1Y2Nlc3MtY29sb3I6ICNmZmY7XG4vLyAkYnRuLXN1Y2Nlc3MtYmc6ICRicmFuZC1zdWNjZXNzO1xuLy8gJGJ0bi1zdWNjZXNzLWJvcmRlcjogJGJ0bi1zdWNjZXNzLWJnO1xuXG4kYnRuLWNvbXBsZXRlLWNvbG9yOiAjNTU1O1xuJGJ0bi1jb21wbGV0ZS1iZzogJGJ0bi1wcmltYXJ5LWJnO1xuJGJ0bi1jb21wbGV0ZS1ib3JkZXI6ICRncmF5LWxpZ2h0O1xuJGJ0bi1jb21wbGV0ZS1zaGFkb3c6IGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDYlKTtcblxuLy8gJGJ0bi13YXJuaW5nLWNvbG9yOiAjZmZmO1xuLy8gJGJ0bi13YXJuaW5nLWJnOiAkYnJhbmQtd2FybmluZztcbi8vICRidG4td2FybmluZy1ib3JkZXI6ICRidG4td2FybmluZy1iZztcblxuJGJ0bi1kYW5nZXItY29sb3I6ICR3aGl0ZTtcbiRidG4tZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyO1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAkYnJhbmQtZGFuZ2VyO1xuXG4vLyAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0O1xuLy9cbi8vICRidG4tcGFkZGluZy14LXNtOiAuNzVyZW07XG4vLyAkYnRuLXBhZGRpbmcteS1zbTogLjI1cmVtO1xuLy9cbi8vICRidG4tcGFkZGluZy14LWxnOiAxLjI1cmVtO1xuLy8gJGJ0bi1wYWRkaW5nLXktbGc6IC43NXJlbTtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAuMjNyZW07XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6IC4yNXJlbTtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogLjE1NHJlbTtcblxuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy14OiAuNzVyZW07XG4kaW5wdXQtcGFkZGluZy15OiAuNTM4NXJlbTtcbiRpbnB1dC1tYXgtd2lkdGg6IDg5NXB4OyAvLyBBcHByb3ggbWF4IHBvc3NpYmxlIGF0IHNtYWxsIHNjcmVlbiBzaXplc1xuXG4kaW5wdXQtYmc6ICR3aGl0ZTtcbiRpbnB1dC1iZy1kaXNhYmxlZDogJGJhY2tncm91bmQtZGFya2VyO1xuXG4kaW5wdXQtY29sb3I6ICRib2R5LWNvbG9yLWxpZ2h0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvci1kYXJrO1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7IC8vIEZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlXG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7XG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIENvbG9yVmFyaWFibGVcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICRib3JkZXItcmFkaXVzLWxnO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICRib3JkZXItcmFkaXVzLXNtO1xuXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAjNjZhZmU5O1xuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZVxuJGlucHV0LWJveC1zaGFkb3ctZm9jdXM6IHJnYmEoMTAyLCAxNzUsIDIzMywgLjYpO1xuLy8gc2Nzcy1saW50OmVuYWJsZSBDb2xvclZhcmlhYmxlXG5cbi8vICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogIzk5OTtcbi8vXG4vLyAkaW5wdXQtcGFkZGluZy14LXNtOiAuNzVyZW07XG4vLyAkaW5wdXQtcGFkZGluZy15LXNtOiAuMjc1cmVtO1xuLy9cbi8vICRpbnB1dC1wYWRkaW5nLXgtbGc6IDEuMjVyZW07XG4vLyAkaW5wdXQtcGFkZGluZy15LWxnOiAuNzVyZW07XG4vL1xuLy8gJGlucHV0LWhlaWdodDogKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSk7XG4vLyAkaW5wdXQtaGVpZ2h0LWxnOiAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSk7XG4vLyAkaW5wdXQtaGVpZ2h0LXNtOiAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSk7XG4vL1xuLy8gJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuLy9cbi8vICRpbnB1dC1ncm91cC1hZGRvbi1iZzogJGdyYXktbGlnaHRlcjtcbi8vICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4vL1xuLy8gJGN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4vLyAkZm9ybS1pY29uLXN1Y2Nlc3M6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8gJGZvcm0taWNvbi13YXJuaW5nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpqQmhaRFJsSWlCa1BTSk5OakF6SURZME1DNHliQzB5TnpndU5TMDFNRGxqTFRNdU9DMDJMall0TVRBdU9DMHhNQzQyTFRFNExqVXRNVEF1Tm5NdE1UUXVOeUEwTFRFNExqVWdNVEF1Tmt3NUlEWTBNQzR5WXkwekxqY2dOaTQxTFRNdU5pQXhOQzQwTGpJZ01qQXVPQ0F6TGpnZ05pNDFJREV3TGpnZ01UQXVOQ0F4T0M0eklERXdMalJvTlRVM1l6Y3VOaUF3SURFMExqWXROQ0F4T0M0MExURXdMalFnTXk0MUxUWXVOQ0F6TGpZdE1UUXVOQ0F3TFRJd0xqaDZiUzB5TmpZdU5DMHpNR2d0TmpFdU1sWTFORGxvTmpFdU1uWTJNUzR5ZW0wd0xURXdOMmd0TmpFdU1sWXpNRFJvTmpFdU1uWXhPVGw2SWk4K1BDOXpkbWMrXCI7XG4vLyAkZm9ybS1pY29uLWRhbmdlcjogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpaRGsxTXpSbUlpQmtQU0pOTkRRM0lEVTBOQzQwWXkweE5DNDBJREUwTGpRdE16Y3VOaUF4TkM0MExUVXlJREJzTFRnNUxUa3lMamN0T0RrZ09USXVOMk10TVRRdU5TQXhOQzQwTFRNM0xqY2dNVFF1TkMwMU1pQXdMVEUwTGpRdE1UUXVOQzB4TkM0MExUTTNMallnTUMwMU1tdzVNaTQwTFRrMkxqTXRPVEl1TkMwNU5pNHpZeTB4TkM0MExURTBMalF0TVRRdU5DMHpOeTQySURBdE5USnpNemN1TmkweE5DNHpJRFV5SURCc09Ea2dPVEl1T0NBNE9TNHlMVGt5TGpkak1UUXVOQzB4TkM0MElETTNMall0TVRRdU5DQTFNaUF3SURFMExqTWdNVFF1TkNBeE5DNHpJRE0zTGpZZ01DQTFNa3d6TlRRdU5pQXpPVFpzT1RJdU5DQTVOaTQwWXpFMExqUWdNVFF1TkNBeE5DNDBJRE0zTGpZZ01DQTFNbm9pTHo0OEwzTjJaejQ9XCI7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyAkZHJvcGRvd24tYmc6ICNmZmY7XG4vLyAkZHJvcGRvd24tYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4vLyAkZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy8gJGRyb3Bkb3duLWRpdmlkZXItYmc6ICNlNWU1ZTU7XG4vL1xuLy8gJGRyb3Bkb3duLWxpbmstY29sb3I6ICRncmF5LWRhcms7XG4vLyAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogZGFya2VuKCRncmF5LWRhcmssIDUlKTtcbi8vICRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjZjVmNWY1O1xuLy9cbi8vICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4vLyAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuLy9cbi8vICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vXG4vLyAkZHJvcGRvd24taGVhZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vICR6aW5kZXgtbmF2YmFyOiAxMDAwO1xuLy8gJHppbmRleC1kcm9wZG93bjogMTAwMDtcbiR6aW5kZXgtcG9wb3ZlcjogMTA2MDtcbi8vICR6aW5kZXgtdG9vbHRpcDogMTA3MDtcbi8vICR6aW5kZXgtbmF2YmFyLWZpeGVkOiAxMDMwO1xuLy8gJHppbmRleC1uYXZiYXItc3RpY2t5OiAxMDMwO1xuLy8gJHppbmRleC1tb2RhbC1iZzogMTA0MDtcbi8vICR6aW5kZXgtbW9kYWw6IDEwNTA7XG5cblxuLy8gU1MgdG9vbGJhcnNcbi8vIFVzZWQgZm9yIHVpIGxheW91dCB3aGljaCBjb250YWlucyBtYWluIGFjdGlvbnMsIHNlY29uZGF5IHBhZ2UgYWN0aW9uLCB0b3AgYnJlYWRjcnVtYnMgYW5kIG5hdmlnYXRpb24gYmFycy5cblxuJHRvb2xiYXItaGVpZ2h0OiA1MnB4O1xuJHRvb2xiYXItdG90YWwtaGVpZ2h0OiAkdG9vbGJhci1oZWlnaHQgKyAxcHg7IC8vIEluY2x1ZGUgYm9yZGVyXG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItYm9yZGVyLXJhZGl1czogIDA7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJHNwYWNlcjtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogKCRzcGFjZXIgLyAyKTtcblxuLy8gJG5hdmJhci1kYXJrLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbi8vICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuLy8gJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbi8vICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMjUpO1xuLy9cbi8vICRuYXZiYXItbGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xuLy8gJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogcmdiYSgwLDAsMCwuNik7XG4vLyAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4vLyAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG5cblxuLy8gTmF2c1xuXG4kbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGg6IC4xNTM4cmVtOyAgLy8gMnB4XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4kbmF2LWxpbmstcGFkZGluZzogJHNwYWNlci15ICN7JHNwYWNlci14IC8gNH0gI3skc3BhY2VyLXkgLSAkbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGh9O1xuJG5hdi1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcblxuLy8gJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogJGdyYXktbGlnaHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICRib2R5LWNvbG9yLWxpZ2h0O1xuXG4vLyAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICRib2R5LWJnO1xuXG4vLyAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4vLyAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteDogLjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15OiAuNXJlbTtcbi8vICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogLjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAuMjc1cmVtO1xuLy8gJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAxLjVyZW07XG4vLyAkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6IC43NXJlbTtcbi8vXG4vL1xuLy8gJHBhZ2luYXRpb24tY29sb3I6ICRsaW5rLWNvbG9yO1xuLy8gJHBhZ2luYXRpb24tYmc6ICNmZmY7XG4vLyAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vLyAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICNkZGQ7XG4vL1xuLy8gJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuLy8gJHBhZ2luYXRpb24taG92ZXItYmc6ICRncmF5LWxpZ2h0ZXI7XG4vLyAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICNkZGQ7XG4vL1xuLy8gJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAkYnJhbmQtcHJpbWFyeTtcbi8vICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICRicmFuZC1wcmltYXJ5O1xuLy9cbi8vICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodDtcbi8vICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjZmZmO1xuLy8gJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAjZGRkO1xuXG5cbi8vIFBhZ2VyXG5cbi8vICRwYWdlci1iZzogJHBhZ2luYXRpb24tYmc7XG4vLyAkcGFnZXItYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuLy8gJHBhZ2VyLWJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuLy8gJHBhZ2VyLWJvcmRlci1yYWRpdXM6IDE1cHg7XG4vL1xuLy8gJHBhZ2VyLWhvdmVyLWJnOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbi8vXG4vLyAkcGFnZXItYWN0aXZlLWJnOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4vLyAkcGFnZXItYWN0aXZlLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4vL1xuLy8gJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcblxuXG4vLyBKdW1ib3Ryb25cblxuLy8gJGp1bWJvdHJvbi1wYWRkaW5nOiAycmVtO1xuLy8gJGp1bWJvdHJvbi1iZzogJGdyYXktbGlnaHRlcjtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuLy8gJHN0YXRlLXN1Y2Nlc3MtdGV4dDogIzNjNzYzZDtcbi8vICRzdGF0ZS1zdWNjZXNzLWJnOiAjZGZmMGQ4O1xuLy8gJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiBkYXJrZW4oJHN0YXRlLXN1Y2Nlc3MtYmcsIDUlKTtcbi8vXG4vLyAkc3RhdGUtaW5mby10ZXh0OiAjMzE3MDhmO1xuLy8gJHN0YXRlLWluZm8tYmc6ICNkOWVkZjc7XG4vLyAkc3RhdGUtaW5mby1ib3JkZXI6IGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpO1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAjOGE2ZDNiO1xuJHN0YXRlLXdhcm5pbmctYmc6ICNmY2Y4ZTM7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6IGRhcmtlbigkc3RhdGUtd2FybmluZy1iZywgMTUlKTtcblxuLy8gJHN0YXRlLWRhbmdlci10ZXh0OiAjYTk0NDQyO1xuLy8gJHN0YXRlLWRhbmdlci1iZzogI2YyZGVkZTtcbi8vICRzdGF0ZS1kYW5nZXItYm9yZGVyOiBkYXJrZW4oJHN0YXRlLWRhbmdlci1iZywgNSUpO1xuXG5cbi8vIENhcmRzXG4vLyAkY2FyZC1zcGFjZXIteDogMS4yNXJlbTtcbi8vICRjYXJkLXNwYWNlci15OiAuNzVyZW07XG4vLyAkY2FyZC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRjYXJkLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gJGNhcmQtYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuLy8gJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcjogJGNhcmQtYm9yZGVyLXJhZGl1cztcbi8vICRjYXJkLWNhcC1iZzogI2Y1ZjVmNTtcbi8vICRjYXJkLWJnOiAjZmZmO1xuLy9cbi8vICRjYXJkLWxpbmstaG92ZXItY29sb3I6ICNmZmY7XG5cblxuLy8gVG9vbHRpcHNcblxuLy8gJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweDtcbi8vICR0b29sdGlwLWNvbG9yOiAjZmZmO1xuLy8gJHRvb2x0aXAtYmc6ICMwMDA7XG4vLyAkdG9vbHRpcC1vcGFjaXR5OiAuOTtcbi8vXG4vLyAkdG9vbHRpcC1hcnJvdy13aWR0aDogNXB4O1xuLy8gJHRvb2x0aXAtYXJyb3ctY29sb3I6ICR0b29sdGlwLWJnO1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWJnOiAkd2hpdGU7XG4kcG9wb3Zlci1tYXgtd2lkdGg6IDI3NnB4O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAgLCAwLCAwLCAuMSk7XG5cbiRwb3BvdmVyLXRpdGxlLWJnOiAkYmFja2dyb3VuZC1kYXJrZXI7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAxMHB4O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICRwb3BvdmVyLWJnO1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSk7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpO1xuJHBvcG92ZXItcGFkZGluZzogJHNwYWNlci14O1xuXG5cbi8vIExhYmVsc1xuXG4vLyAkbGFiZWwtZGVmYXVsdC1iZzogJGdyYXktbGlnaHQ7XG4vLyAkbGFiZWwtcHJpbWFyeS1iZzogJGJyYW5kLXByaW1hcnk7XG4vLyAkbGFiZWwtc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkbGFiZWwtaW5mby1iZzogJGJyYW5kLWluZm87XG4vLyAkbGFiZWwtd2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmc7XG4vLyAkbGFiZWwtZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyO1xuLy9cbi8vICRsYWJlbC1jb2xvcjogI2ZmZjtcbi8vICRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuLy8gJGxhYmVsLWZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbi8vICRtb2RhbC1pbm5lci1wYWRkaW5nOiAxNXB4O1xuLy9cbi8vICRtb2RhbC10aXRsZS1wYWRkaW5nOiAxNXB4O1xuLy8gJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4vL1xuLy8gJG1vZGFsLWNvbnRlbnQtYmc6ICNmZmY7XG4vLyAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xuLy9cbi8vICRtb2RhbC1iYWNrZHJvcC1iZzogIzAwMDtcbi8vICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAuNTtcbi8vICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuLy8gJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuLy9cbi8vICRtb2RhbC1sZzogOTAwcHg7XG4vLyAkbW9kYWwtbWQ6IDYwMHB4O1xuLy8gJG1vZGFsLXNtOiAzMDBweDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gJGFsZXJ0LXBhZGRpbmc6IDE1cHg7XG4vLyAkYWxlcnQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4vLyAkYWxlcnQtbGluay1mb250LXdlaWdodDogYm9sZDtcbi8vICRhbGVydC1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4vL1xuLy8gJGFsZXJ0LXN1Y2Nlc3MtYmc6ICRzdGF0ZS1zdWNjZXNzLWJnO1xuLy8gJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogJHN0YXRlLXN1Y2Nlc3MtdGV4dDtcbi8vICRhbGVydC1zdWNjZXNzLWJvcmRlcjogJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyO1xuLy9cbi8vICRhbGVydC1pbmZvLWJnOiAkc3RhdGUtaW5mby1iZztcbi8vICRhbGVydC1pbmZvLXRleHQ6ICRzdGF0ZS1pbmZvLXRleHQ7XG4vLyAkYWxlcnQtaW5mby1ib3JkZXI6ICRzdGF0ZS1pbmZvLWJvcmRlcjtcbi8vXG4vLyAkYWxlcnQtd2FybmluZy1iZzogJHN0YXRlLXdhcm5pbmctYmc7XG4vLyAkYWxlcnQtd2FybmluZy10ZXh0OiAkc3RhdGUtd2FybmluZy10ZXh0O1xuLy8gJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAkc3RhdGUtd2FybmluZy1ib3JkZXI7XG4vL1xuLy8gJGFsZXJ0LWRhbmdlci1iZzogJHN0YXRlLWRhbmdlci1iZztcbi8vICRhbGVydC1kYW5nZXItdGV4dDogJHN0YXRlLWRhbmdlci10ZXh0O1xuLy8gJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICRzdGF0ZS1kYW5nZXItYm9yZGVyO1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gJHByb2dyZXNzLWJnOiAjZjVmNWY1O1xuLy8gJHByb2dyZXNzLWJhci1jb2xvcjogI2ZmZjtcbi8vICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vXG4vLyAkcHJvZ3Jlc3MtYmFyLWJnOiAkYnJhbmQtcHJpbWFyeTtcbi8vICRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICRicmFuZC13YXJuaW5nO1xuLy8gJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICRicmFuZC1kYW5nZXI7XG4vLyAkcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICRicmFuZC1pbmZvO1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICNmZmY7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICNkZGQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGg7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICNmNWY1ZjU7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKTtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICRncmF5LWxpZ2h0ZXI7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogJGJvZHktY29sb3I7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWNvbG9yO1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAkYm9keS1jb2xvcjtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vICR0aHVtYm5haWwtcGFkZGluZzogLjI1cmVtO1xuLy8gJHRodW1ibmFpbC1iZzogJGJvZHktYmc7XG4vLyAkdGh1bWJuYWlsLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDtcbi8vICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAjZGRkO1xuLy8gJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiA3cHg7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDA7XG4kYnJlYWRjcnVtYi1iZzogdHJhbnNwYXJlbnQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yLWRhcms7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yO1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCI7XG5cblxuLy8gQ2Fyb3VzZWxcblxuLy8gJGNhcm91c2VsLXRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuNik7XG4vL1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICNmZmY7XG4vLyAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDogMTUlO1xuLy8gJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogLjU7XG4vLyAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6IDIwcHg7XG4vL1xuLy8gJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICNmZmY7XG4vLyAkY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogI2ZmZjtcbi8vXG4vLyAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI2ZmZjtcblxuXG4vLyBDbG9zZVxuXG4vLyAkY2xvc2UtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkY2xvc2UtY29sb3I6ICMwMDA7XG4vLyAkY2xvc2UtdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcblxuXG4vLyBDb2RlXG5cbi8vICRjb2RlLWNvbG9yOiAjYmQ0MTQ3O1xuLy8gJGNvZGUtYmc6ICNmN2Y3Zjk7XG4vL1xuLy8gJGtiZC1jb2xvcjogI2ZmZjtcbi8vICRrYmQtYmc6ICMzMzM7XG4vL1xuLy8gJHByZS1iZzogI2Y3ZjdmOTtcbi8vICRwcmUtY29sb3I6ICRncmF5LWRhcms7XG4vLyAkcHJlLWJvcmRlci1jb2xvcjogI2NjYztcbi8vICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAzNDBweDtcblxuLy8gUGFuZWwgc2l6ZXNcbiRjbXMtcGFuZWwteHM6IDYwcHg7XG4kY21zLXBhbmVsLXNtOiAzMDBweDtcbiRjbXMtcGFuZWwtbWQ6IDQ0OHB4O1xuJGNtcy1wYW5lbC1sZzogNjM4cHg7XG5cbi8vIFBhbmVsIHBhZGRpbmdcbiRwYW5lbC1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4kcGFuZWwtcGFkZGluZy15OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG5cbi8vIFNoYWRvd3NcbiRzaGFkb3ctbGV2ZWwtMTogcmdiYSgwLCAwLCAwLCAuMSk7XG4kc2hhZG93LWxldmVsLTI6IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiRzaGFkb3ctbGV2ZWwtMzogcmdiYSgwLCAwLCAwLCAuMik7XG4kc2hhZG93LWxldmVsLTQ6IHJnYmEoMCwgMCwgMCwgLjI1KTtcbiRzaGFkb3ctbGV2ZWwtNTogcmdiYSgwLCAwLCAwLCAuMzApO1xuXG4vLyBUT0RPIHRpZHkgYWxsIHNoYWRvd3MgY21zIHdpZGUgKGluY2x1ZGluZyBBc3NldEFkbWluKVxuJHNoYWRvdy1saWdodDogJHNoYWRvdy1sZXZlbC0zO1xuJHNoYWRvdy1saWdodGVyOiAkc2hhZG93LWxldmVsLTE7XG4kZHJvcGRvd24tc2hhZG93OiAwIDAgM3B4ICRzaGFkb3ctbGV2ZWwtMztcbiRnYWxsZXJ5LWl0ZW0tc2hhZG93OiAwIDFweCA0cHggJHNoYWRvdy1sZXZlbC0zO1xuXG4vLyBHaXZlcyBpdGVtcyBkZXB0aCBvZiBkaWZmZXJlbnQgbGV2ZWxzXG4kei1kZXB0aC0xOiAwIDJweCA1cHggMCAkc2hhZG93LWxldmVsLTEsIDAgMnB4IDEwcHggMCAkc2hhZG93LWxldmVsLTE7XG4kei1kZXB0aC0yOiAwIDhweCAxMnB4IDAgJHNoYWRvdy1sZXZlbC0zLCAwIDZweCAyMHB4IDAgJHNoYWRvdy1sZXZlbC0yO1xuJHotZGVwdGgtMzogMCAxMnB4IDIwcHggMCAkc2hhZG93LWxldmVsLTQsIDAgMTdweCA0MHB4IDAgJHNoYWRvdy1sZXZlbC0zO1xuJHotZGVwdGgtNDogMCAxNnB4IDI4cHggMCAkc2hhZG93LWxldmVsLTUsIDAgMjVweCA1NXB4IDAgJHNoYWRvdy1sZXZlbC01O1xuXG4vLyBNYXNrczogdHlwaWNhbGx5IGJlaGluZCBtb2RhbHMsIGRyYWcgZHJvcCBhcmVhc1xuJHBhZ2UtbWFzay1saWdodDogcmdiYSgyMzYsIDIzOSwgMjQxLCAuOSk7XG5cblxuLy8gR2FsbGVyeSB0aHVtYm5haWwgYW5kIGltYWdlIHNpemVzXG5cbiRnYWxsZXJ5LXRodW1iLXdpZHRoOiAgIDE3NnB4O1xuJGdhbGxlcnktdGh1bWItaGVpZ2h0OiAgMTMycHg7XG5cbiRnYWxsZXJ5LWl0ZW0td2lkdGg6ICAgICRnYWxsZXJ5LXRodW1iLXdpZHRoICsgMjsgLy8gaW5jbHVkZSBib3JkZXJzXG4kZ2FsbGVyeS1pdGVtLWhlaWdodDogICAxNzRweDtcbiRnYWxsZXJ5LXRpdGxlLWhlaWdodDogIDQwcHg7XG5cbiRnYWxsZXJ5LWZvbGRlci1oZWlnaHQ6XHQgIDU0cHg7XG4kZ2FsbGVyeS1mb2xkZXItdGl0bGUtaGVpZ2h0OiAkZ2FsbGVyeS1mb2xkZXItaGVpZ2h0IC0gMjtcblxuXG4vLyBUcmFuc2l0aW9uIHNwZWVkc1xuXG4kdHJhbnNpdGlvbi1zcGVlZC1zbG93OiAgIDFzO1xuJHRyYW5zaXRpb24tc3BlZWQtbWlkOiAgLjVzO1xuJHRyYW5zaXRpb24tc3BlZWQtZmFzdDogICAuM3M7XG4iLCIvLyoqXG4vLyAqIFRoaXMgZmlsZSBjb250YWlucyBnZW5lcmljIG1peGlucyB3aGljaCB3ZSB1c2UgdGhyb3VnaG91dFxuLy8gKiB0aGUgYWRtaW4gcGFuZWxzLlxuLy8gKlxuLy8gKiBNaXhpbnMgc2hvdWxkIGJlIHN0b3JlZCBoZXJlIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgZmlsZXNcbi8vICogc28gdGhhdCB3ZSBjYW4ga2VlcC5cbi8vICovXG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBIaWRlcyB0aGUgb3ZlcmZsb3dpbmcgdGV4dCBmcm9tIGEgY29udGFpbmVyXG4vLyAqXG4vLyAqIE5vdGU6IHlvdSBtdXN0IGRlZmluZSBhIHdpZHRoIG9uIHRoZSBlbGVtZW50IHdpdGggdGhpc1xuLy8gKiBvdmVyZmxvdy5cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBoaWRlLXRleHQtb3ZlcmZsb3cge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0LW8tdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93LW5vbmV7XG5cdC1tb3otYm94LXNoYWRvdzogbm9uZTtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLy8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vQ2xlYXJmaXggbWl4aW4gY2xlYXJzIHRoZSBmbG9hdCBvZiBpdCdzIHBhcmVudCBlbGVtZW50XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qKi9cbkBtaXhpbiBjbGVhcmZpeHtcblx0JjphZnRlcntcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cdCo6Zmlyc3QtY2hpbGQgJnsgem9vbToxO31cbn1cblxuXG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDbGVhciB0aGUgcHJvcGVydGllcyBvZiBzdWIgZm9ybSBmaWVsZHMuXG4vLyAqXG4vLyAqIE9mdGVuIG5lZWRlZCBmb3IgbmVzdGVkIGZvcm0gZmllbGRzIGFuZFxuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNsZWFyLWZvcm0tZmllbGQtc3R5bGVzIHtcblx0LmZpZWxkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogYXV0bztcblxuXHRcdCYubGVmdCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGluaGVyaXQ7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQubWlkZGxlQ29sdW1uIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdGlucHV0LnRleHQsXG5cdHRleHRhcmVhLFxuXHRzZWxlY3QsXG5cdC5UcmVlRHJvcGRvd25GaWVsZCB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBEb3VibGUgdG9uZSBib3JkZXJzXG4vLyAqXG4vLyAqIGh0dHA6Ly9kYXZlcnVwZXJ0LmNvbS8yMDExLzA2L3R3by10b25lLWJvcmRlcnMtd2l0aC1jc3MzL1xuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGRvdWJsZWJvcmRlcigkc2lkZSwgJGlubmVyQ29sb3IsICRvdXRlckNvbG9yKSB7XG4gICAgJHNoYWRvdzogXCIwIDAgMFwiO1xuICAgIGJvcmRlci0jeyRzaWRlfTogMXB4IHNvbGlkICRpbm5lckNvbG9yO1xuICAgIEBpZiAoJHNpZGUgPT0gXCJ0b3BcIikgeyAkc2hhZG93OiAwIC0xcHggMDsgfVxuICAgIEBpZiAoJHNpZGUgPT0gXCJyaWdodFwiKSB7ICRzaGFkb3c6IDFweCAwIDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwiYm90dG9tXCIpIHsgJHNoYWRvdzogMCAxcHggMDsgfVxuICAgIEBpZiAoJHNpZGUgPT0gXCJsZWZ0XCIpIHsgJHNoYWRvdzogLTFweCAwIDA7IH1cbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG4gICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1vLWJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbn1cblxuXG4vKk1peGluIHVzZWQgdG8gZ2VuZXJhdGUgc2xpZ2h0bHkgc21hbGxlciB0ZXh0IGFuZCBmb3Jtc1xuVXNlZCBpbiBzaWRlIHBhbmVscyBhbmQgYWN0aW9uIHRhYnNcbiovXG5AbWl4aW4gdGlnaHRTcGFjaW5ne1xuXHRoMyxoNCxoNSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGluZS1oZWlnaHQ6ICRncmlkLXkgKiAyO1xuXHR9XG5cdGgzIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtcm9vdCAtMTtcblx0XHRtYXJnaW46IDVweCAwO1xuXHR9XG5cblx0LnVpLXdpZGdldC1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0LmZpZWxkIHtcblx0XHQvKlxuXHRcdCAqIEZpZWxkcyBhcmUgbW9yZSBjb21wcmVzc2VkIGluIHNvbWUgYXJlYXMgY29tcGFyZWQgdG8gdGhlXG5cdFx0ICogbWFpbiBjb250ZW50IGVkaXRpbmcgd2luZG93IHNvIHRoZSBiZWxvdyBhbHRlcnMgdGhlIGludGVybmFsXG5cdFx0ICogc3BhY2luZyBvZiB0aGUgZmllbGRzIHNvIHdlIGNhbiBtb3ZlIHRoYXQgc3BhY2luZyB0byBiZXR3ZWVuXG5cdFx0ICogdGhlIGZvcm0gZmllbGRzIHJhdGhlciB0aGFuIHBhZGRpbmdcblx0XHQgKi9cblx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRsYWJlbCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0cGFkZGluZzogMCAkZ3JpZC14IDRweCAwO1xuXHRcdFx0Ji5leHRyYS1kZXRhaWxze1xuXHRcdFx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0XHRcdG1hcmdpbi10b3A6MTBweDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGNvbG9yOiBsaWdodGVuKCRjb2xvci10ZXh0LCAzNSUpO1xuXHRcdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6bm9ybWFsO1xuXHRcdFx0XHRmb250LXNpemU6MWVtO1xuXHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0Ji5maWxse1xuXHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0Y29sb3I6I2ZmZjtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICc/Jztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxMnB4O1xuXHRcdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDozcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjNweDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpsaWdodGVuKCRjb2xvci10ZXh0LCA0NSUpO1xuXHRcdFx0XHRcdFx0d2lkdGg6MjFweDtcblx0XHRcdFx0XHRcdGhlaWdodDoxNXB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206NXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5taWRkbGVDb2x1bW4ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdGlucHV0LnRleHQsXG5cdFx0c2VsZWN0LFxuXHRcdHRleHRhcmVhIHtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHR9XG5cblx0XHQmLmNoZWNrYm94IHtcblx0XHRcdHBhZGRpbmc6IDAgOHB4IDA7XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdFx0bWFyZ2luOiAycHggMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9ybV9fZmllbGRncm91cCB7XG5cdFx0LmZvcm1fX2ZpZWxkZ3JvdXAtaXRlbSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQuZmllbGQge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogUmVzdHlsZSBmb3Igc21hbGxlciBhcmVhKi9cblx0LmNtcy1jb250ZW50LWZpZWxkc3tcblx0XHRvdmVyZmxvdzp2aXNpYmxlO1xuXHR9XG5cdC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZXtcblx0XHR3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG5cdFx0LmNob3Nlbi1zaW5nbGV7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMCA1cHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdH1cblx0fVxuXHQuY21zLWNvbnRlbnQtYWN0aW9ucywgLmNtcy1wcmV2aWV3LWNvbnRyb2xze1xuXHRcdHBhZGRpbmc6MDtcblx0XHRoZWlnaHQ6YXV0bztcblx0XHRib3JkZXI6bm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdC5jbXMtZWRpdC1mb3Jte1xuXHRcdHdpZHRoOjEwMCU7XG5cdH1cblx0LkNvbXBvc2l0ZUZpZWxke1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0XHRmbG9hdDpub25lO1xuXHR9XG5cdC5wYXJlbnQtbW9kZXtcblx0XHRwYWRkaW5nLXRvcDowO1xuXHR9XG5cdC50cmVlZHJvcGRvd24sIC5TZWxlY3Rpb25Hcm91cCBsaS5zZWxlY3RlZCBkaXYuZmllbGR7XG5cdFx0bWFyZ2luOjEwcHggMCAwIDA7XG5cdFx0Ly9AaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDAgI2ZmZiwgMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKSk7XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRpdGxle1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OjI7XG5cdFx0XHRwYWRkaW5nOjVweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXBhbmVse1xuXHRcdFx0bWFyZ2luLXRvcDoxMXB4O1xuXHRcdH1cblx0XHQudHJlZWRyb3Bkb3duZmllbGQtdG9nZ2xlLXBhbmVsLWxpbmt7XG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHRib3JkZXItbGVmdDpub25lO1xuXHRcdFx0cGFkZGluZzo1cHggM3B4O1xuXHRcdFx0LnVpLWljb257XG5cdFx0XHRcdGZsb2F0OnJpZ2h0O1xuXHRcdFx0XHRvcGFjaXR5OjAuNztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNtcy1hZGQtZm9ybSB1bC5TZWxlY3Rpb25Hcm91cHtcblx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0XHRib3JkZXItYm90dG9tOm5vbmU7XG5cdH1cbn1cblxuLy8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAqIENvbXBhc3MgcmVwbGFjZW1lbnQgbWl4aW5zLlxuLy8gKlxuLy8gKiBNaXhpbnMgdGhhdCB3ZXJlIGJ1aWx0LWluIHdpdGggY29tcGFzc1xuLy8gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gbGVnYWN5LXBpZS1jbGVhcmZpeCB7XG5cdCY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvKipcbiAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgZGVmYXVsdCB0aGVtZSBkZWZpbml0aW9ucyBmb3IgdGhlIGFkbWluIGludGVyZmFjZS5cbiAqIFBsZWFzZSBwdXQgbW9zdGx5IFNDU1MgdmFyaWFibGUgZGVmaW5pdGlvbnMgaW4gaGVyZSxcbiAqIGFuZCBsZWF2ZSB0aGUgYWN0dWFsIHN0eWxpbmcgdG8gX3N0eWxlLnNjc3MgYW5kIGF1eGlsbGlhcnkgZmlsZXMuXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uL3ZhcmlhYmxlcy5zY3NzXCI7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29sb3Vyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kY29sb3ItYmFzZTogI2IwYmVjNyAhZGVmYXVsdDtcbiRjb2xvci13aWRnZXQtYmc6IGxpZ2h0ZW4oJGNvbG9yLWJhc2UsIDIwJSkgIWRlZmF1bHQ7XG5cbi8vIE1lbnUgdGhlbWUgY29sb3Vyc1xuJGNvbG9yLXRoZW1lLWJhc2U6IFx0I2Q4ZTRlYiAhZGVmYXVsdDtcblxuJGNvbG9yLXRoZW1lLWJnOiBcdGxpZ2h0ZW4oJGNvbG9yLXRoZW1lLWJhc2UsIDUlKTtcbiRjb2xvci10aGVtZS1pY29uczogZGFya2VuKCRjb2xvci10aGVtZS1iYXNlLCAyNiUpO1xuJGNvbG9yLXRoZW1lLWFjdGl2ZTogJGNvbG9yLXRoZW1lLWJhc2U7XG5cbi8vIENNUyA0IG1lbnVcbiRiYXNlLW1lbnU6ICNkOGU0ZWI7XG4kYmFzZS1tZW51LWJnOiBsaWdodGVuKCRiYXNlLW1lbnUsNSUpO1xuJGJhc2UtbWVudS1pY29uOiBkYXJrZW4oJGJhc2UtbWVudSwgMjYlKTtcblxuLy9vZmZpY2FsIHNpbHZlcnN0cmlwZSBicmFuZCBjb2xvclxuJGNvbG9yLWJyYW5kLWJnOiAjMDA1YTkzICFkZWZhdWx0O1xuJGNvbG9yLWJyYW5kOiAjNDNjN2Y0ICFkZWZhdWx0O1xuXG4vKiBLZWVwIGFzIHNvbGlkIGNvbG91cnMgdHJhbnNwYXJlbnQgYm9yZGVycyB3b250IHdvcmsgaW4gaWUgKi9cbiRjb2xvci1kYXJrZXItYmc6ICNmMGYyZjQgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1iZzogIzE0MjEzNiAhZGVmYXVsdDtcbiRjb2xvci1kYXJrLXNlcGFyYXRvcjogIzE5NDM1YyAhZGVmYXVsdDtcbiRjb2xvci1tZWRpdW0tc2VwYXJhdG9yOiAjODA4MDgwICFkZWZhdWx0O1xuJGNvbG9yLXNlcGFyYXRvcjogI0MxQzdDQyAhZGVmYXVsdDsgLy8gVmVydGljYWwgZGl2aWRlcnNcbiRjb2xvci1saWdodC1zZXBhcmF0b3I6ICNEMkQ1RDggIWRlZmF1bHQ7IC8vIEhvcmlvbnRhbCBkaXZpZGVyc1xuXG4kY29sb3ItdGFiOiAjZDlkOWQ5ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstZ3JleTogIzdCOEM5MSAhZGVmYXVsdDtcblxuLyogT25seSBmb3IgdXNlIGFzIHNoYWRvd3MgYXMgdGhleSB3b250IHdvcmsgaW4gb2xkZXIgYnJvd3NlcnMgKi9cbiRjb2xvci1zaGFkb3ctbGlnaHQ6IHJnYmEoMjAxLCAyMDUsIDIwNiwgMC44KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctZGFyazogcmdiYSgxMDcsIDEyMCwgMTIzLCAwLjUpICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdy1ibGFjazogcmdiYSgwLCAwLCAwLCAwLjYpICFkZWZhdWx0O1xuJGNvbG9yLXNoYWRvdy1ibGFja2VyOiByZ2JhKDAsIDAsIDAsIDAuOSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zaGluZTogcmdiYSgyNDgsIDI0OCwgMjQ4LCAwLjkpO1xuJGJveC1zaGFkb3ctc2hpbmUtbWluaW1hbDogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpO1xuXG4kY29sb3ItaGlnaGxpZ2h0OiAjRkZGRjY2ICFkZWZhdWx0O1xuJGNvbG9yLWhpZ2hsaWdodC1vcGFjaXR5OiByZ2JhKDI1NSwgMjU1LCAxMDIsIDAuMykgIWRlZmF1bHQ7XG5cbiRjb2xvci1tZW51LWJ1dHRvbjogIzMzOERDMSAhZGVmYXVsdDtcbiRjb2xvci1tZW51LWJhY2tncm91bmQ6ICNjNmQ3ZGYgIWRlZmF1bHQ7XG4kY29sb3ItbWVudS1ib3JkZXI6ICM4Yzk5YTEgIWRlZmF1bHQ7XG4kY29sb3ItcGFuZWwtYmFja2dyb3VuZDogI2M2ZDdkZiAhZGVmYXVsdDtcblxuJGNvbG9yLXRleHQtZGVmYXVsdDogIzRmNTg2MSAhZGVmYXVsdDsgLyogbmV3IGluIFNpbHZlclN0cmlwZSA0ICovXG4kY29sb3ItdGV4dDogIzY2NzI3ZCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWxpZ2h0OiB3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWxpZ2h0LWxpbms6IHdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGlzYWJsZWQ6ICNhYWEgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1kYXJrOiAjMWYxZjFmICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGFyay1saW5rOiAjM0VCQUUwICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtYmx1ZS1saW5rOiAjMDA3MWM0ICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtc2hhZG93OiB3aGl0ZSAhZGVmYXVsdDtcblxuXG4kY29sb3ItYnV0dG9uLWdlbmVyaWM6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWdlbmVyaWMtYm9yZGVyOiAjZDBkM2Q1ICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWhpZ2hsaWdodDogI2U2ZTZlNiAhZGVmYXVsdDtcbiRjb2xvci1idXR0b24taGlnaGxpZ2h0LWJvcmRlcjogIzcwODI4NCAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmU6ICMxRjk0MzMgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWNvbnN0cnVjdGl2ZS1ib3JkZXI6ICMxRjk0MzMgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmU6ICNmMDAgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tZGlzYWJsZWQ6ICNlZWVkZWQgIWRlZmF1bHQ7XG5cbiRjb2xvci1ub3RpY2U6ICM5M0NERTggIWRlZmF1bHQ7XHRcdC8vIGJsdWVcbiRjb2xvci13YXJuaW5nOiAjRTlEMTA0ICFkZWZhdWx0O1x0XHQvLyB5ZWxsb3dcbiRjb2xvci1lcnJvcjogI2U2ODI4OCAhZGVmYXVsdDtcdFx0XHQvLyByZWRcbiRjb2xvci1nb29kOiAjNzJjMzRiICFkZWZhdWx0O1x0XHRcdC8vIGdyZWVuXG4vKiRjb2xvci1vcHRpb25hbDogI2ExZDJlYiAhZGVmYXVsdDsgKi9cdC8vIG9yYW5nZVxuXG4kY29sb3ItY21zLWJhdGNoYWN0aW9ucy1tZW51LWJhY2tncm91bmQ6ICNmNWY1ZjUgIWRlZmF1bHQ7XG4kY29sb3ItY21zLWJhdGNoYWN0aW9ucy1tZW51LXNlbGVjdGVkLWJhY2tncm91bmQ6ICNmZmZjZGMgIWRlZmF1bHQ7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGV4dHVyZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kdGFiLXBhbmVsLXRleHR1cmUtY29sb3I6ICNmNmY3ZjggIWRlZmF1bHQ7XG4kdGFiLXBhbmVsLXRleHR1cmUtYmFja2dyb3VuZDogJHRhYi1wYW5lbC10ZXh0dXJlLWNvbG9yIHVybCguLi9pbWFnZXMvdGV4dHVyZXMvYmdfY21zX21haW5fY29udGVudC5wbmcpIHJlcGVhdCB0b3AgbGVmdCAhZGVmYXVsdDtcblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEdyaWQgVW5pdHMgKHB4KVxuICpcbiAqIFdlIGhhdmUgYSB2ZXJ0aWNhbCByaHl0aG0gdGhhdCB0aGUgZ3JpZCBpcyBiYXNlZCBvZmZcbiAqIGJvdGggeCAoPWhvcml6b250YWwpIGFuZCB5ICg9dmVydGljYWwpLiBBbGwgaW50ZXJuYWwgcGFkZGluZyBhbmRcbiAqIG1hcmdpbnMgYXJlIHNjYWxlZCB0byB0aGlzIGFuZCBhY2NvdW50aW5nIGZvciBwYXJhZ3JhcGhzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRncmlkLXk6IDhweCAhZGVmYXVsdDtcbiRncmlkLXg6IDhweCAhZGVmYXVsdDtcblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBBcHBsaWNhdGlvbiBMb2dvIChDTVMgTG9nbykgTXVzdCBiZSAyNHB4IHggMjRweFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kYXBwbGljYXRpb24tbG9nby1zbWFsbDogdXJsKFwiLi4vaW1hZ2VzL2xvZ29fc21hbGwucG5nXCIpICFkZWZhdWx0O1xuJGFwcGxpY2F0aW9uLWxvZ28tc21hbGwtMng6IHVybChcIi4uL2ltYWdlcy9sb2dvX3NtYWxsQDJ4LnBuZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG4vLyoqXG4vLyAqIFRoaXMgZmlsZSBjb250YWlucyBtaXhpbnMgcmVsYXRpbmcgdG8gc3BlY2lmaWMgZnVuY3Rpb25hbGl0eVxuLy8gKlxuLy8gKiBNaXhpbnMgc2hvdWxkIGJlIHN0b3JlZCBoZXJlIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgZmlsZXNcbi8vICovXG5cblxuLy8qTWl4aW4gZ2VuZXJhdGVzIHRoZSBnZW5lcmljIGJ1dHRvbiBzdHlsaW5nIGZvciB0aGUgZ3JpZGZpZWxkKi9cbkBtaXhpbiBncmlkRmllbGRCdXR0b25ze1xuXHRib3JkZXI6bm9uZTtcblx0ZGlzcGxheTpibG9jaztcblx0dGV4dC1pbmRlbnQ6LTk5OTllbTtcblx0d2lkdGg6MzBweDtcblx0aGVpZ2h0OjI1cHg7IC8vbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgaW5wdXQgZmllbGRcbn1cblxuXG4vLyBNaXhpbiBnZW5lcmF0ZXMgdGhlIHN0eWxpbmcgZm9yIHRoZSBhY3Rpb25zIGJ1dHRvbnMgaW4gZmlsZSB1cGxvYWRzXG5AbWl4aW4gc3MtdXBsb2FkZmllbGQtYWN0aW9uLWJ1dHRvbnN7XG5cdC5zcy11aS1idXR0b24ge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0Y29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1kZWxldGUge1xuXHRcdFx0Ly8gVE9ETyB0bXAgaGFjayB1bnRpbCB3ZSBoYXZlIHBlcm1pc3Npb25zIGFuZCBjYW4gZGlzYWJsZSBkZWxldGVcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1jYW5jZWwsICYuc3MtdXBsb2FkZmllbGQtaXRlbS1vdmVyd3JpdGUtd2FybmluZyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoI2ZmZiwgMC4yKTtcblx0XHRcdG1hcmdpbi10b3A6MHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0b3BhY2l0eTowLjk7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRvcGFjaXR5OjE7XG5cdFx0XHR9XG5cdFx0XHQudWktaWNvbiB7XG5cdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICBtYXJnaW46IDA7XG5cdFx0XHQgIHBvc2l0aW9uOnJlYWx0aXZlO1xuXHRcdFx0ICB0b3A6OHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBzcy11cGxvYWRmaWVsZC1lZGl0QnV0dG9uO1xuXHR9XG59XG5cbi8vKipcbi8vXHRNaXhpbiBjcmVhdGVzIGEgdHJhbnNwYXJlbnQgYnV0dG9uIHdpdGggYSBkcm9wZG93biBhcnJvdyxcbi8vXHRhcyBpcyB1c2VkIGZvciBmaWxlcyBpbiB0aGUgZmlsZXMgdXAtbG9hZCBhcmVhLiBUaGUgYXJyb3dzXG4vL1x0dGhlbXNlbHZlcyBhcmUgYWRkZWQgaW4gdGhlIF9zdHlsZSBmaWxlXG4vLyoqL1xuQG1peGluIHNzLXVwbG9hZGZpZWxkLWVkaXRCdXR0b257XG5cdCYuc3MtdXBsb2FkZmllbGQtaXRlbS1lZGl0IHtcblx0XHRvcGFjaXR5OjAuOTtcblx0XHRwYWRkaW5nLXRvcDogMXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdGhlaWdodDoxMDAlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ji51aS1zdGF0ZS1ob3Zlcntcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdHNwYW4udG9nZ2xlLWRldGFpbHN7XG5cdFx0XHRcdG9wYWNpdHk6MTtcblx0XHRcdH1cblx0XHR9XG5cdFx0c3Bhbi50b2dnbGUtZGV0YWlsc3tcblx0XHRcdG9wYWNpdHk6MC45O1xuXHRcdFx0bWFyZ2luLWxlZnQ6M3B4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IDVweDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdC50b2dnbGUtZGV0YWlscy1pY29uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDoxcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdCYub3BlbmVkIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOjA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudWktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/Form.css b/client/dist/styles/Form.css deleted file mode 100755 index 699fd0cae..000000000 --- a/client/dist/styles/Form.css +++ /dev/null @@ -1,3 +0,0 @@ -form *{font-size:12px}form fieldset{margin:0;padding:0;border-style:none}form .field{clear:both;padding:0.2em;margin:0 0 0 10em;vertical-align:middle}form p.checkbox{margin:0 0 0 8.5em}form .field.form-group--no-label{margin-left:0}form label.left{float:left;width:10em;margin-left:-10em}form input.maxlength{width:auto}form .validation,form .error,form .required{border:1px solid #f00;background:#fcc;padding:0.5em;width:50%}form .field span.readonly{border:1px #CCC dotted;background-color:#F7F7F7;display:block;width:98%;padding:3px;margin:5px 0}form .indicator.inline{display:inline;margin-left:5px;vertical-align:middle}form .indicator.block{display:inline}form button.minorAction{background:none;padding:0;border:0;color:#0074C6;text-decoration:underline}form .message{margin:1em 0;padding:0.5em;font-weight:bold;border:1px black solid;background-color:#B9FFB9;border-color:#00FF00}form .message.notice{background-color:#FCFFDF;border-color:#FF9300}form .message.warning{background-color:#FFD2A6;border-color:#FF9300}form .message.bad{background-color:#FF8080;border-color:#FF0000}form .message.required,form .message.validation{display:block;margin-top:5px;color:#FF9300;width:240px;border-color:#FF9300}form .message.validation{color:#FF4040;width:240px;border-color:#FF4040}.typography .ss-tabset ul{margin:0} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9Gb3JtLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FHRSxjQUFnQixDQUhsQixjQU9FLFNBQ0EsVUFDQSxpQkFBbUIsQ0FUckIsWUFhRSxXQUNBLGNBQ0Esa0JBQ0EscUJBQXVCLENBaEJ6QixnQkFvQkUsa0JBQW9CLENBcEJ0QixpQ0F3QkUsYUFBZSxDQXhCakIsZ0JBNEJFLFdBQ0EsV0FDQSxpQkFBbUIsQ0E5QnJCLHFCQWtDRSxVQUFZLENBbENkLDRDQXNDRSxzQkFDQSxnQkFDQSxjQUNBLFNBQVcsQ0F6Q2IsMEJBNkNFLHVCQUNBLHlCQUNBLGNBQ0EsVUFDQSxZQUNBLFlBQWEsQ0FsRGYsdUJBc0RFLGVBQ0EsZ0JBQ0EscUJBQXVCLENBeER6QixzQkE0REUsY0FBZ0IsQ0E1RGxCLHdCQWlFRSxnQkFDQSxVQUNBLFNBQ0EsY0FDQSx5QkFBMkIsQ0FyRTdCLGNBNEVFLGFBQ0EsY0FDQSxpQkFDQSx1QkFDQSx5QkFDQSxvQkFBc0IsQ0FqRnhCLHFCQW9GRyx5QkFDQSxvQkFBc0IsQ0FyRnpCLHNCQXlGRyx5QkFDQSxvQkFBc0IsQ0ExRnpCLGtCQThGRyx5QkFDQSxvQkFBc0IsQ0EvRnpCLGdEQW1HRyxjQUNBLGVBQ0EsY0FDQSxZQUNBLG9CQUFzQixDQXZHekIseUJBMkdHLGNBQ0EsWUFDQSxvQkFBc0IsQ0FDdEIsMEJBS0YsUUFBVSxDQUNWIiwiZmlsZSI6ImxlZ2FjeS9Gb3JtLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvcm0ge1xuXG5cdCoge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXG5cdGZpZWxkc2V0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cblxuXHQuZmllbGQge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHBhZGRpbmc6IDAuMmVtO1xuXHRcdG1hcmdpbjogMCAwIDAgMTBlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0cC5jaGVja2JveCB7XG5cdFx0bWFyZ2luOiAwIDAgMCA4LjVlbTtcblx0fVxuXG5cdC5maWVsZC5mb3JtLWdyb3VwLS1uby1sYWJlbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRsYWJlbC5sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMTBlbTtcblx0XHRtYXJnaW4tbGVmdDogLTEwZW07XG5cdH1cblxuXHRpbnB1dC5tYXhsZW5ndGgge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LnZhbGlkYXRpb24sIC5lcnJvciwgLnJlcXVpcmVkIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuXHRcdGJhY2tncm91bmQ6ICNmY2M7XG5cdFx0cGFkZGluZzogMC41ZW07XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXG5cdC5maWVsZCBzcGFuLnJlYWRvbmx5IHtcblx0XHRib3JkZXI6IDFweCAjQ0NDIGRvdHRlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiA5OCU7XG5cdFx0cGFkZGluZzogM3B4O1xuXHRcdG1hcmdpbjo1cHggMDtcblx0fVxuXG5cdC5pbmRpY2F0b3IuaW5saW5lIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0LmluZGljYXRvci5ibG9jayB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG5cblx0Ly8gRW11bGF0aW5nIGxpbmsgc3R5bGluZyBmb3IgYWN0aW9ucyByZXF1aXJpbmcgbGVzc2VyIGF0dGVudGlvbiwgZS5nLiBcImNhbmNlbFwiIEZvcm1BY3Rpb25zXG5cdGJ1dHRvbi5taW5vckFjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogIzAwNzRDNjtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXNzYWdlc1xuXHQgKi9cblx0Lm1lc3NhZ2Uge1xuXHRcdG1hcmdpbjogMWVtIDA7XG5cdFx0cGFkZGluZzogMC41ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyOiAxcHggYmxhY2sgc29saWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0I5RkZCOTtcblx0XHRib3JkZXItY29sb3I6ICMwMEZGMDA7XG5cblx0XHQmLm5vdGljZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGRkRGO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY5MzAwO1xuXHRcdH1cblxuXHRcdCYud2FybmluZyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEMkE2O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY5MzAwO1xuXHRcdH1cblxuXHRcdCYuYmFkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGRjgwODA7XG5cdFx0XHRib3JkZXItY29sb3I6ICNGRjAwMDA7XG5cdFx0fVxuXG5cdFx0Ji5yZXF1aXJlZCwgJi52YWxpZGF0aW9uIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOjVweDtcblx0XHRcdGNvbG9yOiNGRjkzMDA7XG5cdFx0XHR3aWR0aDoyNDBweDtcblx0XHRcdGJvcmRlci1jb2xvcjogI0ZGOTMwMDtcblx0XHR9XG5cblx0XHQmLnZhbGlkYXRpb24ge1xuXHRcdFx0Y29sb3I6I0ZGNDA0MDtcblx0XHRcdHdpZHRoOjI0MHB4O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjRkY0MDQwO1xuXHRcdH1cblx0fVxufVxuXG4udHlwb2dyYXBoeSAuc3MtdGFic2V0IHVsIHtcblx0bWFyZ2luOiAwO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/GridField_print.css b/client/dist/styles/GridField_print.css deleted file mode 100644 index 7069ded81..000000000 --- a/client/dist/styles/GridField_print.css +++ /dev/null @@ -1,3 +0,0 @@ -h3{font-family:Arial, sans-serif}table{border-collapse:collapse;font-family:Arial, sans-serif;color:#333;font-size:12pt}table th{border-bottom:2px solid #333;padding:5px 10px;font-weight:bold;text-align:left}table th:first-child{padding-left:0px}table td{border-top:1px solid #aaa;border-bottom:1px solid #aaa;text-align:left;padding:5px 10px}table td:first-child{padding-left:0px} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9HcmlkRmllbGRfcHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxHQUNDLDZCQUErQixDQUMvQixNQUVBLHlCQUNBLDhCQUNBLFdBQ0EsY0FBZ0IsQ0FKakIsU0FTRSw2QkFDQSxpQkFDQSxpQkFDQSxlQUFpQixDQVpuQixxQkFjRyxnQkFBa0IsQ0FkckIsU0FtQkUsMEJBQ0EsNkJBQ0EsZ0JBQ0EsZ0JBQWtCLENBdEJwQixxQkF3QkcsZ0JBQWtCLENBQ2xCIiwiZmlsZSI6ImxlZ2FjeS9HcmlkRmllbGRfcHJpbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaDMge1xuXHRmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Y29sb3I6ICMzMzM7XG5cdGZvbnQtc2l6ZTogMTJwdDtcblx0dHJ7XG5cblx0fVxuXHR0aHtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XHR9XG5cblx0fVxuXHR0ZHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2FhYTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ diff --git a/client/dist/styles/Security_login.css b/client/dist/styles/Security_login.css deleted file mode 100755 index 59f48b643..000000000 --- a/client/dist/styles/Security_login.css +++ /dev/null @@ -1,3 +0,0 @@ -#Remember{margin:0.5em 0 0.5em 11em !important}p#Remember label{display:inline-block;margin:0}#Remember input{float:left;margin:0 5px 0 0}#MemberLoginForm_LoginForm .btn-toolbar{padding-left:12em}#ForgotPassword{margin-top:1em} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9TZWN1cml0eV9sb2dpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQ0Msb0NBQXNDLENBQ3RDLGlCQUVDLHFCQUNBLFFBQVUsQ0FDVixnQkFFQSxXQUNBLGdCQUFrQixDQUNsQix3Q0FFRCxpQkFBbUIsQ0FDbkIsZ0JBRUEsY0FBZ0IsQ0FDaEIiLCJmaWxlIjoibGVnYWN5L1NlY3VyaXR5X2xvZ2luLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNSZW1lbWJlciB7XG5cdG1hcmdpbjogMC41ZW0gMCAwLjVlbSAxMWVtICFpbXBvcnRhbnQ7XG59XG5cdHAjUmVtZW1iZXIgbGFiZWwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0I1JlbWVtYmVyIGlucHV0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgNXB4IDAgMDtcblx0fVxuI01lbWJlckxvZ2luRm9ybV9Mb2dpbkZvcm0gLmJ0bi10b29sYmFyIHtcblx0cGFkZGluZy1sZWZ0OiAxMmVtO1xufVxuI0ZvcmdvdFBhc3N3b3JkIHtcblx0bWFyZ2luLXRvcDogMWVtO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ diff --git a/client/dist/styles/UploadField.css b/client/dist/styles/UploadField.css deleted file mode 100644 index 5adb23858..000000000 --- a/client/dist/styles/UploadField.css +++ /dev/null @@ -1,3 +0,0 @@ -.ss-uploadfield.form-group::after,.ss-insert-media.form-group::after{visibility:hidden}.ss-uploadfield .clear{clear:both}.ss-uploadfield .description{margin-left:0}.ss-uploadfield .middleColumn{min-width:510px;max-width:696px;width:100%;margin-left:0;clear:both;padding:0;background:#fff;border:1px solid #b3b3b3;border-radius:4px;background-image:-webkit-gradient(linear, left top, left bottom, from(#efefef), color-stop(10%, #fff), color-stop(90%, #fff), color-stop(90%, #efefef));background-image:-webkit-linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef);background-image:-o-linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef);background-image:linear-gradient(#efefef, #fff 10%, #fff 90%, #efefef)}.ss-uploadfield .ss-uploadfield-item{margin:0;padding:15px;overflow:auto}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview{height:60px;line-height:60px;width:80px;text-align:center;font-weight:bold;float:left;overflow:hidden;background:#f0f2f4}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview span{height:60px;width:80px;display:table-cell;vertical-align:middle}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview.ss-uploadfield-dropzone{-webkit-box-shadow:0 0 4px 0 gray inset;box-shadow:0 0 4px 0 gray inset;border:2px dashed gray;background:#D2D5D8;margin-right:15px;position:relative}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview.ss-uploadfield-dropzone::after{background:none}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview img{display:block;margin:0 auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2O8dOnSfwYkoKenx4jMZ6SDAmT7QGx0K1EcRBsFAJfOHd3Le79RAAAAAElFTkSuQmCC) repeat}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview img[src$="_32.png"]{background:transparent}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info{margin-left:95px}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name{display:block;line-height:13px;height:26px;margin:0;text-align:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .name{max-width:240px;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;display:inline;float:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .size{color:#a9b2b9;padding:0 0 0 5px;display:inline;float:left}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status{float:right;padding:0 0 0 5px;text-align:right;max-width:75%}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-error-text{color:red;font-weight:bold;width:150px}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-warning-text{color:#b7a403}.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status.ui-state-success-text{color:#1F9433}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-preview{width:auto;height:auto;margin-right:15px}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info{margin-left:0}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name{float:left;width:70%;height:auto}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name{float:left;width:100%;margin-bottom:5px}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .ss-uploadfield-item-status{float:left;width:100%;padding:0;text-align:left}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-actions{float:right;width:5%;min-height:0;margin:0}.ss-uploadfield .ss-uploadfield-item.ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-actions .ss-uploadfield-item-cancel{position:relative;top:auto}.ss-uploadfield .ss-uploadfield-files{margin:0;padding:0;overflow:auto;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error{border:0;border-bottom:1px solid #b3b3b3;background:none;color:#66727d}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item:last-child,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item.ui-state-error:last-child{border-bottom:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-actions{min-height:28px;overflow:hidden;margin:6px 0 -6px 0;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progress{position:absolute;left:0;right:42px;width:auto;margin:11px 0 0;height:15px}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progress div{border-radius:25px;height:13px;padding:0;margin:0;overflow:hidden}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progressbar{border:1px solid gray;background-color:#92a6b3;background-image:-webkit-gradient(linear, left top, left bottom, from(#92a6b3), color-stop(11%, #90aab8), color-stop(22%, #96b1bf), color-stop(33%, #9eb4c1), color-stop(44%, #a7bac7), to(#c1d5dc));background-image:-webkit-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:-o-linear-gradient(top, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%);background-image:linear-gradient(to bottom, #92a6b3 0%, #90aab8 11%, #96b1bf 22%, #9eb4c1 33%, #a7bac7 44%, #c1d5dc 100%)}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-progressbarvalue{border:0;width:0%;background:#60b3dd url(../images/progressbar_blue.gif) repeat-x left center}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start{position:absolute;top:10px;right:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button{display:block;overflow:hidden;text-indent:-9999px;padding:0;margin:0;border:0;width:16px;height:16px;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;position:relative}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button span,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button span{position:absolute;left:0;top:0;margin:0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-cancel button span.ui-button-text,.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start button span.ui-button-text{display:none}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-start{right:20px}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform{height:0;overflow:hidden;clear:both}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{width:100%;height:22px;margin:15px 0 0;background:url(../admin/client/dist/images/spinner.gif) no-repeat 50% 0}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading iframe{padding-top:0;margin-top:22px;border:none}.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform iframe{margin-top:8px;padding-top:8px;border-top:1px solid #D2D5D8;width:100%}.ss-uploadfield .ss-uploadfield-addfile.borderTop{border-top:1px solid #b3b3b3}.ss-upload .clear{clear:both}.ss-upload .ss-uploadfield-fromcomputer input{position:absolute;top:0;margin:0;filter:alpha(opacity=0);-webkit-transform:translate(-200%, 0);-ms-transform:translate(-200%, 0);-o-transform:translate(-200%, 0);transform:translate(-200%, 0);direction:ltr;cursor:pointer;left:0;width:100%;height:100%}.ss-upload .loader{height:94px;background:transparent url(../admin/client/dist/images/spinner.gif) no-repeat 50% 50%}@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){.ss-uploadfield .ss-uploadfield-files .ss-uploadfield-item-editform.loading{background-image:url(../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}.ss-upload .loader{background-image:url(../admin/client/dist/images/spinner@2x.gif);-webkit-background-size:43px 43px;background-size:43px 43px}} - -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxlZ2FjeS9VcGxvYWRGaWVsZC5zY3NzIiwiLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvX2RlZmF1bHQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxxRUFHRSxpQkFBbUIsQ0FDbkIsdUJBTUEsVUFBWSxDQUhkLDZCQU9FLGFBQWUsQ0FQakIsOEJBYUUsZ0JBQ0EsZ0JBQ0EsV0FDQSxjQUNBLFdBQ0EsVUFDQSxnQkFDQSx5QkFDQSxrQkFDQSx3SkFBQSxBQUFpQywrRUFBakMsQUFBaUMsMEVBQWpDLEFBQWlDLHNFQUFBLENBdEJuQyxxQ0F5QkUsU0FDQSxhQUNBLGFBQWUsQ0EzQmpCLGtFQThCRyxZQUNBLGlCQUNBLFdBQ0Esa0JBQ0EsaUJBQ0EsV0FDQSxnQkFDRyxrQkFBb0IsQ0FyQzFCLHVFQXVDUSxZQUNBLFdBQ0EsbUJBQ0EscUJBQXVCLENBMUMvQiwwRkE4Q0ksd0NBQUEsQUFDQSxnQ0FBQSx1QkFDQSxtQkFDQSxrQkFDQSxpQkFBbUIsQ0FsRHZCLGlHQXFESyxlQUFpQixDQXJEdEIsc0VBeURRLGNBQ0EsY0FDSix5S0FBMEssQ0EzRDlLLHNGQThEVSxzQkFBd0IsQ0E5RGxDLCtEQW1FRyxnQkFBa0IsQ0FuRXJCLHlGQXNFSSxjQUNBLGlCQUNBLFlBQ0EsU0FDQSxlQUFpQixDQTFFckIsK0ZBNEVLLGdCQUNBLGlCQ3pFSixnQkFDQSxtQkFDQSx1QkFDQSwwQkR3RUksZUFDQSxVQUFXLENBaEZoQiwrRkFtRkssY0FDQSxrQkFDQSxlQUNBLFVBQVcsQ0F0RmhCLHFIQXlGSyxZQUNBLGtCQUNBLGlCQUNBLGFBQWUsQ0E1RnBCLHlJQStGTSxVQUNBLGlCQUNBLFdBQVksQ0FqR2xCLDJJQXFHTSxhQUFhLENBckduQiwySUF5R00sYUUxQzZCLENGL0RuQyxpRkFtSEksV0FDQSxZQUNBLGlCQUFtQixDQXJIdkIsOEVBeUhJLGFBQWUsQ0F6SG5CLHdHQTRISyxXQUNBLFVBQ0EsV0FBYSxDQTlIbEIsOEdBa0lNLFdBQ0EsV0FDQSxpQkFBbUIsQ0FwSXpCLG9JQXdJTSxXQUNBLFdBQ0EsVUFDQSxlQUFpQixDQTNJdkIsMkdBZ0pLLFlBQ0EsU0FDQSxhQUNBLFFBQVUsQ0FuSmYsdUlBc0pNLGtCQUNBLFFBQVUsQ0F2SmhCLHNDQStKRSxTQUNBLFVBQ0EsY0FDQSxpQkFBbUIsQ0FsS3JCLHFJQXNLRyxTQUNBLGdDQUNBLGdCQUNBLGFFMUhpQixDRi9DcEIsMkpBNEtJLGVBQWlCLENBNUtyQixtRUFnTEcsZ0JBQ0EsZ0JBQ0Esb0JBQ0EsaUJBQW1CLENBbkx0QixvRUFzTEcsa0JBQ0EsT0FDQSxXQUNBLFdBQ0EsZ0JBQ0EsV0FBYSxDQTNMaEIsd0VBOExJLG1CQUNBLFlBQ0EsVUFDQSxTQUNBLGVBQWlCLENBbE1yQix1RUFzTUcsc0JBQ0EseUJBQ0EscU1BQUEsQUFBaUMsNEhBQWpDLEFBQWlDLHVIQUFqQyxBQUFpQyx5SEFBQSxDQXhNcEMsNEVBMk1HLFNBQ0EsU0FDQSwyRUFBNEUsQ0E3TS9FLG1JQWlORyxrQkFDQSxTQUNBLE9BQVMsQ0FuTlosaUpBc05JLGNBQ0EsZ0JBQ0Esb0JBQ0EsVUFDQSxTQUNBLFNBQ0EsV0FDQSxZQUNBLGVBQ0Esd0JBQUEsQUFDQSxnQkFBQSxpQkFBbUIsQ0FoT3ZCLDJKQW9PSyxrQkFDQSxPQUNBLE1BQ0EsUUFBVSxDQXZPZix5TEEwT00sWUFBYyxDQTFPcEIsaUVBZ1BHLFVBQVksQ0FoUGYsb0VBdVBHLFNBQ0EsZ0JBQ0EsVUFBWSxDQXpQZiw0RUE0UEksV0FDQSxZQUNBLGdCQUNBLHVFQUF3RSxDQS9QNUUsbUZBbVFLLGNBQWlCLGdCQUNqQixXQUFhLENBcFFsQiwyRUF5UUksZUFDQSxnQkFDQSw2QkFDQSxVQUFZLENBNVFoQixrREFrUkcsNEJBQTZCLENBQzdCLGtCQU9ELFVBQVksQ0FIZCw4Q0FRRSxrQkFDQSxNQUNBLFNBQ0Esd0JBQ0Esc0NBQUEsQUFDQSxrQ0FEQSxBQUNBLGlDQURBLEFBQ0EsOEJBQUEsY0FDQSxlQUNBLE9BQ0EsV0FDQSxXQUFhLENBakJmLG1CQXFCRSxZQUNBLHFGQUFzRixDQUN0RixtVkFlRCw0RUFJSSxpRUFDQSxrQ0FBQSxBQUEyQix5QkFBQSxDQUMzQixtQkFPRixpRUFDQSxrQ0FBQSxBQUEyQix5QkFBQSxDQUMzQixDQUFBIiwiZmlsZSI6ImxlZ2FjeS9VcGxvYWRGaWVsZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPIHdlIG5lZWQgYSBzZXBlcmF0ZWQgZmlsZSBmb3Igc3R5bGVzIHRoYXQgYXJlIHVzZWQgaW4gYm90aCBjbXMgYW5kIGZyb250IGVuZCAoc3VjaCBhcyBidXR0b25zKVxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2FkbWluL2NsaWVudC9zcmMvc3R5bGVzL2xlZ2FjeS90aGVtZXMvZGVmYXVsdC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYWRtaW4vY2xpZW50L3NyYy9zdHlsZXMvbGVnYWN5L19taXhpbnMuc2Nzc1wiO1xuXG4uc3MtdXBsb2FkZmllbGQsXG4uc3MtaW5zZXJ0LW1lZGlhIHtcblx0Ji5mb3JtLWdyb3VwOjphZnRlciB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG59XG5cbi5zcy11cGxvYWRmaWVsZCB7XG5cblx0LmNsZWFyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQubWlkZGxlQ29sdW1uIHtcblx0XHQvLyBUT0RPIC5taWRkbGVDb2x1bW4gc3R5bGluZyBzaG91bGQgcHJvYmFibHkgYmUgdGhlbWUgc3BlY2lmaWMgKGVnIGNtcyB1aSB3aWxsIGxvb2sgZGlmZmVyZW50IHRoYW4gYmxhY2tjYW5keSlcblx0XHQvLyBzbyB3ZSBzaG91bGQgbW92ZSB0aGlzIHN0eWxlIGludG8gdGhlIGNtcyBhbmQgYmxhY2sgY2FuZHkgZmlsZXNcblx0XHRtaW4td2lkdGg6IDUxMHB4O1xuXHRcdG1heC13aWR0aDogJGdyaWQteCAqIDg3OyAvLyBDYXBwZWQgd2lkdGggdG8gbGluZSB1cCB3aXRoIHRleHQgZmllbGRzXG5cdFx0d2lkdGg6MTAwJTtcblx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdGNsZWFyOmJvdGg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLW1lZGl1bS1zZXBhcmF0b3IsIDIwJSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZWZlZmVmLCAjZmZmIDEwJSwgI2ZmZiA5MCUsICNlZmVmZWYpO1xuXHR9XG5cdC5zcy11cGxvYWRmaWVsZC1pdGVtIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRvdmVyZmxvdzogYXV0bztcblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXByZXZpZXcge1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdFx0XHR3aWR0aDogODBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjJmNDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG5cdFx0XHQmLnNzLXVwbG9hZGZpZWxkLWRyb3B6b25lIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDRweCAwICRjb2xvci1tZWRpdW0tc2VwYXJhdG9yIGluc2V0O1xuXHRcdFx0XHRib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLW1lZGl1bS1zZXBhcmF0b3I7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1zZXBhcmF0b3I7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBSkVsRVFWUVlWMk84ZE9uU2Z3WWtvS2VueDRqTVo2U0RBbVQ3UUd4MEsxRWNSQnNGQUpmT0hkM0xlNzlSQUFBQUFFbEZUa1N1UW1DQykgcmVwZWF0O1xuICAgICAgICAvLyBObyBjaGVja2VyIGJhY2tncm91bmQgZm9yIGljb25zXG4gICAgICAgICZbc3JjJD1cIl8zMi5wbmdcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWluZm8ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDk1cHg7XG5cblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLW5hbWUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzcHg7XG5cdFx0XHRcdGhlaWdodDogMjZweDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHQubmFtZSB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAyNDBweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRAaW5jbHVkZSBoaWRlLXRleHQtb3ZlcmZsb3c7XG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmU7XG5cdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2l6ZSB7XG5cdFx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXRleHQsIDI1JSk7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdFx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tc3RhdHVzIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA3NSU7XG5cblx0XHRcdFx0XHQmLnVpLXN0YXRlLWVycm9yLXRleHQge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1idXR0b24tZGVzdHJ1Y3RpdmU7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdHdpZHRoOjE1MHB4OyAvL0FsbG9jYXRlcyB0aGUgc3RhdHVzIG1lc3NhZ2UgZW5vdWdoIHJvb20gdG8gYmUgdXNlZnVsLiBXaWxsIHdyYXAgaWYgaXQgaXMgbG9uZ2VyXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji51aS1zdGF0ZS13YXJuaW5nLXRleHQge1xuXHRcdFx0XHRcdFx0Y29sb3I6IGRhcmtlbigkY29sb3Itd2FybmluZywgMTAlKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnVpLXN0YXRlLXN1Y2Nlc3MtdGV4dCB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly9VcGxvYWQvVmFsaWRhdGlvbiBlcnJvclxuXHRcdCYudWktc3RhdGUtZXJyb3Jcblx0XHR7XG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcmV2aWV3IHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1pbmZvIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tbmFtZSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdFx0XHQubmFtZVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tc3RhdHVzIHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1hY3Rpb25zIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0d2lkdGg6IDUlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tY2FuY2VsIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRvcDogYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc3MtdXBsb2FkZmllbGQtZmlsZXMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLFxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLnVpLXN0YXRlLWVycm9yIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvci1tZWRpdW0tc2VwYXJhdG9yLCAyMCUpO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tYWN0aW9ucyB7XG5cdFx0XHRtaW4taGVpZ2h0OiAyOHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG1hcmdpbjogNnB4IDAgLTZweCAwO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzcyB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDQycHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1hcmdpbjogMTFweCAwIDA7XG5cdFx0XHRoZWlnaHQ6IDE1cHg7XG5cblx0XHRcdGRpdiB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdFx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3MtdXBsb2FkZmllbGQtaXRlbS1wcm9ncmVzc2JhciB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbWVkaXVtLXNlcGFyYXRvcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MmE2YjM7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjOTJhNmIzIDAlLCM5MGFhYjggMTElLCM5NmIxYmYgMjIlLCM5ZWI0YzEgMzMlLCNhN2JhYzcgNDQlLCNjMWQ1ZGMgMTAwJSk7XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXByb2dyZXNzYmFydmFsdWUge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0d2lkdGg6IDAlO1xuXHRcdFx0YmFja2dyb3VuZDogIzYwYjNkZCB1cmwoLi4vaW1hZ2VzL3Byb2dyZXNzYmFyX2JsdWUuZ2lmKSByZXBlYXQteCBsZWZ0IGNlbnRlcjtcblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tY2FuY2VsLFxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXJ0IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTBweDtcblx0XHRcdHJpZ2h0OiAwO1xuXG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogc3ByaXRlKCRzcHJpdGVzMTYsIGNyb3NzLWNpcmNsZSkgbm8tcmVwZWF0O1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHQmLnVpLWJ1dHRvbi10ZXh0IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLXN0YXJ0IHtcblx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogc3ByaXRlKCRzcHJpdGVzMTYsIG5hdmlnYXRpb24pIG5vLXJlcGVhdDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWl0ZW0tZWRpdGZvcm0ge1xuXHRcdFx0LyogZG9uJ3QgdXNlIGRpc3BsYXkgbm9uZSwgZm9yIGl0IHdpbGwgYnJlYWsgalF1ZXJ5KCdpZnJhbWUnKS5jb250ZW50cygpLmhlaWdodCgpICovXG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cblx0XHRcdCYubG9hZGluZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHRcdG1hcmdpbjogMTVweCAwIDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgMDtcblxuXHRcdFx0XHRpZnJhbWUge1xuXHRcdFx0XHRcdC8qIE9sZCBJRSBuZWVkcyB0aGlzIG9yIGl0J2xsIGdpdmUgdGhlIGlmcmFtZSBhIHdoaXRlIGJhY2tncm91bmQsIGNvdmVyaW5nIHRoZSBzcGlubmVyICovXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDIycHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmcmFtZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRncmlkLXk7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAkZ3JpZC15O1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LXNlcGFyYXRvcjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zcy11cGxvYWRmaWVsZC1hZGRmaWxlIHtcblx0XHQmLmJvcmRlclRvcCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkY29sb3ItbWVkaXVtLXNlcGFyYXRvciwgMjAlKTtcblx0XHR9XG5cdH1cbn1cblxuLnNzLXVwbG9hZCB7XG5cblx0LmNsZWFyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5zcy11cGxvYWRmaWVsZC1mcm9tY29tcHV0ZXIgaW5wdXQge1xuXHRcdC8vIHNpbmNlIHdlIGNhbid0IHJlYWxseSBzdHlsZSB0aGUgZmlsZSBpbnB1dCwgd2UgdXNlIHRoaXMgaGFjayB0byBtYWtlIGl0IGFzIGJpZyBhcyB0aGUgYnV0dG9uIGFuZCBoaWRlIGl0XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwMCUsIDApO1xuXHRcdGRpcmVjdGlvbjogbHRyO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5sb2FkZXIge1xuXHRcdGhlaWdodDogOTRweDsgLy8gQXBwcm94bWlhdGVseSBtYXRjaGVzIHRoZSBoZWlnaHQgb2YgdGhlIGZpZWxkIG9uY2UgYSBmaWxlIGlzIGF0dGFjaGVkLCBhdm9pZHMgYSAnanVtcCcgaW4gc2l6ZVxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9hZG1pbi9jbGllbnQvZGlzdC9pbWFnZXMvc3Bpbm5lci5naWYpIG5vLXJlcGVhdCA1MCUgNTAlO1xuXHR9XG59XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBcIkAyeFwiIG1lZGlhIHF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYVxuXHRvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcblx0b25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG5cdG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuXG5cdC5zcy11cGxvYWRmaWVsZCB7XG5cdFx0LnNzLXVwbG9hZGZpZWxkLWZpbGVzIHtcblx0XHRcdC5zcy11cGxvYWRmaWVsZC1pdGVtLWVkaXRmb3JtIHtcblx0XHRcdFx0Ji5sb2FkaW5nIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYWRtaW4vY2xpZW50L2Rpc3QvaW1hZ2VzL3NwaW5uZXJAMnguZ2lmKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQzcHggNDNweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zcy11cGxvYWQge1xuXHRcdC5sb2FkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2FkbWluL2NsaWVudC9kaXN0L2ltYWdlcy9zcGlubmVyQDJ4LmdpZik7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQzcHggNDNweDtcblx0XHR9XG5cdH1cblxufVxuIiwiLy8qKlxuLy8gKiBUaGlzIGZpbGUgY29udGFpbnMgZ2VuZXJpYyBtaXhpbnMgd2hpY2ggd2UgdXNlIHRocm91Z2hvdXRcbi8vICogdGhlIGFkbWluIHBhbmVscy5cbi8vICpcbi8vICogTWl4aW5zIHNob3VsZCBiZSBzdG9yZWQgaGVyZSByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIGZpbGVzXG4vLyAqIHNvIHRoYXQgd2UgY2FuIGtlZXAuXG4vLyAqL1xuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogSGlkZXMgdGhlIG92ZXJmbG93aW5nIHRleHQgZnJvbSBhIGNvbnRhaW5lclxuLy8gKlxuLy8gKiBOb3RlOiB5b3UgbXVzdCBkZWZpbmUgYSB3aWR0aCBvbiB0aGUgZWxlbWVudCB3aXRoIHRoaXNcbi8vICogb3ZlcmZsb3cuXG4vLyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gaGlkZS10ZXh0LW92ZXJmbG93IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1ub25le1xuXHQtbW96LWJveC1zaGFkb3c6IG5vbmU7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG5cbi8vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL0NsZWFyZml4IG1peGluIGNsZWFycyB0aGUgZmxvYXQgb2YgaXQncyBwYXJlbnQgZWxlbWVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovXG5AbWl4aW4gY2xlYXJmaXh7XG5cdCY6YWZ0ZXJ7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXHQqOmZpcnN0LWNoaWxkICZ7IHpvb206MTt9XG59XG5cblxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogQ2xlYXIgdGhlIHByb3BlcnRpZXMgb2Ygc3ViIGZvcm0gZmllbGRzLlxuLy8gKlxuLy8gKiBPZnRlbiBuZWVkZWQgZm9yIG5lc3RlZCBmb3JtIGZpZWxkcyBhbmRcbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjbGVhci1mb3JtLWZpZWxkLXN0eWxlcyB7XG5cdC5maWVsZCB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHQmLmxlZnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBpbmhlcml0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0Lm1pZGRsZUNvbHVtbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHRpbnB1dC50ZXh0LFxuXHR0ZXh0YXJlYSxcblx0c2VsZWN0LFxuXHQuVHJlZURyb3Bkb3duRmllbGQge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogYXV0bztcblx0fVxufVxuXG4vLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICogRG91YmxlIHRvbmUgYm9yZGVyc1xuLy8gKlxuLy8gKiBodHRwOi8vZGF2ZXJ1cGVydC5jb20vMjAxMS8wNi90d28tdG9uZS1ib3JkZXJzLXdpdGgtY3NzMy9cbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBkb3VibGVib3JkZXIoJHNpZGUsICRpbm5lckNvbG9yLCAkb3V0ZXJDb2xvcikge1xuICAgICRzaGFkb3c6IFwiMCAwIDBcIjtcbiAgICBib3JkZXItI3skc2lkZX06IDFweCBzb2xpZCAkaW5uZXJDb2xvcjtcbiAgICBAaWYgKCRzaWRlID09IFwidG9wXCIpIHsgJHNoYWRvdzogMCAtMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwicmlnaHRcIikgeyAkc2hhZG93OiAxcHggMCAwOyB9XG4gICAgQGlmICgkc2lkZSA9PSBcImJvdHRvbVwiKSB7ICRzaGFkb3c6IDAgMXB4IDA7IH1cbiAgICBAaWYgKCRzaWRlID09IFwibGVmdFwiKSB7ICRzaGFkb3c6IC0xcHggMCAwOyB9XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdyAkb3V0ZXJDb2xvcjtcbiAgICAtby1ib3gtc2hhZG93OiAkc2hhZG93ICRvdXRlckNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3cgJG91dGVyQ29sb3I7XG59XG5cblxuLypNaXhpbiB1c2VkIHRvIGdlbmVyYXRlIHNsaWdodGx5IHNtYWxsZXIgdGV4dCBhbmQgZm9ybXNcblVzZWQgaW4gc2lkZSBwYW5lbHMgYW5kIGFjdGlvbiB0YWJzXG4qL1xuQG1peGluIHRpZ2h0U3BhY2luZ3tcblx0aDMsaDQsaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkZ3JpZC15ICogMjtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXJvb3QgLTE7XG5cdFx0bWFyZ2luOiA1cHggMDtcblx0fVxuXG5cdC51aS13aWRnZXQtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdC5maWVsZCB7XG5cdFx0Lypcblx0XHQgKiBGaWVsZHMgYXJlIG1vcmUgY29tcHJlc3NlZCBpbiBzb21lIGFyZWFzIGNvbXBhcmVkIHRvIHRoZVxuXHRcdCAqIG1haW4gY29udGVudCBlZGl0aW5nIHdpbmRvdyBzbyB0aGUgYmVsb3cgYWx0ZXJzIHRoZSBpbnRlcm5hbFxuXHRcdCAqIHNwYWNpbmcgb2YgdGhlIGZpZWxkcyBzbyB3ZSBjYW4gbW92ZSB0aGF0IHNwYWNpbmcgdG8gYmV0d2VlblxuXHRcdCAqIHRoZSBmb3JtIGZpZWxkcyByYXRoZXIgdGhhbiBwYWRkaW5nXG5cdFx0ICovXG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0bGFiZWwge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdHBhZGRpbmc6IDAgJGdyaWQteCA0cHggMDtcblx0XHRcdCYuZXh0cmEtZGV0YWlsc3tcblx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tdG9wOjEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRjb2xvcjogbGlnaHRlbigkY29sb3ItdGV4dCwgMzUlKTtcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0Om5vcm1hbDtcblx0XHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdCYuZmlsbHtcblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnPyc7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6MTJweDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6M3B4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDozcHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY29sb3ItdGV4dCwgNDUlKTtcblx0XHRcdFx0XHRcdHdpZHRoOjIxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6MTVweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWlkZGxlQ29sdW1uIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRpbnB1dC50ZXh0LFxuXHRcdHNlbGVjdCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0fVxuXG5cdFx0Ji5jaGVja2JveCB7XG5cdFx0XHRwYWRkaW5nOiAwIDhweCAwO1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdG1hcmdpbjogMnB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZvcm1fX2ZpZWxkZ3JvdXAge1xuXHRcdC5mb3JtX19maWVsZGdyb3VwLWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0LmZpZWxkIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFJlc3R5bGUgZm9yIHNtYWxsZXIgYXJlYSovXG5cdC5jbXMtY29udGVudC1maWVsZHN7XG5cdFx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0fVxuXHQuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGV7XG5cdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdC5jaG9zZW4tc2luZ2xle1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNXB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHR9XG5cdH1cblx0LmNtcy1jb250ZW50LWFjdGlvbnMsIC5jbXMtcHJldmlldy1jb250cm9sc3tcblx0XHRwYWRkaW5nOjA7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQuY21zLWVkaXQtZm9ybXtcblx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC5Db21wb3NpdGVGaWVsZHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0fVxuXHQucGFyZW50LW1vZGV7XG5cdFx0cGFkZGluZy10b3A6MDtcblx0fVxuXHQudHJlZWRyb3Bkb3duLCAuU2VsZWN0aW9uR3JvdXAgbGkuc2VsZWN0ZWQgZGl2LmZpZWxke1xuXHRcdG1hcmdpbjoxMHB4IDAgMCAwO1xuXHRcdC8vQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwICNmZmYsIDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpO1xuXHRcdC50cmVlZHJvcGRvd25maWVsZC10aXRsZXtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0ei1pbmRleDoyO1xuXHRcdFx0cGFkZGluZzo1cHg7XG5cdFx0fVxuXHRcdC50cmVlZHJvcGRvd25maWVsZC1wYW5lbHtcblx0XHRcdG1hcmdpbi10b3A6MTFweDtcblx0XHR9XG5cdFx0LnRyZWVkcm9wZG93bmZpZWxkLXRvZ2dsZS1wYW5lbC1saW5re1xuXHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6bm9uZTtcblx0XHRcdHBhZGRpbmc6NXB4IDNweDtcblx0XHRcdC51aS1pY29ue1xuXHRcdFx0XHRmbG9hdDpyaWdodDtcblx0XHRcdFx0b3BhY2l0eTowLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jbXMtYWRkLWZvcm0gdWwuU2VsZWN0aW9uR3JvdXB7XG5cdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdG92ZXJmbG93OnZpc2libGU7XG5cdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xuXHR9XG59XG5cbi8vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gKiBDb21wYXNzIHJlcGxhY2VtZW50IG1peGlucy5cbi8vICpcbi8vICogTWl4aW5zIHRoYXQgd2VyZSBidWlsdC1pbiB3aXRoIGNvbXBhc3Ncbi8vICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuXHQmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRlZmF1bHQgdGhlbWUgZGVmaW5pdGlvbnMgZm9yIHRoZSBhZG1pbiBpbnRlcmZhY2UuXG4gKiBQbGVhc2UgcHV0IG1vc3RseSBTQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zIGluIGhlcmUsXG4gKiBhbmQgbGVhdmUgdGhlIGFjdHVhbCBzdHlsaW5nIHRvIF9zdHlsZS5zY3NzIGFuZCBhdXhpbGxpYXJ5IGZpbGVzLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi92YXJpYWJsZXMuc2Nzc1wiO1xuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbG91cnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGNvbG9yLWJhc2U6ICNiMGJlYzcgIWRlZmF1bHQ7XG4kY29sb3Itd2lkZ2V0LWJnOiBsaWdodGVuKCRjb2xvci1iYXNlLCAyMCUpICFkZWZhdWx0O1xuXG4vLyBNZW51IHRoZW1lIGNvbG91cnNcbiRjb2xvci10aGVtZS1iYXNlOiBcdCNkOGU0ZWIgIWRlZmF1bHQ7XG5cbiRjb2xvci10aGVtZS1iZzogXHRsaWdodGVuKCRjb2xvci10aGVtZS1iYXNlLCA1JSk7XG4kY29sb3ItdGhlbWUtaWNvbnM6IGRhcmtlbigkY29sb3ItdGhlbWUtYmFzZSwgMjYlKTtcbiRjb2xvci10aGVtZS1hY3RpdmU6ICRjb2xvci10aGVtZS1iYXNlO1xuXG4vLyBDTVMgNCBtZW51XG4kYmFzZS1tZW51OiAjZDhlNGViO1xuJGJhc2UtbWVudS1iZzogbGlnaHRlbigkYmFzZS1tZW51LDUlKTtcbiRiYXNlLW1lbnUtaWNvbjogZGFya2VuKCRiYXNlLW1lbnUsIDI2JSk7XG5cbi8vb2ZmaWNhbCBzaWx2ZXJzdHJpcGUgYnJhbmQgY29sb3JcbiRjb2xvci1icmFuZC1iZzogIzAwNWE5MyAhZGVmYXVsdDtcbiRjb2xvci1icmFuZDogIzQzYzdmNCAhZGVmYXVsdDtcblxuLyogS2VlcCBhcyBzb2xpZCBjb2xvdXJzIHRyYW5zcGFyZW50IGJvcmRlcnMgd29udCB3b3JrIGluIGllICovXG4kY29sb3ItZGFya2VyLWJnOiAjZjBmMmY0ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstYmc6ICMxNDIxMzYgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1zZXBhcmF0b3I6ICMxOTQzNWMgIWRlZmF1bHQ7XG4kY29sb3ItbWVkaXVtLXNlcGFyYXRvcjogIzgwODA4MCAhZGVmYXVsdDtcbiRjb2xvci1zZXBhcmF0b3I6ICNDMUM3Q0MgIWRlZmF1bHQ7IC8vIFZlcnRpY2FsIGRpdmlkZXJzXG4kY29sb3ItbGlnaHQtc2VwYXJhdG9yOiAjRDJENUQ4ICFkZWZhdWx0OyAvLyBIb3Jpb250YWwgZGl2aWRlcnNcblxuJGNvbG9yLXRhYjogI2Q5ZDlkOSAhZGVmYXVsdDtcbiRjb2xvci1kYXJrLWdyZXk6ICM3QjhDOTEgIWRlZmF1bHQ7XG5cbi8qIE9ubHkgZm9yIHVzZSBhcyBzaGFkb3dzIGFzIHRoZXkgd29udCB3b3JrIGluIG9sZGVyIGJyb3dzZXJzICovXG4kY29sb3Itc2hhZG93LWxpZ2h0OiByZ2JhKDIwMSwgMjA1LCAyMDYsIDAuOCkgIWRlZmF1bHQ7XG4kY29sb3Itc2hhZG93LWRhcms6IHJnYmEoMTA3LCAxMjAsIDEyMywgMC41KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctYmxhY2s6IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDtcbiRjb2xvci1zaGFkb3ctYmxhY2tlcjogcmdiYSgwLCAwLCAwLCAwLjkpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc2hpbmU6IHJnYmEoMjQ4LCAyNDgsIDI0OCwgMC45KTtcbiRib3gtc2hhZG93LXNoaW5lLW1pbmltYWw6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC44KTtcblxuJGNvbG9yLWhpZ2hsaWdodDogI0ZGRkY2NiAhZGVmYXVsdDtcbiRjb2xvci1oaWdobGlnaHQtb3BhY2l0eTogcmdiYSgyNTUsIDI1NSwgMTAyLCAwLjMpICFkZWZhdWx0O1xuXG4kY29sb3ItbWVudS1idXR0b246ICMzMzhEQzEgIWRlZmF1bHQ7XG4kY29sb3ItbWVudS1iYWNrZ3JvdW5kOiAjYzZkN2RmICFkZWZhdWx0O1xuJGNvbG9yLW1lbnUtYm9yZGVyOiAjOGM5OWExICFkZWZhdWx0O1xuJGNvbG9yLXBhbmVsLWJhY2tncm91bmQ6ICNjNmQ3ZGYgIWRlZmF1bHQ7XG5cbiRjb2xvci10ZXh0LWRlZmF1bHQ6ICM0ZjU4NjEgIWRlZmF1bHQ7IC8qIG5ldyBpbiBTaWx2ZXJTdHJpcGUgNCAqL1xuJGNvbG9yLXRleHQ6ICM2NjcyN2QgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1saWdodDogd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1saWdodC1saW5rOiB3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWRpc2FibGVkOiAjYWFhICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtZGFyazogIzFmMWYxZiAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWRhcmstbGluazogIzNFQkFFMCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWJsdWUtbGluazogIzAwNzFjNCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LXNoYWRvdzogd2hpdGUgIWRlZmF1bHQ7XG5cblxuJGNvbG9yLWJ1dHRvbi1nZW5lcmljOiAjZTZlNmU2ICFkZWZhdWx0O1xuJGNvbG9yLWJ1dHRvbi1nZW5lcmljLWJvcmRlcjogI2QwZDNkNSAhZGVmYXVsdDtcblxuJGNvbG9yLWJ1dHRvbi1oaWdobGlnaHQ6ICNlNmU2ZTYgIWRlZmF1bHQ7XG4kY29sb3ItYnV0dG9uLWhpZ2hsaWdodC1ib3JkZXI6ICM3MDgyODQgIWRlZmF1bHQ7XG5cbiRjb2xvci1idXR0b24tY29uc3RydWN0aXZlOiAjMUY5NDMzICFkZWZhdWx0O1xuJGNvbG9yLWJ1dHRvbi1jb25zdHJ1Y3RpdmUtYm9yZGVyOiAjMUY5NDMzICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWRlc3RydWN0aXZlOiAjZjAwICFkZWZhdWx0O1xuXG4kY29sb3ItYnV0dG9uLWRpc2FibGVkOiAjZWVlZGVkICFkZWZhdWx0O1xuXG4kY29sb3Itbm90aWNlOiAjOTNDREU4ICFkZWZhdWx0O1x0XHQvLyBibHVlXG4kY29sb3Itd2FybmluZzogI0U5RDEwNCAhZGVmYXVsdDtcdFx0Ly8geWVsbG93XG4kY29sb3ItZXJyb3I6ICNlNjgyODggIWRlZmF1bHQ7XHRcdFx0Ly8gcmVkXG4kY29sb3ItZ29vZDogIzcyYzM0YiAhZGVmYXVsdDtcdFx0XHQvLyBncmVlblxuLyokY29sb3Itb3B0aW9uYWw6ICNhMWQyZWIgIWRlZmF1bHQ7ICovXHQvLyBvcmFuZ2VcblxuJGNvbG9yLWNtcy1iYXRjaGFjdGlvbnMtbWVudS1iYWNrZ3JvdW5kOiAjZjVmNWY1ICFkZWZhdWx0O1xuJGNvbG9yLWNtcy1iYXRjaGFjdGlvbnMtbWVudS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAjZmZmY2RjICFkZWZhdWx0O1xuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRleHR1cmVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJHRhYi1wYW5lbC10ZXh0dXJlLWNvbG9yOiAjZjZmN2Y4ICFkZWZhdWx0O1xuJHRhYi1wYW5lbC10ZXh0dXJlLWJhY2tncm91bmQ6ICR0YWItcGFuZWwtdGV4dHVyZS1jb2xvciB1cmwoLi4vaW1hZ2VzL3RleHR1cmVzL2JnX2Ntc19tYWluX2NvbnRlbnQucG5nKSByZXBlYXQgdG9wIGxlZnQgIWRlZmF1bHQ7XG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBHcmlkIFVuaXRzIChweClcbiAqXG4gKiBXZSBoYXZlIGEgdmVydGljYWwgcmh5dGhtIHRoYXQgdGhlIGdyaWQgaXMgYmFzZWQgb2ZmXG4gKiBib3RoIHggKD1ob3Jpem9udGFsKSBhbmQgeSAoPXZlcnRpY2FsKS4gQWxsIGludGVybmFsIHBhZGRpbmcgYW5kXG4gKiBtYXJnaW5zIGFyZSBzY2FsZWQgdG8gdGhpcyBhbmQgYWNjb3VudGluZyBmb3IgcGFyYWdyYXBoc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kZ3JpZC15OiA4cHggIWRlZmF1bHQ7XG4kZ3JpZC14OiA4cHggIWRlZmF1bHQ7XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQXBwbGljYXRpb24gTG9nbyAoQ01TIExvZ28pIE11c3QgYmUgMjRweCB4IDI0cHhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGFwcGxpY2F0aW9uLWxvZ28tc21hbGw6IHVybChcIi4uL2ltYWdlcy9sb2dvX3NtYWxsLnBuZ1wiKSAhZGVmYXVsdDtcbiRhcHBsaWNhdGlvbi1sb2dvLXNtYWxsLTJ4OiB1cmwoXCIuLi9pbWFnZXMvbG9nb19zbWFsbEAyeC5wbmdcIikgIWRlZmF1bHQ7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */ diff --git a/client/dist/styles/debug.css b/client/dist/styles/debug.css deleted file mode 100644 index 3ffdfb217..000000000 --- a/client/dist/styles/debug.css +++ /dev/null @@ -1 +0,0 @@ -body{background:#eee!important;margin:0;overflow-x:hidden;padding:0;font-family:Helvetica,Arial,sans-serif}.info{padding:18px;background-color:#003050;position:relative;line-height:24px;background-image:-webkit-gradient(linear,left top,left bottom,from(#002137),color-stop(10%,#003050),color-stop(90%,#003050),color-stop(90%,#002137));background-image:-webkit-linear-gradient(#002137,#003050 10%,#003050 90%,#002137);background-image:linear-gradient(#002137,#003050 10%,#003050 90%,#002137);z-index:9999}.info,.info h1{margin:0 0 6px;color:#fff}.info h1{padding:0 32px 0 0;font-size:24px;text-shadow:0 1px #002137;line-height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmdJREFUeNpiYCASxJ17p8BAAmAh0sD5QAyiFYk1mJGAoQFQQwWgQoKLjIQ+kG0w0EABqIEByOKLjYWZ/////48Yg5lwuPI+uqF/f/88TqyhKGEMdWU/ECegK/r358/Va8tnx5AceVBD9wOxAbqCX18+zbm+am7HpaktD9AcEQCNUBDYAAz7CxhhDFTYAKTqkSX+//37+N3tq4Xboh33ALmfYcEAVJsA9ZkAmhtABifCLIAZ/B5Z4Z9vX1ddXjK15srMzkdAA38iudQB6jNcAJRiFEEpBxbGAsiRtNxWLh3I/ITkSpC3QUGRTyBoYfGUiJFBmJiY/wIN/IAl2S1AdgAoQr88fdjHysMjwyks3ohkBCioEsFBEXv2zUdGRiY+JEmQIQ+hLoQZdgBo2BMmFpaYnx/e9a1yVu0AhT0QM0cefjSPhYs7DEm/IAs0TFewcvOmodmKnuSevLp0uouVi3sDMEJ3AX31GZ60uLjV0DLSJ7DB9/dsalHxDrcGukYbV+B9enJ/xu5Un2tA5i1YhCKVIwbIqQkUN+Ccd7Ip7+nlRZP9QakB3UCQwrc3LoVsDrY4BdTwF8nQAiB1HogdkNX//v5tOUpZwQgMZCDFZ906S51fQVUGmjk+7Un3vwRKRkgGYi1HYMkUmKJSQMGEUQgBLWBGyur/gIp+I6VjA2g6Rs8cDNAIbYalKIzkBvIuKDnjCGqMHAdKdi8vnCgE+uwESoQykAYc0MuRlfaKVdCg+o232MRT6AugRyjQ0BKgga/RDSUJgCI39vTrRxGHHszWzahQBfLZGagFgIaJAzE/NAXhBQABBgBJL0aZBy/F5wAAAABJRU5ErkJggg==) no-repeat right 3px}.info h3{color:#7da4be;font-size:16px;line-height:18px;font-weight:400}.info p{margin:0;font-size:14px;color:#fff}.info a{color:#fff;font-weight:700;text-decoration:none}.info a:active,.info a:hover{color:#fff;text-decoration:underline}.header{margin:0;border-bottom:6px solid #ccdef3;height:23px;background-color:#666673;padding:4px 0 2px 6px}.build,.options,.trace{padding:6px 12px;background:#eee!important;position:relative;z-index:9999}.build li,.options li,.trace li{font-size:14px;margin:6px 0}a{color:#666}a:hover{color:#222}a:active{color:#111}p{margin-bottom:6px}pre{margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,.08);color:#333;padding:11px;overflow:auto;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}pre span{color:#999}pre .error{color:red}h2{margin:0 0 12px}h3{margin:0 0 6px;color:#333;font-size:18px;line-height:24px}ul{margin:0 0 18px;padding:0 0 0 18px}fieldset{border:1px solid #b2b2b2;margin-bottom:18px;padding:17px}.pass{color:#060;background:#e2f9e3;border:1px solid #8dd38d;border-radius:4px}.fail,.pass{margin-top:18px;padding:2px 20px 2px 40px}.fail{color:#c80700;background:#ffe9e9;border:1px solid #c80700;border-radius:4px} \ No newline at end of file diff --git a/client/dist/styles/images/progressbar_blue.gif b/client/dist/styles/images/progressbar_blue.gif deleted file mode 100644 index 5ccc3fee357d2a49f6b229763c654c6bcbcded63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 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 WedXEYSD(J}fP4yo$fJ+%zw;j}6WAF5 diff --git a/client/src/images/network-save.gif b/client/src/images/network-save.gif deleted file mode 100644 index 1560b646cff2cc4fd292d7fdb6f7adc7eb484b4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 zcmaLXeN0p99l-I&!tEQiv~W&~lv_&SmI|fRw)eE0zR=T_(^9a!crF*Q_O?JP*50BW za+x#6J*VfyIVLB@`G?mSW{fe8%LJS?j`_k2*Er)fUT2(h#u;OrF~)0*amLK)uKSPd z_ve%6mwfVklPAzh+MD7sAOkM}c>DG(0N}=r8~gU{i^XCdkH_!#XEK??hY#PmbLYsB zBQ-TOdcEFcGGQ3zcDqxl)R{A9Dk>_n+3b@iPo6$~y0EaYd-v|n&dz8wdiLzuYuB#f zIId7A#>dBxA3q+6M7D3=e*gY`mSv?<>Cn*7!Gi~r$>gb1r$~|%i^V5SoY=pAe_2@> zpU;2v=+TQ8FUH2ka=F~gmoFiN$BrF){rdHrH*e0LKY#i1-Mo2odV2cVvuD?@ zUw`o6!QH!euU@^nxVSh!KY#Duy<4|#J%9fE_U+r-wrx9k^5pF7Y2!hz{_K}ehqtPf73O8@wtkGyFib|)`J9qAU_vSxN)!U+Q3$?~abhem{rh;Yf zPOJW1?#m|PBZ)!HR~tu$H1Sk?EIk|_G;Yi!he6f93Ps{~w+!$1-$w+3U+n~t&M}Ot zdSwI42rFvpj1a?ZjJW9IPwE??&E&#p9=}A*VhFMy6cm+?16Q*P7E0tZ7Ed$$XgM+i z94(M9MQ3b;8w!dQGl;PjLVE4Y?<_P{QXeB^>`CbQFBvD_OT*#R6y9XGLopA~j#=m{7->pd6t>(Yi=3 zP}uo3V`jwsY7W}yU|ZK5z%f|Z?m9z~uy*yuIRu5uFfoVs{~5H(gmaYV0%%rtm$QvL z{~uwK+1e_?@y3>z>U)~d^%(jpL%ul0QBAF>DcN4YPSb$5Y$@O`J^)4H(vAG6fyV-$ zpp9QFT`ozb8GCfYP#22&x;IILw01D;WQQ6$Rd7I-5KT1ikgn+a(|F~;N5`@Dq1(|Cs^MXKy8P08>2 ze(zaIH}OH&tXIpzRp|f=nv{at6&u#2!XbvJ4yIM4%e%g~!%0&*vz<+T(e8jvJ$eoV zB?T~K5as2YK8NWfo<~YPgTv`>IqKsqR5<(dp)cEDK=00n>#89cvunA{%L%$M)}%E- z+Y7LTL0WhsE#TMm`-=Xj>PZ!`)~ z(K&8wwg6)N&3|FkYgh7U3x!zd`r4lqi5ZME;n0{F5#}>?i)rEJH#GeJiA|m+eZ8DO zSU?f>fl#Gzi`dPes#t)+aBX={4?$xdcO&byCid?1(awZqf1}Z}+v{|OO zt|T#wanNsY&NCKu;zG`1RYSh)xbINpDJ|DFE; D?d&fs diff --git a/client/src/images/progressbar_blue.gif b/client/src/images/progressbar_blue.gif deleted file mode 100644 index 5ccc3fee357d2a49f6b229763c654c6bcbcded63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10134 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 X` tags). failing silently, so check your `Requirements` are pointing to files that exist. ``` -framework/javascript => framework/client/dist/ -framework/javascript/lang => framework/client/lang/ -framework/images => framework/client/dist/images/ -framework/css => framework/client/dist/css/ -framework/scss => framework/client/src/styles/ +framework/javascript => admin/client/dist/ +framework/javascript/lang => admin/client/lang/ +framework/images => admin/client/dist/images/ +framework/css => admin/client/dist/css/ +framework/scss => admin/client/src/styles/ admin/javascript/ => admin/client/src/ admin/javascript/src/ => admin/client/src/legacy/ (mostly) admin/javascript/lang/ => admin/client/lang/ diff --git a/webpack.config.js b/webpack.config.js index 9df89e1f6..41734ef60 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -15,13 +15,9 @@ const PATHS = { ADMIN_SPRITES_SRC: './admin/client/src/sprites', ADMIN_SPRITES_DIST: './admin/client/dist/images/sprites', FRAMEWORK: '.', - FRAMEWORK_CSS_SRC: './client/src/styles', - FRAMEWORK_CSS_DIST: './client/dist/styles', FRAMEWORK_THIRDPARTY: './thirdparty', INSTALL_CSS_SRC: './dev/install/client/src/styles', INSTALL_CSS_DIST: './dev/install/client/dist/styles', - FRAMEWORK_JS_SRC: './client/src', - FRAMEWORK_JS_DIST: './client/dist/js', }; // Used for autoprefixing css properties (same as Bootstrap Aplha.2 defaults) @@ -48,10 +44,11 @@ const config = [ leaktools: `${PATHS.ADMIN_JS_SRC}/legacy/leaktools.js`, MemberImportForm: `${PATHS.ADMIN_JS_SRC}/legacy/MemberImportForm.js`, CMSSecurity: `${PATHS.ADMIN_JS_SRC}/legacy/CMSSecurity.js`, - UploadField_select: `${PATHS.FRAMEWORK_JS_SRC}/legacy/UploadField_select.js`, + UploadField_select: `${PATHS.ADMIN_JS_SRC}/legacy/UploadField_select.js`, + TinyMCE_SSPlugin: `${PATHS.ADMIN_JS_SRC}/legacy/TinyMCE_SSPlugin.js`, }, resolve: { - modulesDirectories: [PATHS.ADMIN_JS_SRC, PATHS.FRAMEWORK_JS_SRC, PATHS.MODULES], + modulesDirectories: [PATHS.ADMIN_JS_SRC, PATHS.MODULES], }, output: { path: 'admin/client/dist', @@ -168,16 +165,16 @@ const config = [ { name: 'css', entry: { - 'admin/client/dist/styles/editor': + [`${PATHS.ADMIN_CSS_DIST}/editor`]: `${PATHS.ADMIN_CSS_SRC}/editor.scss`, - 'client/dist/styles/GridField_print': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/GridField_print.scss`, - 'client/dist/styles/debug': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/debug.scss`, - 'client/dist/styles/AssetUploadField': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/AssetUploadField.scss`, - 'client/dist/styles/UploadField': - `${PATHS.FRAMEWORK_CSS_SRC}/legacy/UploadField.scss`, + [`${PATHS.ADMIN_CSS_DIST}/GridField_print`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/GridField_print.scss`, + [`${PATHS.ADMIN_CSS_DIST}/debug`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/debug.scss`, + [`${PATHS.ADMIN_CSS_DIST}/AssetUploadField`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/AssetUploadField.scss`, + [`${PATHS.ADMIN_CSS_DIST}/UploadField`]: + `${PATHS.ADMIN_CSS_SRC}/legacy/UploadField.scss`, [`${PATHS.INSTALL_CSS_DIST}/install`]: `${PATHS.INSTALL_CSS_SRC}/install.scss`, }, @@ -198,7 +195,7 @@ const config = [ }, { test: /\.(png|gif|jpg|svg)$/, - loader: 'url?limit=10000&name=client/dist/styles/images/[name].[ext]', + loader: `url?limit=10000&name=${PATHS.ADMIN_CSS_DIST}/images/[name].[ext]`, }, { test: /\.(woff|eot|ttf)$/,